AnimationNodeTransition
继承: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
AnimationTree 中连接两个 AnimationNode 的过渡。
描述
适用于不需要更高级 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,则目标动画在动画过渡时重新启动。