AnimationNode
继承
简要描述
AnimationTree节点的基础资源。
描述
AnimationTree节点的基础资源。一般来说,它不直接使用,但您可以创建自定义混合公式。
当创建主要用于AnimationNodeBlendTree的节点时,继承该属性,否则应改用AnimationRootNode。
成员
类型 | 属性名 | 默认值 |
---|---|---|
bool | filter_enabled |
方法
返回值类型 | 方法名称 |
---|---|
void | add_input(name: String) |
void | blend_animation(animation: String, time: float, delta: float, seeked: bool, blend: float) |
float | blend_input(input_index: int, time: float, seek: bool, blend: float, filter: int = 0, optimize: bool = true) |
float | blend_node(name: String, node: AnimationNode, time: float, seek: bool, blend: float, filter: int = 0, optimize: bool = true) |
String | get_caption() virtual |
Object | get_child_by_name(name: String) virtual |
Dictionary | get_child_nodes() virtual |
int | get_input_count() const |
String | get_input_name(input: int) |
Variant | get_parameter(name: String) const |
Variant | get_parameter_default_value(name: String) virtual |
Array | get_parameter_list() virtual |
String | has_filter() virtual |
bool | is_path_filtered(path: NodePath) const |
void | process(time: float, seek: bool) virtual |
void | remove_input(index: int) |
void | set_filter_path(path: NodePath, enable: bool) |
void | set_parameter(name: String, value: Variant) |
信号
- **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 |
方法说明
- add_input add_input(name: String)
将输入添加到节点。这仅适用于为在AnimationNodeBlendTree中使用而创建的节点。
- blend_animation blend_animation(animation: String, time: float, delta: float, seeked: bool, blend: float)
按blend
数量混合动画(名称在链接的AnimationPlayer中必须有效)。可能会传递time
和delta
,以及是否发生了seek
。
- blend_input blend_input(input_index: int, time: float, seek: bool, blend: float, filter: int = 0, optimize: bool = true)
混合输入。这仅适用于为AnimationNodeBlendTree创建的节点。time
参数是相对增量,除非seek
是true
,在这种情况下它是绝对的。可以选择传递筛选器模式(有关选项,请参见FilterAction)。
- blend_node blend_node(name: String, node: AnimationNode, time: float, seek: bool, blend: float, filter: int = 0, optimize: bool = true)
混合另一个动画节点(如果此节点包含子动画节点)。此函数仅在从AnimationRootNode继承时有用,否则编辑器将不会显示节点以供添加。
- 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
参数是相对增量,如果seek
是true
,那么它是绝对增量。
在这里,调用blend_input,blend_node或blend_animation函数。您还可以使用get_parameter和set_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)
设置自定义参数。它们被用作本地存储,因为资源可以跨树或跨场景重用。