Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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
,则目标动画在动画过渡时重新启动。