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...
AnimationNodeOneShot
继承: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object
在 AnimationNodeBlendTree 中播放一次动画。
描述
添加到 AnimationNodeBlendTree 的资源。这个动画节点将执行子动画并在完成后返回。可以自定义淡入和淡出的混合时间以及过滤器。
在设置请求并更改动画播放后,一次性节点会在下一个处理帧中通过将其 request
值设置为 ONE_SHOT_REQUEST_NONE 来自动清除请求。
# 播放连接到 “shot” 端口的子动画。
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE
# 中止连接到 “shot” 端口的子动画。
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT)
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT
# 使用淡出的方法中止连接到 “shot”端口的子动画。
animation_tree.set("parameters/OneShot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT)
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/request"] = AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT
# 获取当前状态(只读)。
animation_tree.get("parameters/OneShot/active"))
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/active"]
# 获取当前内部状态(只读)。
animation_tree.get("parameters/OneShot/internal_active")
# 替代语法(与上述结果相同)。
animation_tree["parameters/OneShot/internal_active"]
// 播放连接到 “shot” 端口的子动画。
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Fire);
// 中止连接到 “shot” 端口的子动画。
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.Abort);
// 使用淡出的方法中止连接到 “shot”端口的子动画。
animationTree.Set("parameters/OneShot/request", (int)AnimationNodeOneShot.OneShotRequest.FadeOut);
// 获取当前状态(只读)。
animationTree.Get("parameters/OneShot/active");
// 获取当前内部状态(只读)。
animationTree.Get("parameters/OneShot/internal_active");
教程
属性
|
||
|
||
|
||
|
||
|
||
|
||
|
枚举
enum OneShotRequest: 🔗
OneShotRequest ONE_SHOT_REQUEST_NONE = 0
请求的默认状态。未完成任何操作。
OneShotRequest ONE_SHOT_REQUEST_FIRE = 1
播放连接到“shot”端口的动画的请求。
OneShotRequest ONE_SHOT_REQUEST_ABORT = 2
停止连接到“shot”端口的动画的请求。
OneShotRequest ONE_SHOT_REQUEST_FADE_OUT = 3
淡出连接到“shot”端口的动画的请求。
enum MixMode: 🔗
MixMode MIX_MODE_BLEND = 0
混合两个动画。另请参见 AnimationNodeBlend2。
MixMode MIX_MODE_ADD = 1
以相加方式混合两个动画。另见 AnimationNodeAdd2。
属性说明
如果为 true
,子动画结束后会自动重新开始。
换句话说,要开始自动重启,必须使用 ONE_SHOT_REQUEST_FIRE 请求播放一次动画。ONE_SHOT_REQUEST_ABORT 请求停止自动重启,但它不会禁用 autorestart 本身。因此,ONE_SHOT_REQUEST_FIRE 请求将再次开始自动重启。
float autorestart_delay = 1.0
🔗
触发自动重启的延迟时间,以秒为单位。
float autorestart_random_delay = 0.0
🔗
如果 autorestart 为 true
,则介于0和此值之间的随机附加延迟(以秒为单位)将添加到 autorestart_delay。
bool break_loop_at_end = false
🔗
如果true
,则在循环循环结束时中断循环以进行转换,即使动画正在循环。
确定如何对动画之间的淡入淡出进行缓动。如果为空,则进行线性过渡。应为单位 Curve。
淡入的持续时间。例如有一个长度为 5 秒的动画,如果将该属性设置为 1.0
,就会生成一个从动画的 0 秒处开始、1 秒处结束的交叉渐变。
注意:AnimationNodeOneShot 是在淡入淡出结束后转换当前状态的。将 AnimationNodeOutput 视为最上游时,fadein_time 会根据下游增量进行缩放。例如将该属性设置为 1.0
时,如果下游连接的是一个取值为 2.0
的 AnimationNodeTimeScale,那么实际的处理时间就是 0.5 秒。
确定如何对动画之间的淡入淡出进行缓动。如果为空,则进行线性过渡。应为单位 Curve。
淡出的持续时间。例如有一个长度为 5 秒的动画,如果将该属性设置为 1.0
,就会生成一个从动画的 4 秒处开始、5 秒处结束的交叉渐变。
注意:AnimationNodeOneShot 是在淡入淡出结束后转换当前状态的。将 AnimationNodeOutput 视为最上游时,fadein_time 会根据下游增量进行缩放。例如将该属性设置为 1.0
时,如果下游连接的是一个取值为 2.0
的 AnimationNodeTimeScale,那么实际的处理时间就是 0.5 秒。
混合类型。