启用淡入淡出以循环运动(Animator)

[最近更新时间: 2020/02/07]

概述

使用 Cubism Viewer for OW 循环播放动作时,如果选中“循环播放期间淡入”,则当动作从结尾返回到开头时,将发生 Cubism 动作淡入和参数淡入。
参考:运动设定

但是,当使用Unity的Animator在一个状态机中循环运动时,即使使用MotionFade,从结束返回到开始时也不会发生淡入淡出。

 

在循环中播放 AnimationClip 时,可以通过来回组装两个状态机来在循环期间生成淡入淡出。

以下是假设将针对已执行 [Import SDK] 的项目执行的过程的说明。

  1. 将 Cubis Fade 控制器附加到模型
  2. 取消选中动画剪辑的循环时间
  3. 构建动画控制器

 

1. 将 CubisFadeController 附加到模型

将 CubismFadeController 附加到 GameObject,它是放置在场景中的 Cubism Prefab 的根。
如果已附加,则无需再次附加。

将 CubismFadeController.CubismFadeMotion 设定为 .fadeMotionList,其中注册了要循环播放的 AnimationClip 的 ID。

 

 

2.取消勾选动画剪辑循环时间

选择要循环播放的动画剪辑,然后从 检查器 视窗中取消选中“Loop Time”。

 

 

3.构建AnimatorController

创建一个 AnimatorController 并将其设置在模型的 Animator 组件中。

 

在 Animator 视窗中打开 Animator Controller 并单击图表中的空白以从 检查器 视窗附加 CubismFadeStateObserver。

 

然后在同一层创建两个状态机。
对于每个创建的状态机,在 2 中设定“循环时间”未选中的动画剪辑。

 

最后,右键单击状态机并单击“进行转换”以将它们与转换连接起来。
在这里,要设定转换,请将退出时间设定为1,将转换持续时间设定为 0。

 

这样就完成了设定。

如果您在这种状态下播放场景,动作将淡出并循环播放。

© 2010 - 2022 Live2D Inc.