AnimationNodeTransition

继承: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object

连接两个AnimationNodeAnimationTree中的过渡。

描述

一个简单的状态机,用于不需要更高级的AnimationNodeStateMachine的案例。动画可以连接到输入端,过渡时间可以指定。

设置请求并更改动画播放后,过渡节点会在下一个处理帧中自动清除请求,将其transition_request值设置为空。

注意:使用交叉淡入淡出时,current_statecurrent_index在交叉淡入淡出开始后立即切换到下一个状态。

# 播放与“state_2”端口相连的儿童动画。
animation_tree.set("parameters/Transition/transition_request", "state_2")
# 另一种语法结构(与上述结果相同)。
animation_tree["parameters/Transition/transition_request"] = "state_2"

# 获取当前状态名称(只读)
animation_tree.get("parameters/Transition/current_state")
# 另一种语法结构(与上述结果相同)。
animation_tree["parameters/Transition/current_state"]

# 获取当前状态索引(只读)。
animation_tree.get("parameters/Transition/current_index")
# 另一种语法结构(与上述结果相同)。
animation_tree["parameters/Transition/current_index"]

属性

方法

bool

is_input_loop_broken_at_end(input: int) const

bool

is_input_reset(input: int) const

bool

is_input_set_as_auto_advance(input: int) const

void

set_input_as_auto_advance(input: int, enable: bool)

void

set_input_break_loop_at_end(input: int, enable: bool)

void

set_input_reset(input: int, enable: bool)


属性说明

bool allow_transition_to_self = false 🔗

  • void set_allow_transition_to_self(value: bool)

  • bool is_allow_transition_to_self()

如果true,则允许转换到自状态。当输入中启用重置选项时,动画将重新启动。如果false,则转换到自状态时不会发生任何事情。


int input_count = 0 🔗

  • void set_input_count(value: int)

  • int get_input_count()

此动画节点启用的输入端口数。


Curve xfade_curve 🔗

  • void set_xfade_curve(value: Curve)

  • Curve get_xfade_curve()

确定如何缓解动画之间的交叉淡入淡出。如果为空,过渡将是线性的。应该是一个单位Curve


float xfade_time = 0.0 🔗

  • void set_xfade_time(value: float)

  • float get_xfade_time()

连接到输入的每个动画之间的交叉衰落时间(以秒为单位)。

注意:AnimationNodeTransition在衰落开始后立即转换当前状态。精确的剩余时间只能从主动画中推断。当AnimationNodeOutput被认为是最上游时,因此xfade_time不会根据下游增量进行缩放。另见AnimationNodeOneShot.fadeout_time


方法说明

bool is_input_loop_broken_at_end(input: int) const 🔗

返回动画是否在循环循环结束时中断循环以进行转换。


bool is_input_reset(input: int) const 🔗

返回当动画从其他动画转换时动画是否重新启动。


bool is_input_set_as_auto_advance(input: int) const 🔗

如果为给定的input索引启用了自动推进,则返回true


void set_input_as_auto_advance(input: int, enable: bool) 🔗

启用或禁用给定input索引的自动前进。如果启用,则在播放一次动画后状态更改为下一个输入。如果为最后一个输入状态启用,则循环到第一个。


void set_input_break_loop_at_end(input: int, enable: bool) 🔗

如果true,则在循环循环结束时中断循环以进行转换,即使动画正在循环。


void set_input_reset(input: int, enable: bool) 🔗

如果true,则在动画转换时重新启动目标动画。