>12月5Live2DのモーションをMecanim制御する_2.0カテゴリ:Unity3Dこんにちは、y_a_s_です。Live2DモデルのモーションをMecanimで管理できないかな~って考えてたら、無理矢理なやり方を思いついたので試してみました。※プログラムの話もしますが、プログラミングわからない人でも扱えるように書いてます。要はUnityに搭載されているアニメーション機能だそうです。今回はもう一歩踏み込んで、mtnも使わないやり方でやってみます。冒頭に書いたとおり無理矢理ですが。SDK付属のサンプルプロジェクト「Simple」を開きます。ダブルクリックして開きます。プログラム触りますが、難しくはないはずです。モデルのパラメータIDを変数名にしたpublicなfloat型の変数を必要な分だけ用意します。ついでにそのパラメータの初期値で初期化しておきましょう。Start()パラメータIDや初期値はModelerから確認できます。モデルはマニュアルのサンプル「ハル」を使ってます。・プログラミングわからない人向け:以下の[ParamID]をパラメータIDに、[default]をそのパラメータの初期値に置き換えたものを書いていってください。;4.Update()内で、3で設定した数値をLive2Dのモデルのパラメータに反映させます。PARAM_ANGLE_Z);/*略*/live2DModel.update();}・プログラミングわからない人向け:以下の[パラメータID]をパラメータIDに置き換えて、パラメータの分だけ追加してください。[パラメータID]);プログラムの話はここで終わりです。ここからはUnity上での操作になります。Controllerをクリックします。Animatorをクリックします。Controllerをドラッグアンドドロップします。クリックして、AnimationClipを作成します。これでLive2Dのアニメーションを制御するのが今回の目的です。ControllerをダブルクリックしてAnimatorビューを表示します。10.開かれたAnimatorビューに、8で作成したAnimationClipをドラッグアンドドロップします。11.モデルを選択した状態でAnimationビューを開きます。AnimatorビューとAnimationビューは別物なので注意してください。2で書いた変数を片っ端から(若しくは必要な分だけ)追加(+をクリック)します。モデルを選択していないと何も表示されないので注意してください。13.Animationビューでキーを打ったりカーブエディタでカーブを制御したりしてアニメーションで好きなようにアニメーションを作成します。あとは7~11を好きなだけ繰り返すと、あとはMecanimで管理ができるようになります。一歩踏み込んだTips(プログラミングできる人向けの話):この方式でなら、実はmtnからAnimationClipも作れます。mtnは実はテキストファイルなので、中身をパースして、パラメータごとにAnimationCurveを作ってAnnimationClipを作成するとイケます。・モーションの途中でイベントを発行できる(途中で音声を再生等)注意:・このやり方の欠点として、AssetBundleにはスクリプトを含められないので、アプリケーション自体にスクリプトを含めておかなくてはいけません。