Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PathFollow3D
Path3D 的点采样器。
描述
这个节点接受它的父节点 Path3D 并返回其中一个点的坐标,需要给定到第一个顶点的距离。
在不编码移动图案的情况下,它可以使其他节点遵循一条路径。为此,节点必须是该节点的子节点。在该节点中设置 progress 后,后代节点会随之移动。
属性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法
correct_posture(transform: Transform3D, rotation_mode: RotationMode) static |
枚举
enum RotationMode: 🔗
RotationMode ROTATION_NONE = 0
禁止该 PathFollow3D 旋转。
RotationMode ROTATION_Y = 1
允许该 PathFollow3D 仅在 Y 轴上旋转。
RotationMode ROTATION_XY = 2
允许该 PathFollow3D 同时在 X 和 Y 轴上旋转。
RotationMode ROTATION_XYZ = 3
允许该 PathFollow3D 在任意轴上旋转。
RotationMode ROTATION_ORIENTED = 4
使用 Curve3D 中的向上向量信息来强制定向。该旋转模式需要将 Path3D 的 Curve3D.up_vector_enabled 属性设置为 true
。
属性说明
如果为 true
,则两个缓存点之间的位置将被三次插值,否则将被线性插值。
沿着 Path3D 的 Curve3D 的点在使用前已被预先计算,以便更快地计算。然后在两个相邻缓存点之间,插值计算请求的偏移处的点。如果曲线急转弯,这可能会出现问题,因为缓存的点可能没有足够紧密地跟随曲线。
这个问题有两个答案:要么增加缓存点的数量,并增加内存消耗;要么在两个点之间进行三次插值,代价是(稍微)降低计算速度。
节点沿曲线的偏移量。
如果为 true
,路径长度以外的任何偏移都将环绕,而不是在结束时停止。对于循环路径使用它。
到第一个顶点的距离,单位为沿路径经过的 3D 单位数。改变这个值会将这个节点的位置设置为路径上的某个点。
到第一个顶点的距离,将 0.0 作为第一个顶点,1.0 作为最后一个顶点。这只是表示路径内偏移量的另一种方式,提供的偏移量在内部会与路径的长度相乘。
PathFollow3D 为场景树中 Path3D 的子节点时才能够设置和获取,该 Path3D 中还需要存在长度非零的 Curve3D。否则设置该字段会输出错误,获取该字段则会返回 0.0
。
RotationMode rotation_mode = 3
🔗
void set_rotation_mode(value: RotationMode)
RotationMode get_rotation_mode()
允许或禁止在一个或多个轴上旋转,这取决于使用的 RotationMode 常量。
如果为 true
,则 Curve3D 的倾斜属性生效。
bool use_model_front = false
🔗
如果为 true
,则沿路径移动的节点会将 +Z 轴作为前方向进行朝向。另见 Vector3.FORWARD 和 Vector3.MODEL_FRONT。
节点垂直于曲线的偏移量。
方法说明
Transform3D correct_posture(transform: Transform3D, rotation_mode: RotationMode) static 🔗
校正 transform
。rotation_mode
隐式指定如何计算姿势(向前、向上和侧向)。