4.5 KiB
4.5 KiB
Live2D Cubism——動く 2D キャラクター
Live2D Cubism は、Live2D モデルをゲームに持ち込みます: 描かれたキャラクターが呼吸し、まばたきし、一点を見つめ、物理(髪、服)で動き、絵師が作ったモーションと表情を再生します。C# 用の Cubism ランタイムとそのネイティブコアライブラリを含み、ほかの mod はこれを使ってシーンにモデルを表示します。
Cthangover ゲームの任意のブロックです。現在のストーリーコンテンツはまだ静止ポートレートを使っており、内蔵ゲームはどれも Live2D モデルを同梱していません。mod 自前のデモが動くモデルを見せてくれます。
モデルにできること
- 待機のいのち — 自動まばたき(既定でオン)と呼吸(既定でオフ)。
- 物理 — 髪や服が、モデルの
physics3.jsonに従って揺れます。 - 視線 — 頭と目が目標点へ向きます。デモでは、キャラクターの上をマウスでドラッグして視線を導けます。
- モーションと表情 — モデルに定義されたグループ(
mtn_01…)のモーションを再生したり、表情(exp_01…)を設定したりします。 - パラメータ — モデルのパラメータをどれでも直接設定できます。上の絵は、ひとつのパラメータで右腕が上がったところです。
- 配置 — モデルは自分の領域に自動で収まるか、指定した位置と倍率で置かれます。
モデルの要件
モデルは Cubism の標準エクスポートフォルダで、mod の中に置きます:
my_mod/
└── models/
└── runtime/
├── ren.model3.json 指し示す入口のファイル
├── ren.moc3
├── ren.physics3.json
├── ren.cdi3.json
├── ren.4096/texture_00.png
├── expressions/exp_01.exp3.json …
└── motions/mtn_01.motion3.json …
- モデルは Cubism モデル(
model3.json付きの.moc3)です。デモモデルは Cubism 5.3 で作られ、そのマスクとオフスクリーン描画を使っています。 - ネイティブの Cubism コアは Windows(
.dll)と Linux(.so)向けが同梱されています。 - サンプルモデルは Live2D 独自のライセンスが付きます。公開する前に、モデルの
ReadMe.txtを読んでください。
シナリオからモデルを表示する
add_live2d_model アクションが、シーンのビューへモデルを置きます:
action add_live2d_model model_path=models/runtime/ren.model3.json mod_id=my_mod node_name=Ren x=960 y=540 scale=0.5
model_path—model3.json。mod フォルダからの相対パス。mod_id— それを含む mod。node_name— このモデルのシーン内での名前(同じ名前の 2 つ目のアクションは無視されます)。x、y、scale— 省略できる位置と大きさ。なければモデルは自動で収まります。
コードを持つ mod は Live2DService.CreateModel(...) でモデルを作り、StartMotion(group, number)、StartExpression(id)、SetLiveParameter(id, value)、SetTargetPoint(x, y) を呼べます。
デモ
この mod の avatar テストスイートに、サンプルモデル Ren が入っています。有効にすると、Ren は Cthangover のヴィラの外に現れ、マウスのドラッグに従います。自動チェックが右腕を上げ、フレームを比較します。開発者向けのデモで、通常のプレイではオフです。
うまくいかないとき
- モデルが出ないのに、ログに
model_pathや mod についての表示がある。 パスは mod フォルダからの相対で、model3.jsonを指す必要があります。mod_idは、モデルを持つ mod の id でなければなりません。 - モデルの場所や大きさがおかしい。
x、y、scaleを指定するか、3 つとも省略して自動収任せにしてください。 - プラットフォーム上でモデルが読み込めない。 Cubism コアライブラリは Windows と Linux 向けしかありません。
