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 )
删除输入,仅在处于非活动状态时调用此输入。
添加或删除筛选器的路径。
设置一个自定义参数。这些参数被用作本地存储,因为资源可以在树或场景中重复使用。