LiplisMoonlight2.0から、独自キャラクターデータをロードし、好きなキャラクターにおしゃべりさせられるようになりました。

このページでは、LiplisMooonlightに独自キャラクターデータを読み込むための手順をまとめています。

キャラクターデータはLive2dモデルが基本となります。
もしLive2dモデルをお持ちでしたら、ぜひチャレンジしてみて下さい!

step0

 
 

1. LiplisMoonlightのダウンロード

GitHubのページから、ソースコードを取得します。
https://github.com/LipliStyle/LiplisMoonLight/releases

直接ファイルをダウンロードする場合は以下からダウンロードできます。
https://github.com/LipliStyle/LiplisMoonLight/releases/download/2.1/LiplisMoonlight_Windows_2.1.0.zip
 
 

2. UnityでLiplisMoonlightを開く

ダウンロードしたプロジェクトをUnityで開きます。
Unity2019.1.0f2で開発しています。
 
 

3. Spicy Pixel のインポート

「Spicy Pixel」を使わせて頂いております。
アセットストアからインポートして下さい。

以下のアドレスか、AssetStoreで「Spicy Pixel 」で検索して下さい。
https://assetstore.unity.com/packages/tools/spicy-pixel-concurrency-kit-3586

インポート時、「Sample」と「Test」のチェックを外して下さい。
SampleとTestのソースでエラーが発生するためです。
 
 

4. CubismSDK for Unity のインポート

Live2d動作のため、「Cubism SDK for Unity」を使わせて頂いております。
以下のアドレスからパッケージをダウンロードし、インポートして下さい。
https://live2d.github.io/
 
 

5. Unityで実行

実行してみて下さい。これまでの手順でうまく動くと思います。
  
 

6 独自キャラクターデータの作成、差し替え

デザインデータ、キャラクターモデルデータを作成します。
 

6.1 LiplisMoonlightプロジェクトの構成

LiplisMoonlightのプロジェクトの構成は以下のようになっています。

Resoureceフォルダ配下には、アプリのデザイン画像ファイルが入っています。
ボタンなどの画像を、キャラクターたちの世界観や雰囲気に合わせて変更してみて下さい。

StreamingAssetsフォルダ配下、Modelsフォルダ配下にモデルファイルを配置します。

LiplisMoonlight2.0で使用しているLive2dのモデルはCubismEditor3.xで作成されている必要があります。
また、モーション、表情ファイルも、バージョン3.xで作成されている必要があります。

step0

 

6.2 LiplisMoonlightモデルデータの構成

上記のModelsフォルダ配下にキャラクターごとのモデルデータを入れていきます。
キャラクターフォルダ配下のフォルダ構造は、この仕様に準拠する必要があります。

step0

 

6.3 Expressionsフォルダと表情データについて

あらかじめ、Live2dの表情データを作成しておく必要があります。

20種類の感情に対応した表情を作成する必要があります。
ただ、必ずしも全部作る必要はありません。未設定の場合は、ノーマルの表情が適用されます。

Expressionsフォルダには、Live2dの表情データを入れておきます。

表情データは、ファイル名によって、感情と紐付けてプログラムに認識されます。
以下のようなフォーマットになっています。

EMOTION_表情追番_感情名_感情の雰囲気_同一表情追番.motion3.json

表情追番:任意の番号を設定して下さい。特にプログラムからは認識されません。
感情名:下表に示す感情に紐付いた感情名
感情の雰囲気:PまたはMを設定します。Pはプラス、Mはマイナスを示します。
追番:1つの感情で複数パターン表情を設定したい場合は、追番を増やして追加します。

対応感情

step0

 

6.4 Motionsフォルダとモーションデータについて

あらかじめ、Live2dのモーションデータを作成しておく必要があります。

20種類の感情に対応したモーションを作成する必要があります。
こちらも、必ずしも全部作る必要はありません。未設定の場合は特にモーションを行いません。

Motionsフォルダには、Live2dのモーションデータを入れておきます。

モーションデータもファイル名によって感情と紐付けてプログラムに認識されます。
以下のようなフォーマットになっています。

MOTION_感情追番_感情名_感情の雰囲気_追番.motion3.json

表情追番:任意の番号を設定して下さい。特にプログラムからは認識されません。
感情名:下表に示す感情に紐付いた感情名
感情の雰囲気:PまたはMを設定します。Pはプラス、Mはマイナスを示します。
追番:1つの感情で複数パターン表情を設定したい場合は、追番を増やして追加します。

対応感情については、表情の項と同じです。
 

6.5 Imagesフォルダについて

画像を格納しておきます。

今のところ、このフォルダには、
おしゃべりウインドウに表示するキャラクターアイコンを入れておく必要があります。

以下の名前でキャラクターアイコンファイルを作成し、入れておいて下さい。
サイズは200×200として下さい。

IconCharacter.png

 

6.6 Modelsフォルダについて

Live2dモデルデータを格納しておきます。

組み込み用ファイル書き出しにて書き出したモデルデータをこのフォルダに入れておきます。
 

6.7 Settingsフォルダについて

固定のセリフを設定したファイル、口調返還ルールを設定したファイルを格納します。

LiplisToneSetting.json口調返還ルールファイル
LiplisToneSetting.json口調返還ルールファイル

これらのファイルは、以下のExcelファイルにより作成することができます。
添付の説明シートを御覧ください。
https://liplis.mine.nu/LiplisWiki/webroot/file\LiplisMoonlightCustom/口調設定作成Excel.xlsm

6.8 各データの紐付け LiplisModel.jsonファイルの作成

表情、モーション、口調など各ファイルの紐付け、
モデルの表示位置、おしゃべりウインドウの表示位置など、
LiplisModel.jsonファイルに設定します。

LiplisModel.jsonを簡単に作成するツールを用意しています。
https://liplis.mine.nu/LiplisWiki/webroot/file\LiplisMoonlightCustom/LiplisMoonlightSettingCreator.zip

ツールを起動し、設定を行います。

葉月のデータを読み込んで、参考にしてみて下さい。

詳細な使い方は後日追記します!

6.9 各モデルの紐付け LiplisModels.jsonファイルの作成

最後に、キャラクターフォルダのリストを「LiplisModels.json」に記述します。

例えば、葉月たちのモデルの場合、4人分のモデルデータを配置しており、以下のように記述しています。
作成したフォルダに合わせて変更して下さい。

{
  "ModelList": [
    "/Hazuki",
    "/Kuroha",
    "/Momoha",
    "/Shiroha"
  ]
}

 
 
以上で、問題がなければキャラクターがLiplisMoonlight上でおしゃべりするはずです。