RouteMove¶
Route的点采样器。
描述¶
该节点采用其父节点Route,并返回其中一个点的坐标,给定与第一个顶点的距离。
这对于让其他节点遵循一条路径很有用,而无需编码移动模式。为此,节点必须是该节点的子节点。然后,在该节点中设置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中的向上向量信息来强制定向。此旋转模式需要将Route的Curve3D.up_vector_enabled属性设置为true。
属性说明¶
如果true,则两个缓存点之间的位置以立方体方式插值,否则以线性方式插值。
Route的Curve3D沿线的点在使用前预先计算,以便更快地计算。然后计算请求偏移处的点,在两个相邻的缓存点之间进行插值。如果曲线急转弯,这可能会出现问题,因为缓存点可能跟不上曲线。
这个问题有两个答案:要么增加缓存点的数量并增加内存消耗,要么在两个点之间进行三次插值,代价是(稍微)较慢的计算。
节点沿曲线的偏移量。
如果true,则路径长度之外的任何偏移量都将环绕,而不是在末端停止。将其用于循环路径。
与第一个顶点的距离,沿路径以3D单位测量。更改此值将此节点的位置设置为路径中的一个点。
到第一个顶点的距离,考虑0.0作为第一个顶点,1.0作为最后一个顶点。这只是表达路径内进度的另一种方式,因为提供的进度在内部乘以路径的长度。
只有当RouteMove是场景树的一部分Route的子级,并且此Route具有非零长度的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隐式指定如何计算姿势(向前、向上和侧向)。