PathFollow

Inherits: Spatial < Node < Object

Path 的点采样器。

描述

这个节点接受它的父节点 Path,并返回其中一个点的坐标,给定与第一个顶点的距离。

这对于使其他节点遵循路径非常有用,而无需对运动模式进行编码。为此,节点必须是该节点的子节点。在此节点中设置偏移量时,子代节点将相应地移动。

属性

bool

cubic_interp

true

float

h_offset

0.0

bool

loop

true

float

offset

0.0

RotationMode

rotation_mode

3

float

unit_offset

0.0

float

v_offset

0.0

枚举

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 中的向上向量信息来强制定向。此旋转模式需要将 PathCurve3D.up_vector_enabled 属性设置为 true

属性说明

Default

true

Setter

set_cubic_interpolation(value)

Getter

get_cubic_interpolation()

如果true,两个缓存的点之间的位置是立方插值,否则是线性插值。

沿着PathCurve3D的点在使用前被预计算,以加快计算。而后,在确定偏移量上的点会在两个相邻的缓存点之间进行插值计算。如果曲线有急转弯,这可能会产生一个问题,因为缓存的点可能不会足够紧跟曲线。

这个问题有两个答案:要么增加缓存点的数量,代价是增加内存消耗;要么在两个点之间进行立方插值,代价是计算速度稍慢。


Default

0.0

Setter

set_h_offset(value)

Getter

get_h_offset()

节点沿曲线的偏移量。


Default

true

Setter

set_loop(value)

Getter

has_loop()

如果true,路径长度以外的任何偏移都将环绕,而不是在结束时停止。对于循环路径使用它。


Default

0.0

Setter

set_offset(value)

Getter

get_offset()

到第一个顶点的距离,以沿路径的 3D 单位度量。这将把这个节点的位置设置为路径中的一个点。


Default

3

Setter

set_rotation_mode(value)

Getter

get_rotation_mode()

允许或禁止在一个或多个轴上旋转,这取决于使用的RotationMode常量。


Default

0.0

Setter

set_unit_offset(value)

Getter

get_unit_offset()

到第一个顶点的距离,将0.0作为第一个顶点,1.0作为最后一个顶点。这只是表示路径内偏移量的另一种方式,因为提供的偏移量在内部乘以路径的长度。


Default

0.0

Setter

set_v_offset(value)

Getter

get_v_offset()

节点垂直于曲线的偏移量。