AnimationNodeExtension
实验性: This class may be changed or removed in future versions.
继承: AnimationNode < Resource < RefCounted < Object
用于从GDScript、C#或C++中继承AnimationRootNode的基类。
描述
AnimationNodeExtension暴露了AnimationRootNode的API,使得用户能够在GDScript、C#或C++中扩展它。这个类并不应被直接使用,而是通过其他类进行扩展。它被用于为AnimationTree系统创建自定义节点。
方法
_process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual required |
|
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 required 🔗
方法 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。