PathFollow
Inherits: Spatial < Node < Object
Path 的点采样器。
描述
这个节点接受它的父节点 Path,并返回其中一个点的坐标,给定与第一个顶点的距离。
这对于使其他节点遵循路径非常有用,而无需对运动模式进行编码。为此,节点必须是该节点的子节点。在此节点中设置偏移量时,子代节点将相应地移动。
属性
| ||
| ||
| ||
| ||
| ||
| ||
|
枚举
enum RotationMode:
ROTATION_NONE = 0 —- 禁止 PathFollow 旋转。
ROTATION_Y = 1 —- 仅允许 PathFollow 沿 Y 轴旋转。
ROTATION_XY = 2 —- 允许 PathFollow 在 X 和 Y 轴上旋转。
ROTATION_XYZ = 3 —- 允许 PathFollow 在任意轴上旋转。
ROTATION_ORIENTED = 4 —- 使用 Curve3D 中的向上向量信息来强制定向。此旋转模式需要将 Path 的 Curve3D.up_vector_enabled 属性设置为
true
。
属性说明
- bool cubic_interp
Default |
|
Setter | set_cubic_interpolation(value) |
Getter | get_cubic_interpolation() |
如果true
,两个缓存的点之间的位置是立方插值,否则是线性插值。
沿着Path的Curve3D的点在使用前被预计算,以加快计算。而后,在确定偏移量上的点会在两个相邻的缓存点之间进行插值计算。如果曲线有急转弯,这可能会产生一个问题,因为缓存的点可能不会足够紧跟曲线。
这个问题有两个答案:要么增加缓存点的数量,代价是增加内存消耗;要么在两个点之间进行立方插值,代价是计算速度稍慢。
- float h_offset
Default |
|
Setter | set_h_offset(value) |
Getter | get_h_offset() |
节点沿曲线的偏移量。
- bool loop
Default |
|
Setter | set_loop(value) |
Getter | has_loop() |
如果true
,路径长度以外的任何偏移都将环绕,而不是在结束时停止。对于循环路径使用它。
- float offset
Default |
|
Setter | set_offset(value) |
Getter | get_offset() |
到第一个顶点的距离,以沿路径的 3D 单位度量。这将把这个节点的位置设置为路径中的一个点。
- RotationMode rotation_mode
Default |
|
Setter | set_rotation_mode(value) |
Getter | get_rotation_mode() |
允许或禁止在一个或多个轴上旋转,这取决于使用的RotationMode常量。
- float unit_offset
Default |
|
Setter | set_unit_offset(value) |
Getter | get_unit_offset() |
到第一个顶点的距离,将0.0作为第一个顶点,1.0作为最后一个顶点。这只是表示路径内偏移量的另一种方式,因为提供的偏移量在内部乘以路径的长度。
- float v_offset
Default |
|
Setter | set_v_offset(value) |
Getter | get_v_offset() |
节点垂直于曲线的偏移量。