跳到主要内容

使用配置播放动画

在播放 Animation Clip 时,如果 Sequine Player 当前已经在播放另一个动画剪辑,我们可以通过一些配置来定义过渡方式。

以下是可以调整的 Animation Config 参数:

  • Speed: Animation Clip 的播放速度
  • Transition Duration: 过渡持续时间。单位取决于 Normalized Transition 是否为 true。如果为 false,则单位为秒;否则,该时长将按动画剪辑总时长的百分比进行计算。
  • Normalized Transition: 决定 Transition Duration 使用实际秒数,还是基于动画剪辑时长的归一化值。
  • Length to Play: 用于决定何时调用 On Complete 方法。如果该值为 2,则表示动画播放两次后才会触发 On Complete

通过 C# 脚本进行配置

快速开始 中,我们在调用 PlayAnimationClip 方法时传入了 SequinePlayer.defaultAnimationConfig 作为参数。默认动画配置的值如下:

  • Speed: 1
  • Transition Duration: 0.25 秒
  • Normalized Transition: false
  • Length to Play: 1

如果希望手动定义这些值,可以创建一个新的 AnimationConfig,并将其作为参数传入。示例如下:


using UnityEngine;
using Calcatz.Sequine;

public class PlayOnStart : MonoBehaviour {

public SequinePlayer sequinePlayer;

public AnimationClip clipToPlay1;
public AnimationClip clipToPlay2;

void Start() {
sequinePlayer.PlayAnimationClip(clipToPlay1, new AnimationConfig() {
speed = 2,
transitionDuration = 0.5f,
normalizedTransition = false,
lengthToPlay = 2
}, ()=> { //On Complete
//Play clipToPlay2 after clipToPlay1 has finished playing twice.
sequinePlayer.PlayAnimationClip(clipToPlay2, SequinePlayer.defaultAnimationConfig);
});
}

}


在 Sequine Flow 中进行配置

在 Sequine Flow 中设置 Animation Config 非常直接,因为这些选项都清晰地暴露在 Play Animation Clip Command Node 内部。点击 Configurations 折叠栏即可看到。

Play Animation Clip

现在有一点可能会让你困惑,那就是它有 2 个 Main(白色)out-point。一个在上方,一个在下方:

  • Top Main Out-Point:默认的立即 Exit。也就是说,该 Command 一旦执行,就会立刻继续执行由这个 out-point 指向的下一个 Command,而不会等待动画播放完成。
  • Bottom Main Out-Point (On Complete):它会同步等待动画完成设定的 Length to Play,之后才会继续执行由这个 out-point 指向的 Command。

此外,还有一个 Layer 字段,我们将在 Animation Layers 章节中介绍。