← ドキュメント一覧

VRM・Live2D キャラクター

作成日: 2026-06-10 / 更新日: 2026-06-10

kaedevn は 2D 立ち絵に加えて、VRM(3D)Live2D(2D アニメ) のキャラクターに対応しています。いずれも 2D 立ち絵と同じスクリプト記法で配置・制御でき、表情・口パク・モーションは 3 系統横断で共通のコマンドが使えます。

状態: ロードマップ Phase 3「VRM・Live2D キャラクター統合」はテスト中です。現時点では同梱の公式サンプルのみ利用でき、独自モデルの取り込みは未対応です。

対応状況(早見表)

種別形式描画プラットフォーム状態
2D 立ち絵画像PixiJSWeb / ネイティブ対応
Live2DCubism 3 / 4 / 5PixiJS(untitled-pixi-live2d-engine)Web のみテスト中
VRMVRM 1.0 / 0.xFilament(Web / ネイティブ共通)Web + macOS / Windows / Android(Filament)。iOS は現状スタブテスト中

VRM(3D キャラクター)

  • 対応バージョン: VRM 1.0 をフル対応、VRM 0.x はレガシー対応(A ポーズへのリセットや歩行ポーズ補正は VRM 1.0 準拠モデルでのみ動作)。
  • 描画: 3D は Filament(WebGL)でレンダリングし、PixiJS の 2D レイヤーの上に別キャンバス(z-index)として重ねて合成します。@sceneMode 2d | vrm で 2D / 3D シーンを切り替えます。
  • トゥーン表現: 独自の Filament マテリアル(toon.filamat)に差し替えてアニメ調の陰影を出します(glTF の MToon 拡張ではなく独自実装)。
  • 表情: モデルが持つプリセット表情+カスタム表情を読み込み、名前と重み(0〜1)で適用します。表情数はモデル依存です。
  • 揺れもの: VRMC_springBone(Verlet 積分)で髪・スカートが自然に揺れます。コライダー(当たり判定)は初版未対応。
  • ノード制約: VRMC_node_constraint(roll / aim)を評価し、袖・ツイスト用のボーン(J_Roll / J_Aim)を駆動します。これを評価しないと、humanoid ボーンを動かしても腕まわりが T ポーズのまま残ります。
  • ポーズ・配置: 立ち位置 pos(L/C/R)、x / y / s(スケール)、rotY(Y 軸回転)、プリセットポーズ aPose / idle

VRM コマンド

@sceneMode vrm                         # 3D シーンに切替(2d で戻す)
@vrmShow akane pos=C fade=500           # VRM モデル表示
@vrmExpression happy weight=1 dur=300   # 表情(プリセット/カスタム名)
@vrmPose idle                           # ポーズプリセット(aPose / idle)
@vrmHide fade=500                       # 非表示

Live2D(2D アニメキャラクター)

  • ライブラリ: untitled-pixi-live2d-engine(PixiJS 統合)。Cubism 3 / 4 / 5 に対応。
  • モーション: 任意の名前付きモーショングループ(Idle / TapBody など)をインデックス指定で再生。
  • 表情: モデル定義から読み込んだ名前付き表情。
  • リップシンク: 音声再生に同期(speak(audioUrl))、または ParamMouthOpenY への手動値で口パク。
  • まばたき・呼吸: エンジンが自動処理。

Live2D コマンド

@live2d hiyori motion=Idle x=640 y=360 scale=0.13   # 表示(path/motion/index/x/y/scale 省略可)
@live2d_motion hiyori TapBody index=0               # モーション再生
@live2d_expression hiyori smile                     # 表情
@live2d_hide hiyori                                 # 非表示

3 系統共通の表情・口パク・モーション

表情・口パク・モーションは 2D 立ち絵 / Live2D / VRM 横断で同じコマンドが使えます(キャラの種別に応じて内部で振り分け。kanim キャラは一部未対応)。

  • @ch_expr name expression [fadeMs] — 表情変更(2D=テクスチャ差し替え、Live2D=表情呼び出し)
  • @ch_lip name auto|off|voice [audioUrl] — リップシンク(Live2D は ParamMouthOpenY
  • @ch_motion name motion [index] — モーション再生(Live2D のモーション)

制限事項(現状)

  • Phase 3 テスト中。同梱の公式サンプルのみ利用可能で、独自モデルの取り込みは未対応。
  • VRM の springBone コライダーは未対応。VRM 0.x は一部のポーズ補正が効かない。
  • Live2D はネイティブ未対応(Web のみ)。VRM はネイティブも対応:macOS / Windows / Android が Filament バックエンド(各 ABI 用 Filament ライブラリが配置されている前提。無ければスタブ)。iOS は現状スタブ(Filament パス未配線)。

関連ドキュメント

Ad: inContent (336x280)
Ad: stickyBottom (728x90)
kaedevn - ノベルゲームを作れるプラットフォーム