Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 |
|
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
。