AnimationNode

Inherits: Resource < Reference < Object

Inherited By: AnimationNodeAdd2, AnimationNodeAdd3, AnimationNodeBlend2, AnimationNodeBlend3, AnimationNodeOneShot, AnimationNodeOutput, AnimationNodeTimeScale, AnimationNodeTimeSeek, AnimationNodeTransition, AnimationRootNode

AnimationTree节点的基础资源。

描述

AnimationTree 节点的基础资源。通常,它不是直接使用的,但是您可以使用自定义混合公式创建自定义的。

在创建主要用于 AnimationNodeBlendTree 的节点时,继承该属性,否则应改用 AnimationRootNode

方法

void

add_input ( String name )

void

blend_animation ( String animation, float time, float delta, bool seeked, float blend )

float

blend_input ( int input_index, float time, bool seek, float blend, FilterAction filter=0, bool optimize=true )

float

blend_node ( String name, AnimationNode node, float time, bool seek, float blend, FilterAction filter=0, bool optimize=true )

String

get_caption ( ) virtual

Object

get_child_by_name ( String name ) virtual

Dictionary

get_child_nodes ( ) virtual

int

get_input_count ( ) const

String

get_input_name ( int input )

Variant

get_parameter ( String name ) const

Variant

get_parameter_default_value ( String name ) virtual

Array

get_parameter_list ( ) virtual

String

has_filter ( ) virtual

bool

is_path_filtered ( NodePath path ) const

void

process ( float time, bool seek ) virtual

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 ( )

由继承自该类且内部有树的节点发出,当其一个节点发生变化时。发出此信号的节点有AnimationNodeBlendSpace1DAnimationNodeBlendSpace2DAnimationNodeStateMachineAnimationNodeBlendTree

枚举

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 中有效)。可以通过 timedelta,以及是否发生 seek


混合一个输入。这只对为 AnimationNodeBlendTree 创建的节点有用。time 参数是一个相对三角,除非 seektrue,在这种情况下,它是绝对值。可以选择传递过滤模式(选项请参阅 FilterAction)。


混合另一个动画节点(在这个节点包含子动画节点的情况下)。这个函数只有在你继承 AnimationRootNode 而不是 AnimationRootNode 时才有用,否则编辑器将不会显示你的节点进行添加。


  • String get_caption ( ) virtual

获取此节点的文本标题(由某些编辑器使用)。


按索引获取一个子节点(由继承 AnimationRootNode 的编辑器使用)。


按照 name: node 字典的顺序获取所有子节点。仅在继承 AnimationRootNode 时有用。


  • int get_input_count ( ) const

这个节点的输入数量,只对进入AnimationNodeBlendTree的节点有用。


通过索引获取输入的名称。


获取一个参数的值。参数是你的节点使用的自定义本地存储,给定的资源可以在多个树中重复使用。


获取一个参数的默认值。参数是用于节点的自定义本地内存,给定资源可以在多个树中重用。


  • Array get_parameter_list ( ) virtual

获取参数的属性信息。参数是你的节点使用的自定义本地存储,给定的资源可以在多个树中重复使用。格式类似于Object.get_property_list


  • String has_filter ( ) virtual

返回true,是否希望混合树编辑器在此节点上显示过滤器编辑。


返回true是否对指定路径进行过滤。


  • void process ( float time, bool seek ) virtual

当一个自定义节点被处理时,用户定义的回调被调用。time参数是一个相对的delta,除非seektrue,在这种情况下,它是绝对的。

在这里,调用blend_inputblend_nodeblend_animation函数。你也可以使用get_parameterset_parameter来修改本地存储。

这个函数应该返回当前动画完成的剩余时间(如果不确定,请传递被调用的主混合值)。


  • void remove_input ( int index )

删除输入,仅在处于非活动状态时调用此输入。


添加或删除筛选器的路径。


设置一个自定义参数。这些参数被用作本地存储,因为资源可以在树或场景中重复使用。