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,则子动画在先前中断后使用重置恢复时,子动画将会中止。
如果为 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 是在淡入淡出结束后转换当前状态的。
确定如何对动画之间的淡入淡出进行缓动。如果为空,则进行线性过渡。应为单位 Curve。
淡出的持续时间。例如有一个长度为 5 秒的动画,如果将该属性设置为 1.0,就会生成一个从动画的 4 秒处开始、5 秒处结束的交叉渐变。
注意:AnimationNodeOneShot 是在淡入淡出结束后转换当前状态的。
混合类型。