AnimationNode¶
Inherits: Resource < Reference < Object
Inherited By: AnimationNodeAdd2, AnimationNodeAdd3, AnimationNodeBlend2, AnimationNodeBlend3, AnimationNodeOneShot, AnimationNodeOutput, AnimationNodeTimeScale, AnimationNodeTimeSeek, AnimationNodeTransition, AnimationRootNode
AnimationTree节点的基础资源。
描述¶
AnimationTree 节点的基础资源。通常,它不是直接使用的,但是您可以使用自定义混合公式创建自定义的。
在创建主要用于 AnimationNodeBlendTree 的节点时,继承该属性,否则应改用 AnimationRootNode。
教程¶
属性¶
方法¶
void |
|
void |
blend_animation ( String animation, float time, float delta, bool seeked, float blend ) |
blend_input ( int input_index, float time, bool seek, float blend, FilterAction filter=0, bool optimize=true ) |
|
blend_node ( String name, AnimationNode node, float time, bool seek, float blend, FilterAction filter=0, bool optimize=true ) |
|
get_caption ( ) virtual |
|
get_child_by_name ( String name ) virtual |
|
get_child_nodes ( ) virtual |
|
get_input_count ( ) const |
|
get_input_name ( int input ) |
|
get_parameter ( String name ) const |
|
get_parameter_default_value ( String name ) virtual |
|
get_parameter_list ( ) virtual |
|
has_filter ( ) virtual |
|
is_path_filtered ( NodePath path ) const |
|
void |
|
void |
remove_input ( int index ) |
void |
set_filter_path ( NodePath path, bool enable ) |
void |
set_parameter ( String name, Variant value ) |
信号¶
removed_from_graph ( )
当该节点从图中删除时调用。
tree_changed ( )
由继承自该类且内部有树的节点发出,当其一个节点发生变化时。发出此信号的节点有AnimationNodeBlendSpace1D、AnimationNodeBlendSpace2D、AnimationNodeStateMachine和AnimationNodeBlendTree。
枚举¶
enum FilterAction:
FILTER_IGNORE = 0 --- 不要使用过滤功能。
FILTER_PASS = 1 --- 匹配过滤器的路径将被允许通过。
FILTER_STOP = 2 --- 与过滤器匹配的路径将被丢弃。
FILTER_BLEND = 3 --- 与滤镜相匹配的路径将被混合(根据混合值)。
属性说明¶
bool filter_enabled
Setter |
set_filter_enabled(value) |
Getter |
is_filter_enabled() |
如果true
,则启用过滤功能。
方法说明¶
void add_input ( String name )
为节点添加一个输入。这只对创建用于 AnimationNodeBlendTree 的节点有用。
按 blend
量混合一个动画(名称必须在链接的 AnimationPlayer 中有效)。可以通过 time
和 delta
,以及是否发生 seek
。
float blend_input ( int input_index, float time, bool seek, float blend, FilterAction filter=0, bool optimize=true )
混合一个输入。这只对为 AnimationNodeBlendTree 创建的节点有用。time
参数是一个相对三角,除非 seek
是 true
,在这种情况下,它是绝对值。可以选择传递过滤模式(选项请参阅 FilterAction)。
float blend_node ( String name, AnimationNode node, float time, bool seek, float blend, FilterAction filter=0, bool optimize=true )
混合另一个动画节点(在这个节点包含子动画节点的情况下)。这个函数只有在你继承 AnimationRootNode 而不是 AnimationRootNode 时才有用,否则编辑器将不会显示你的节点进行添加。
String get_caption ( ) virtual
获取此节点的文本标题(由某些编辑器使用)。
按索引获取一个子节点(由继承 AnimationRootNode 的编辑器使用)。
Dictionary get_child_nodes ( ) virtual
按照 name: node
字典的顺序获取所有子节点。仅在继承 AnimationRootNode 时有用。
int get_input_count ( ) const
这个节点的输入数量,只对进入AnimationNodeBlendTree的节点有用。
通过索引获取输入的名称。
获取一个参数的值。参数是你的节点使用的自定义本地存储,给定的资源可以在多个树中重复使用。
获取一个参数的默认值。参数是用于节点的自定义本地内存,给定资源可以在多个树中重用。
Array get_parameter_list ( ) virtual
获取参数的属性信息。参数是你的节点使用的自定义本地存储,给定的资源可以在多个树中重复使用。格式类似于Object.get_property_list。
String has_filter ( ) virtual
返回true
,是否希望混合树编辑器在此节点上显示过滤器编辑。
返回true
是否对指定路径进行过滤。
当一个自定义节点被处理时,用户定义的回调被调用。time
参数是一个相对的delta,除非seek
是true
,在这种情况下,它是绝对的。
在这里,调用blend_input、blend_node或blend_animation函数。你也可以使用get_parameter和set_parameter来修改本地存储。
这个函数应该返回当前动画完成的剩余时间(如果不确定,请传递被调用的主混合值)。
void remove_input ( int index )
删除输入,仅在处于非活动状态时调用此输入。
添加或删除筛选器的路径。
设置一个自定义参数。这些参数被用作本地存储,因为资源可以在树或场景中重复使用。