播放动画
最終更新: 2020年1月30日
这是一个在Unity项目模型上播放从Cubism Editor输出的嵌入动画文件的教程。
说明以追加到已执行[SDK载入~置入模型]的项目为前提。
概述
要在Unity项目上播放Cubism动画,您需要一个.motion3.json格式的动态文件。
有关输出动态文件的信息,请参考“嵌入数据”。
在SDK中与模型相同,还准备了.motion3.json用Importer,.motion3.json在载入时会自动转变为Unity的动画格式AnimationClip。
通过使用转变后的AnimationClip,可以仅使用Unity的内置函数处理动画,而无需使用Unity上的Live2D功能。
按照以下步骤在Unity项目中播放动态。
- 载入动态文件
- 播放AnimationClip
载入动态文件
将从Cubism Editor输出的嵌入动态文件连同包含它的文件夹拖放到Project视图中。

经过该操作,AnimationClip将从.motion3.json生成,如下图所示。
也可以为生成的AnimationClip设置Loop。

Tips
此AnimationClip以曲线的形式拥有设置为模型各参数的值,此曲线上设置的参数的属性位于模型Prefab以下层次结构中。(Value在Inspector中隐藏)
[模型根]/Parameters/[参数ID]/Cubism Parameters/Value
各参数ID为Value设置的最大值和最小值不同,但超出该范围的值将被视为最大值或最小值。

此外,部件的不透明度位于Prefab以下层次结构中。(Opacity在Inspector中隐藏)
[模型根]/Parameters/[部件ID]/Cubism Part/Opacity
为Oacity设置的值在0~1的范围内。超出此范围的值被视为0或1。

如果指定这些属性,则可以使用在Unity上创建的AnimationClip或程序 操作模型的参数和部件的不透明度。

播放AnimationClip
在Unity中播放AnimationClip的方法有多种,这里我们以使用Animator的方法为例进行说明。
将“载入动态文件”生成的AnimationClip拖放到模型根部的GameObject中。

如果在这种状态下执行Scene,就会播放动画。

如上所述,Cubism的动画格式在载入项目时会转变为AnimationClip,所以,
还可以使用Animator管理过渡和混合多个动态。
有关详细信息,请参考“Unity Manual”。

Tips
在Live2D Cubism SDK for Unity中,.motion3.json中设置的渐变时间默认是禁用的。
有关启用.motion3.json渐变的步骤,请参考“在Mecanim中启用动态渐变”。