AnimationNodeTransition¶
继承: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
连接两个AnimationNode的AnimationTree中的过渡。
描述¶
一个简单的状态机,用于不需要更高级的AnimationNodeStateMachine的案例。动画可以连接到输入端,过渡时间可以指定。
设置请求并更改动画播放后,过渡节点会在下一个处理帧中自动清除请求,将其transition_request值设置为空。
注意:使用交叉淡入淡出时,current_state和current_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"]
// 播放与“state_2”端口相连的儿童动画。
animationTree.Set("parameters/Transition/transition_request", "state_2");
// 获取当前状态名称(只读)。
animationTree.Get("parameters/Transition/current_state");
// 获取当前状态索引(只读)。
animationTree.Get("parameters/Transition/current_index");
属性¶
|
||
|
||
|
方法¶
is_input_loop_broken_at_end(input: int) const |
|
is_input_reset(input: int) const |
|
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 🔗
如果true,则允许转换到自状态。当输入中启用重置选项时,动画将重新启动。如果false,则转换到自状态时不会发生任何事情。
此动画节点启用的输入端口数。
确定如何缓解动画之间的交叉淡入淡出。如果为空,过渡将是线性的。应该是一个单位Curve。
连接到输入的每个动画之间的交叉衰落时间(以秒为单位)。
注意: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,则在动画转换时重新启动目标动画。