Live2Dのモデルのアニメーションを、Unityで動かす

準備

Live2D SDKをダウンロードする

Live2DのUnity用のSDKこちらにあります

Live2D @ GitHub

SDKダウンロードボタンが二つありますが、

Download Cubism 3.0 SDK For Unity R2

のように"for unity"のついている方をダウンロードしてください。

UnityPackage形式のファイルがダウンロードされるので、それをUnityからインポートしましょう。インポート先のプロジェクトを事前に作っておいてください。

 

f:id:oitsmalab:20170608173603p:plain

すると、Assetsフォルダ内にLive2Dというフォルダができます。

f:id:oitsmalab:20170608173856p:plain

 

[Windowsを使っている人は、以下の作業が必要]

Windowsの場合、SDKをインポートすると”DllNotFoundException: Live2DCubismCore”というエラーが出ることがあります。

f:id:oitsmalab:20170621172945p:plain

この場合は、Unityを再起動してください。

 

これで、Live2Dモデルを使う準備ができました。

Live2Dモデルをインポートする

以前の記事で書いたように、UnityにLive2Dモデルを持っていくときは、以下のファイルが必要です。

f:id:oitsmalab:20170608172608p:plain

これらを、Unityにドラッグアンドドロップしてください。

f:id:oitsmalab:20170608174228p:plain

 

すると、Unity内で謎の処理が行われて、下図でハイライトしたファイルができます。

f:id:oitsmalab:20170608174336p:plain

 

このうち、miku_sample.prefabがLive2Dモデルです。これを、Hierarchyにドラッグアンドドロップすると、Live2Dモデルが現れます。

f:id:oitsmalab:20170608174659p:plain

実は、このままだとモデルの表示がおかしくなってしまいます。

f:id:oitsmalab:20170608174937p:plain

これを修正するには、miku_sampleのCubism Render ControllerコンポーネントのSortingの設定で、Modeを”Back To Front Order"に変更すればOKです。

f:id:oitsmalab:20170608175118p:plain

 

 Unityのアニメーション機能でLive2Dモデルを動かす

Live2DのAnimatorで作ったScene1, Scene2が、Unityでは同じ名前のAnimation Clipになっています。

f:id:oitsmalab:20170608175534p:plain

これらを使ってLive2Dモデルを動かすには、まずAnimation Clipを再生するためのAnimator Controllerを作ります。

f:id:oitsmalab:20170608175940p:plain

名前は適当に決めてください(ここではTest)

このTestコントローラーを選択して、AnimatorウィンドウにScene1, Scene2のAnimation Clipをドラッグアンドドロップすると、それらがAnimatorのステートになります。

f:id:oitsmalab:20170608180553g:plain

このままだと、Scene1からScene2に遷移できないので、Scene1からScene2に遷移を追加します。Scene1を右マウスボタンでクリックして出てくるメニューからMake Transitionを選択し、出てきた矢印をScene2につなげてください。

f:id:oitsmalab:20170608180822g:plain

 

次に、Live2Dモデル(ここではmiku_sample)にAnimatorコンポーネントをアタッチします。Hierarchyからmiku_sampleを選んで、Inspectorの一番下にある"Add Component"ボタンを押し、Miscellaneous→Animatorを選んでください。

f:id:oitsmalab:20170608181250g:plain

次に、アタッチしたAnimatorに先ほど作ったAnimator Controllerを適用します。Test.controllerをAnimatorのControllerという項目にドラッグアンドドロップしてください。

 

f:id:oitsmalab:20170608181759g:plain

 

これでUnityを実行すると、Scene1(目が閉じる),Scene2(目が左を見る)のアニメーションが再生されます。

f:id:oitsmalab:20170608182113g:plain