Cubism SDK for Unityを使ってみる

今回は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」を適用して作成しました。
テンプレートを適用する手順についてはこちらで紹介しています。

Live2Dのテンプレート機能[FaceRig]
この記事では、FaceRig向けのLive2Dモデルの構造(デフォーマ)やパラメータを、制作するモデルに移す機能(テンプレート機能)について紹介しています。

テンプレ

2. Live2Dで作成したモデルの組込み用ファイルを準備する

モデルのパラメータが完成したら、Unityで使用するための組込み用ファイルを生成します。

2.1 テクスチャ

上部メニュー「テクスチャアトラス編集」でモデルのパーツ同士が重ならないようにテクスチャを編集します。

Texture

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をインポート、視線追従の設定、自動まばたきの設定、パラメータを周期的に動作させる方法)をオリジナルのモデルで進めてみました。
まばたきや呼吸など、常時動作するパラメータを設定する際に有効な方法ですね。

タイトルとURLをコピーしました