2016年9月3日土曜日

Live2D を Unity3D で動作させる方法

How to import Live2D models and animations into Unity3D

Live2Dで作成したモデルやアニメーションはゲームエンジンのUnity3Dで動作させることができます。
前回作成した東北ずん子のLive2Dアニメーション で実際に試してみたのでその手順をまとめました。
blog.fujiu.jp Live2DをUnity3Dで動作させる方法


環境

  • Windows 10
  • Live2D Cubism 2.1.12
  • Unity 5.3.5
  • Visual Studio 2015 Community
Live2DとUnity3Dは無料で使える範囲で試しました。


Live2D Cubism SDK をダウンロードしUnity3Dプロジェクトにインポートする

公式サイトからUnity用Live2D Cubism SDKをダウンロードしインストールします。
このブログを書いている時点では2.1が最新バージョンでした。
http://sites.cybernoids.jp/cubism-sdk2/

自作モデルを動作させるにはこのSDK内のサンプルのスクリプトを流用する方法が簡単でした。
今回は自作のモデルとモーションを動作させます。

ダウンロードしたら展開し、sampleフォルダーのMotionフォルダーを丸ごとUnity3Dプロジェクトにインポートします。
このフォルダーには必要なDLLやシェーダーが含まれているのでサブフォルダーごとインポートします。
blog.fujiu.jp Live2DをUnity3Dで動作させる方法


モデルとモーションを配置するサブフォルダーを作成する

Unity3DのプロジェクトフォルダーにLive2D用モデルを配置するサブフォルダーを作ります。
例として Live2D_Modelsフォルダーを作成


Cubism Modeler でモデルデータを書き出し拡張子を bytes に変更する

Cubism ModelerでUnityアプリ化したいモデルを開き、メニューの
ファイル - mocファイル書き出し
を実行し、Unity3Dプロジェクトの Live2D_Models フォルダーに書き出します。

書き出し後、フォルダーをエクスプローラーで開き(右クリック Show in Explorer)、mocファイルに.bytesという拡張子を追加します


Cubism Animation でモーションデータを書き出し拡張子を bytes に変更する

Cubism Animationでモデルに適用したいモーションのプロジェクトを開き、
ファイル - モーションデータを出力
を実行し、Unity3Dプロジェクトの Live2D_Models フォルダーに書き出します。

mtnファイルに.bytesという拡張子を追加します


Spriteにスクリプト・モデル・モーションを適用する

Hierarchyウィンドウに新しいSpriteを追加します。

Hierarchyに追加したSpriteにインポートしたサンプルのフォルダーの
MOtion - Assete Scripts
にある SimpleModel をドラッグ&ドロップします。

SpriteのInspectorウィンドウを操作します。
描画処理はSDKでオーバーライドしているようなのでSprite RendererをオフにするかRemove componentします。
Simple Model(Script)にMoc Filesに自作のモデルデータのファイル、Texture FilesのSizeを1にして、Element 0にLive2D_Modelsフォルダーのサブフォルダーにあるtexutureファイル、Motion Fileに自作のモーションを指定します。

これで実行すると自作のモデルが動作しました。
Spriteのサイズやカメラの視野は要調整です。


トラブルシューティング

一部のテクスチャが表示されない場合

Cubism Editorでコピー反転したテクスチャは手を加えないとUnityで表示されないようです。
Motion - Assets - Live2D Resources - Shader - merged
のフォルダーにある Live2D.shader というファイルを開いて

Cull[_Cull]

Cull Off

に置き換えたら、正常に表示されるようになりました。


Androidで動作確認

Android用にビルドし、Xamarin Android Playerで動作させることができました。



関連ブログ

Live2D を使ってみました 2016
[Unity3D] Unity5のプロジェクトをAndroid Studioにインポートする方法
[Unity3D] 透視投影と平行投影を合成するには
VOCALOID SDK for Unity でユニティちゃんをリアルタイムに歌わせる方法
VOCALOID SDK for Unityでユニティちゃんにvsqxを歌わせる方法
[Android] Xamarin でアプリを作ってみました

以上、参考になれば幸いです。

0 件のコメント:

コメントを投稿