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 作为最后一个顶点。这只是表示路径内偏移量的另一种方式,提供的偏移量在内部会与路径的长度相乘。
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
隐式指定如何计算姿势(向前、向上和侧向)。