目录
二、使用CubismMotionController播放动画
一、Unity动画系统播放动画
在生成预制体后,物体以及挂载了一个动画控制器组件,像一般的Unity动画操作一样,通过动画器播放动画,这个就比较简单,只要加入动画片段进动画器,代码获取动画器使用Play方法就可以了。
二、使用CubismMotionController播放动画
CubismMotionController是Cubism播放动画的必要组件,但是如果使用了Unity内置的动画系统,那么这个组件就不会起到任何作用,如果需要使用这种方式,一定要将控制器设置为Null。同时,CubismMotionController组件依赖CubismFadeController组件,创建CubismMotionController会自动挂载CubismFadeController。(当然一般在生成预制体时CubismFadeController已经挂载好了)。
创建一个代码,以下举个例子
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Live2D.Cubism.Framework.Motion;
public class CubismMotion : MonoBehaviour
{
public static CubismMotion instance; //单例化
private CubismMotionController motion; //定义一个控制器
private void Awake()
{
instance = this;
}
void Start()
{
motion = GetComponent<CubismMotionController>(); //获取组件
}
public void MotionPlay(AnimationClip clip) //播放动画方法
{
if (motion == null || clip == null)
return; //如果为空则返回
motion.PlayAnimation(clip,isLoop:false); //直接调用动画播放方法
}
}
演示效果
创建一个Button,点击按钮时播放摇头动画
效果如下: