NarraLeaf

Live2D

ダウンロードした SDK アーカイブから Live2D Cubism ランタイムを Studio プロジェクトにインストールする方法、そしてインストール後に Live2D キャラクターがサポートする内容

Live2D Cubism は 2D イラストを変形させることでアニメーションさせます。アートワーク自体は平面のままで、リグがそれを動かします。Cubism モデルは、.model3.json マニフェスト、.moc3 リグ、テクスチャページ、そしてモーション・表情・物理・ポーズそれぞれの個別ファイルを含むフォルダです。

Studio は、渡された SDK からローカルでコンパイルすることで Cubism ランタイムをインストールします。なぜどのレンダラーも Studio に同梱されないのかについては、モデルランタイムを参照してください。

始める前に

Live2D Cubism は NarraLeaf ではなく Live2D Inc. によってライセンスされています。 Live2D から SDK をダウンロードすることは Cubism SDK ライセンスへの同意を構成し、その結果生まれるゲームの中でこれを配布する当事者は、そのゲームをビルドする者です。無償利用には上限があります。Live2D が公表する年間売上のしきい値を超えると、商用リリースには彼らから別途 Publication License を取得する必要があります。複数の独立した作品をまとめたタイトルや、ビルドに含まれていないモデルを読み込むタイトルは Expandable Application に該当し、無償配布であってもリリース前に Live2D の承認が必要です。出荷前に Live2D のライセンスページ で最新の条項を確認してください。NarraLeaf はその契約の当事者ではなく、それに基づく何かを付与することはできません。

必要なダウンロードは Cubism SDK for Web です。Cubism Editor でも、SDK for Native でもありません。Live2D のダウンロードページから入手できる、約 20 MB の単一の .zip です。アーカイブはダウンロードしたままにしておいてください。展開する必要はなく、Studio が直接読み込みます。

インストール

インストーラーを開く

キャラクターから開く場合は、新規キャラクター → Live2D Cubism で作成し、その描画ランタイム行の インストール を選択します。あるいは プロジェクト → ランタイム → Live2D Cubism → インストール を使います。

規約を読む

ダイアログには何に同意することになるかが記載され、Live2D のダウンロードページへのリンクがあります。Studio は SDK を取得しません。ダウンロードページこそが Live2D のライセンスに同意する場です。確認のチェックを入れて続行します。

アーカイブを選ぶ

SDK アーカイブを選択 を選び、.zip を指定します。Studio は cubism-info.yml、Core、Framework のソース、シェーダーの有無を確認し、それが SDK パッケージであることを検証します。選択したファイルが SDK パッケージでない場合、Studio はそのアーカイブに実際に何が含まれているかを報告します。

ランタイムをビルドする

Studio は Core、Framework、シェーダーのソースを展開し、自身のアダプタコードと合わせてコンパイルし、その結果をプロジェクトに書き込みます。これには一、二秒かかります。完了すると、ダイアログはビルド元の SDK バージョンを報告します。

インストールの結果は次のとおりです。

index.js
README.md

index.js は生成されるファイルで、約 1 メガバイトあり、レンダラーがその中にコンパイルされていて、Live2D の著作権表示を含みます。licenses/ には、アーカイブに同梱されていたとおりの Live2D 自身のライセンス条文と、Core の再配布可能ファイルの一覧が収められ、README.md はどの SDK バージョンからこのファイルが生成されたかを記録します。これらはすべてプロジェクトのコンテンツであり、すべてのビルドに含まれます。

Live2D のライセンスが対象とするのは、出荷するゲームの中で SDK を再配布することであり、公開のソースリポジトリではありません。公開するリポジトリからはこのフォルダを除外してください。

再ビルドするには — 新しい SDK のため、あるいは Studio の更新でアダプタが改善された後は、上から再インストールしてください。プロジェクト内のどこも、そのファイルの中身ではなく live2d という名前だけを参照しているため、キャラクターには影響しません。

モデルを追加する

Cubism モデルはフォルダなので、フォルダとしてインポートされます。Studio はその中の .model3.json を見つけ、それをエントリポイントとして扱います。テクスチャ・モーション・物理などそれ以外のすべては、マニフェストが名指すとおりに、それを基準に解決されます。

モデルフォルダをインポートする

キャラクターの モデル 行で、プロジェクトに既存のモデルがあればそれを選ぶか、フォルダを直接インポートします。フォルダは .model3.json を含む階層でなければなりません。

Studio に読み込ませる

ランタイムとモデルの両方が揃うと、Studio はモデルをマウントしてその内容を問い合わせます。プレビューがそれを描画し、下のフィールドが埋まります。

Live2D キャラクターがサポートする内容

モデルが読み込まれると、以下はモデルから得られます。

フィールド埋まる内容
モーションマニフェスト内のすべてのモーション。<グループ>_<番号> の形式で名付けられます — Idle_0Idle_1TapBody_0。グループ名だけ(Idle)を指定することもでき、その場合は先頭のエントリを意味します。フィールドを空にすると、モデルはニュートラルなポーズになります。
表情マニフェスト内の各表情の Name
スキン空。Cubism にはスキンという概念がなく、Live2D キャラクターに設定されたスキンは警告とともに無視されます。
パラメータリグが公開するすべての Cubism パラメータ。実際の最小値・最大値・デフォルト値付きです — ParamAngleXParamEyeLOpen など。

さらに四つのパラメータはモデルではなくアダプタ由来で、リグ自身のものと衝突しないよう接頭辞が付いています。

パラメータ範囲動作
@scale0.05 – 4ボックス内でモデルを拡大縮小します。
@x@y−2 – 2ボックス内での位置を調整します。
@timeScale0 – 4アニメーション速度を調整します。0 で停止します。

モーションが適用されていないモデルは静止しているわけではありません。Cubism の呼吸と瞬きはモーショントラックとは独立に動作します。

ランタイムのオプション

オプション マップは手を加えられずランタイムに渡されます。Live2D アダプタは以下を読み取ります。

キー動作
scaleoffsetXoffsetY@scale / @x / @y の初期値。
diagnosticstrue にすると描画レポートが有効になります。最初のフレームの後、アダプタは実際に描画したピクセルを数えて記録します。これは 何も描画しなかった のか 真っ白なシルエットを描画した のかを区別でき、後者はテクスチャのアップロードが拒否された兆候です。デフォルトでは無効です。キャラクターごとにキャンバス全体の読み取りが一回必要になるためです。

モデルが表示されないとき

アダプタは読み込んだ内容を記録しており、マウントが失敗するとその記録をコンソールに出力します。有用な情報は、たいてい最終的なエラーそのものではなく、マニフェストのどのファイルで問題が起きたかです。

症状通常の原因
「Runtime not installed here」このマシンにランタイムがインストールされていません。クローン直後のプロジェクト、あるいは一度も持ったことのないプロジェクトです。
理由付きの「This model could not be drawn」報告された理由のとおりです。エントリファイルの欠落、読み込めないバンドル、あるいはランタイムが失われている場合です。
ゲーム内でキャラクターが空のボックスになるキャラクターの backend 名がインストール済みのどのランタイムとも一致しません。プロジェクト → ランタイム を確認してください。
モデルが真っ白な形として描画されるテクスチャのアップロードが拒否されました。diagnostics を有効にしてコンソールを確認してください。
何も表示されず、エラーもないインポートしたフォルダは .model3.json を含む階層でなければならず、その親フォルダではいけません。

このページの目次