Usage

使用方法

すぐに動かしてみたい場合は、 demo フォルダにある project.godot を Godot Engine のエディタから開いてください。(デモの動かし方はこのドキュメントの下に記載)

独自のプロジェクトで使用する場合は demo フォルダにある addons フォルダ以下の内容を利用したいプロジェクトにコピーしてください。

既に addons フォルダがある場合は、 gd_cubism フォルダ以下の内容をコピーしてください。

addons フォルダは GDCubism の様に Godot Engine を拡張するためのプログラムを収めるために用意されたフォルダです。

簡単な使い方(Editorから使う場合)

Live2Dモデルを読み込んで Sprite2D で表示を行う方法について説明します。

ノードの配置

以下の図を参考にしながら同じ様にノードを配置してください。

fig01

Live2Dモデルの読込

ノード一覧から GDCubismUserModel を選択して、Assets項目の右にあるファイル選択ボタンを押してください。
ファイル選択ダイアログが表示されますので、そこから任意の *.model3.json ファイルを選択します。

fig02

プレビュー画面にLive2Dモデルが表示されているのを確認

Live2Dモデルが正しく読み込まれましたら、プレビュー画面にLive2Dモデルが表示されます。

fig03

スプライトにLive2Dモデルを表示

次に Sprite2D ノードを選択して、Texture項目を開きます。
一覧から New ViewportTexture を選択すると Viewport を選択するダイアログが表示されますので、 GDCubismUserModel を選択します。

fig04

Texture欄にLive2Dモデルが表示されます。

fig05

Sprite2D の位置にもLive2Dモデルが表示されます。

fig06

トラブルシューティング

モデルが正常に読み込まれない

モデルのファイル名が日本語になっている場合は正常に読み込まれないため、Cubism Editorで出力したファイルの名前と、*.model3.json内の参照を上書きすることで正常に動作します。

まばたきが正常に行われない

*.model3.json内のEyeBlinkのIdsが指定されていない可能性があります。設定して再出力するか、IdsにParamEyeLOpenとParamEyeROpenを追記してください。

表示される画像が汚い

0.5以降でシェーダーにMipmapが有効になりました。

有効にする場合は、Live2Dで使用しているテクスチャを Mipmap を有効にして再インポートを行なってください。

mipmap01

Mipmapの効果はかなり高いですが、絵によってはぼやけた感じとなる場合があります。

Mipmap適用なし

mipmap02a

Mipmap適用あり

mipmap02b

プロジェクトを Export すると Live2D モデルが表示されない

Live2Dモデルは様々なファイルを使用していますが、これらのファイルは Live2D が内部で読み込みます。そのため、 Godot Engine は Live2D 関係のリソースをうまくパッケージに取り込むことが出来ません。

正しくパッケージに取り込まれるようにするには Export 画面の Resources 欄に、あなたが使用しているリソースやリソースが収められているフォルダを直接指定しなければなりません。

指定方法についてはオフィシャルドキュメントの Exporting projects に Resource options という欄がありますので、説明を読みながら適宜追加してあげてください。

デモについて

demo フォルダには、サンプルとして以下のものが収められています。どのサンプルも動かすにはLive2Dモデルの虹色まおが必要となります。

このLive2Dモデルは、https://www.live2d.com からダウンロードする事が出来ます。

ダウンロードしたファイルの中身を以下の様に配置してください。

  • (demo/addons/gd_cubism/example/res/live2d)

    • mao_pro_jp

      • runtime

        • expressions

          • …​

        • map_pro_t02.4096

          • …​

        • motions

          • …​

        • mao_pro_t02.cdi3.json

        • mao_pro_t02.moc3

        • mao_pro_t02.model3.json

        • mao_pro_t02.physics3.json

        • mao_pro_t02.pose3.json

      • mao_pro_t02.can3

      • mao_pro_t02.cmo3

手持ちのモデルで試したい場合は、上を参考にして出力したものを demo/addons/gd_cubism/example/res/live2d 以下に配置してください。

関連ドキュメント

デモの説明

Name Desc

demo_effect_custom_01.tscn

GDCubismEffectCustom を使用したサンプルとなります。

demo_effect_custom_02.tscn

GDCubismEffectCustom を使用したサンプルとなります。

demo_effect_custom_03.tscn

GDCubismEffectCustom を使用したサンプルとなります。 簡易的なリップシンクを行なって、音量にあわせて口を動かしています。

demo_effect_custom_target_point.tscn

GDCubismEffectTargetPoint を使用したサンプルとなります。 マウスの位置にあわせてLive2Dモデルが視線を向ける動作をします。

demo_effect_hit_area.tscn

GDCubismEffectHitArea を使用したサンプルとなります。 Live2Dモデルに設定された HitArea の使い方サンプルでもあります。

demo_simple.tscn

Nodeの組み合わせのみでLive2Dモデルの表示を行うサンプルとなります。

demo_transparent.tscn

Live2Dモデルの周囲を透明にしてキャラクターのみを表示するサンプルとなります。

viewer.tscn

簡易的なビューアを兼ねたサンプルとなります。 ExpressionMotion を再生できます。

プログラムは GDScript 版と C# 版が用意されています。 tscnファイルに割り当てられているスクリプトを入れ替える事で動作確認が可能です。

API Reference / C# Support status

GDCubismにはさまざまなクラスが用意されています。使用方法は以下のリンク先のドキュメントを参照してください。

GDScript Class C# Class Features

GDCubismEffect

GDCubismEffectCS

-

GDCubismEffectBreath

GDCubismEffectBreathCS

GDCubismEffectCustom

GDCubismEffectCustomCS

GDCubismEffectEyeBlink

GDCubismEffectEyeBlinkCS

GDCubismEffectHitArea

GDCubismEffectHitAreaCS

GDCubismEffectTargetPoint

GDCubismEffectTargetPointCS

GDCubismMotionEntry

GDCubismMotionEntryCS

x

GDCubismMotionQueueEntryHandle

GDCubismMotionQueueEntryHadleCS

x

GDCubismValueAbs

GDCubismValueAbsCS

-

GDCubismParameter

GDCubismParameterCS

GDCubismPartOpacity

GDCubismPartOpacityCS

GDCubismUserModel

GDCubismUserModelCS