AnimationNode¶
继承¶
Resource
简要描述¶
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 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)
设置自定义参数。它们被用作本地存储,因为资源可以跨树或跨场景重用。