跳到主要内容

AnimationNode

继承

Resource

简要描述

AnimationTree节点的基础资源。

描述

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

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

成员

类型属性名默认值
boolfilter_enabled

方法

返回值类型方法名称
voidadd_input(name: String)
voidblend_animation(animation: String, time: float, delta: float, seeked: bool, blend: float)
floatblend_input(input_index: int, time: float, seek: bool, blend: float, filter: int = 0, optimize: bool = true)
floatblend_node(name: String, node: AnimationNode, time: float, seek: bool, blend: float, filter: int = 0, optimize: bool = true)
Stringget_caption() virtual
Objectget_child_by_name(name: String) virtual
Dictionaryget_child_nodes() virtual
intget_input_count() const
Stringget_input_name(input: int)
Variantget_parameter(name: String) const
Variantget_parameter_default_value(name: String) virtual
Arrayget_parameter_list() virtual
Stringhas_filter() virtual
boolis_path_filtered(path: NodePath) const
voidprocess(time: float, seek: bool) virtual
voidremove_input(index: int)
voidset_filter_path(path: NodePath, enable: bool)
voidset_parameter(name: String, value: Variant)

信号

  • **removed_from_graph**

从图上删除节点时调用。


  • **tree_changed**

当该类继承的节点的内部树其他节点改变时,该继承节点发出信号。该节点发出的信号无外乎AnimationNodeBlendSpace1DAnimationNodeBlendSpace2DAnimationNodeStateMachine,以及AnimationNodeBlendTree


枚举

enum FilterAction:

  • **FILTER_IGNORE = 0**

不要使用过滤。

  • **FILTER_PASS = 1**

与过滤器匹配的路径将被允许通过。

  • **FILTER_STOP = 2**

与过滤器匹配的路径将被丢弃。

  • **FILTER_BLEND = 3**

与过滤器匹配的路径将被混合(通过混合值)。


常量

成员说明

  • bool filter_enabled
setterset_filter_enabled(value)
getteris_filter_enabled

方法说明

  • add_input add_input(name: String)

将输入添加到节点。这仅适用于为在AnimationNodeBlendTree中使用而创建的节点。


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

blend数量混合动画(名称在链接的AnimationPlayer中必须有效)。可能会传递timedelta,以及是否发生了seek


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

混合输入。这仅适用于为AnimationNodeBlendTree创建的节点。time参数是相对增量,除非seektrue,在这种情况下它是绝对的。可以选择传递筛选器模式(有关选项,请参见FilterAction)。


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

混合另一个动画节点(如果此节点包含子动画节点)。此函数仅在从AnimationRootNode继承时有用,否则编辑器将不会显示节点以供添加。


  • get_caption get_caption() virtual

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


  • get_child_by_name get_child_by_name(name: String) virtual

通过索引获取子节点(由继承自AnimationRootNode的编辑器使用)。


  • get_child_nodes get_child_nodes() virtual

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


  • get_input_count get_input_count() const

此节点中的输入量,仅对进入AnimationNodeBlendTree的节点有用。


  • get_input_name get_input_name(input: int)

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


  • get_parameter get_parameter(name: String) const

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


  • get_parameter_default_value get_parameter_default_value(name: String) virtual

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


  • get_parameter_list get_parameter_list() virtual

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


  • has_filter has_filter() virtual

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


  • is_path_filtered is_path_filtered(path: NodePath) const

返回是否过滤给定路径的true


  • process process(time: float, seek: bool) virtual

处理自定义节点时调用的用户自定义的回调。time参数是相对增量,如果seektrue,那么它是绝对增量。

在这里,调用blend_inputblend_nodeblend_animation函数。您还可以使用get_parameterset_parameter修改本地内存。

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


  • remove_input remove_input(index: int)

删除输入,仅在不活跃时调用此输入。


  • set_filter_path set_filter_path(path: NodePath, enable: bool)

添加或删除过滤器的路径。


  • set_parameter set_parameter(name: String, value: Variant)

设置自定义参数。它们被用作本地存储,因为资源可以跨树或跨场景重用。