今回はCubism SDK for Unityを使用して、Live2Dのモデルを動かす SDKチュートリアル を進めてみます。
Unityとは?
Unity(ゲームエンジン)
Unityは、統合開発環境を内蔵し、複数の機材(platform)に対応するゲームエンジンである。
ウェブプラグイン、デスクトッププラットフォーム、ゲーム機、携帯機器向けのコンピュータゲームを開発するために用いる。
Cubism SDK for Unityを使ってみる
Cubism SDK for Unityを使用して、Live2Dのモデルを動かすまでの流れを紹介します。
1. Unityで表示するモデルをLive2Dで作成する
Live2Dでモデルの各種パラメータ(角度X.Y.Z[顔の動き]体の回転X.Y.Z[体の動き]など)を作成します。
テンプレート機能を利用すると、作業を短縮できるのでおすすめです。
今回使用するモデルはLive2Dのテンプレート「FaceRig」を適用して作成しました。
テンプレートを適用する手順についてはこちらで紹介しています。
2. Live2Dで作成したモデルの組込み用ファイルを準備する
モデルのパラメータが完成したら、Unityで使用するための組込み用ファイルを生成します。
2.1 テクスチャ
上部メニュー「テクスチャアトラス編集」でモデルのパーツ同士が重ならないようにテクスチャを編集します。
2.2 moc3とmodel3.json
上部メニューから「ファイル > 組込み用ファイル書き出し > moc3ファイル書き出し」を実行することで、moc3とmodel3.jsonファイルが生成されます。
(モデルに物理演算やイベントなどを設定している場合はphysics3.jsonやuserdata3.jsonなどが追加されます)
生成した組込み用ファイルは1つのフォルダにまとめて格納します。
このときmodel3.jsonで指定されているパス(初期配置)の通りに格納しないとUnityで読み込まれなくなるので、そのままの状態で組込み用ファイルをまとめます。
3. UnityとCubism SDK for Unityをダウンロードする
組込み用ファイルが用意できたので、Unity本体をダウンロードします。
3.1 Unity
Unityの公式サイトからUnity Hubをダウンロードして、バージョンが2019以降のUnityをインストールします。
3.2 Cubism SDK for Unity
Live2Dの公式サイトからダウンロードできます。
4. UnityでLive2Dのモデルを表示する
Unity を起動したら Project に Cubism SDK for Unity(ダウンロードしたUnity package file) をドラッグ&ドロップします。若しくは上部メニューから「Assets > Import Package > Custom Package」でダウンロードしたパッケージファイルをインポートします。
Cubism SDK for Unity をインポートしたら、組込み用ファイルをまとめたフォルダを Project にドラッグ&ドロップします。
エラーがなければLive2Dモデルのプレハブが生成されます。
Cubism SDKチュートリアル「SDKをインポート」の手順で簡単にモデルをインポートすることができました。
5. モデルの視線追従、まばたき、ループするパラメータを設定する
Live2Dのモデルを表示することができたので、少し動かしてみます。
5.1 視線追従
マウスカーソルの位置とモデルの視線を連動させることができます。
設定の手順
(1) Live2DモデルにCubism Look Controllerを追加
(2) 連動させるパラメータにCubism Look Parameterを追加
(3) GameObjectにCubism Look Targetを追加
(4) Cubism Look ControllerのTargetに(3)で作成したGameObjectを設定
追従させるパラメータをCubism SDKチュートリアルと同様に「PARAM_ANGLE_X , Y(顔の角度X , Y)とPARAM_EYE_BALL_X , Y(瞳の位置X , Y)」とすると、下図のように動きます。
5.2 まばたき
モデルがランダムでまばたきを行うようになります。
設定の手順
(1) Live2DモデルにCubism Eye Blink Controllerを追加
(2) まばたき用のパラメータにCubism Eye Blink Parameterを追加
(3) Live2DモデルにCubism Auto Eye Blink Inputを追加
Cubism SDKチュートリアルと同様に「PARAM_EYE_L_OPEN(左目の開閉)、PARAM_EYE_R_OPEN(右目の開閉)」にスクリプト(Cubism Eye Blink Parameter)を追加しました。スクリプトの数値を変えることでまばたきのスピードや頻度を調整することができます。
5.3 ループするパラメータ
モデルのパラメータが周期的に動くようになります。
設定の手順
(1) Live2DモデルにCubism Harmonic Motion Controllerを追加
(2) 周期的に動かすパラメータにCubism Harmonic Motion Parameterを追加
今回は周期的に動かすパラメータをPARAM_BREATH(呼吸)としました。
Cubism Harmonic Motion Parameterの設定は下図のようにしています。
6. 動作確認のサンプル
上記3つの設定(視線追従、まばたき、呼吸)でモデルを動かした際の様子を録画しました。
まとめ
今回は4種類のCubism SDKチュートリアル(SDKをインポート、視線追従の設定、自動まばたきの設定、パラメータを周期的に動作させる方法)をオリジナルのモデルで進めてみました。
まばたきや呼吸など、常時動作するパラメータを設定する際に有効な方法ですね。