AnimationNodeTransition
继承: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
AnimationTree 中连接两个 AnimationNode 的过渡。
描述
适用于不需要更高级 AnimationNodeStateMachine 的情况的简单状态机。可以将动画连接到输入,还可以指定过渡时间。
设置请求并更改动画播放后,过渡节点会在下一个处理帧中通过将其 transition_request
值设置为空,来自动清除请求。
注意:使用交叉淡入淡出时,current_state
和 current_index
在交叉淡入淡出开始后立即更改为下一个状态。
GDScriptC#
# 播放连接到 “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
,则在过渡到 当前状态时不会发生任何事情。
这个动画节点启用的输入端口的数量。
确定如何缓动动画之间的淡入淡出。如果为空,过渡将是线性的。
输入所连接的动画之间交叉渐变的时间(单位为秒)。
注意:**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
,则目标动画在动画过渡时重新启动。