AnimationNodeExtension¶
实验性: This class may be changed or removed in future versions.
继承: AnimationNode < Resource < RefCounted < Object
用于从S3Script、C#或C++扩展AnimationRootNode的基类。
描述¶
AnimationNodeExtension公开了AnimationRootNode的API,允许用户从S3Script、C#或C++进行扩展,该类不打算直接使用,而是由其他类扩展,用于为AnimationTree系统创建自定义节点。
方法¶
_process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual |
|
get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static |
|
is_looping(node_info: PackedFloat32Array) static |
方法说明¶
PackedFloat32Array _process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual 🔗
AnimationNode._process()方法的一个版本,旨在被自定义节点覆盖。它返回一个PackedFloat32Array,其中包含处理后的动画数据。
PackedFloat64Array参数包含回放信息,包含以下编码为浮点数的值(按顺序):回放时间和增量、开始和结束时间、是否请求了寻道(编码为大于0的浮点数)、是否外部请求了寻道请求(编码为大于0的浮点数)、当前LoopedFlag(编码为浮点数)和当前混合权重。
该函数必须返回节点时间信息的PackedFloat32Array,包含以下值(按顺序):动画长度、时间位置、增量、LoopMode(编码为浮点数)、动画是否即将结束(编码为大于0的浮点数)以及动画是否无限(编码为大于0的浮点数)。所有值都必须包含在返回的数组中。
float get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static 🔗
返回给定节点信息的动画剩余时间。对于循环动画,仅当break_loop为true时才返回剩余时间,否则将返回大整数值。
bool is_looping(node_info: PackedFloat32Array) static 🔗
如果给定node_info的动画正在循环,则返回true。