[WEB Add] VRM to GLB Animation + Pose Export - VRMへのアニメーション適用とGLB出力

[WEB Add] VRM to GLB Animation + Pose Export - VRMへのアニメーション適用とGLB出力

概要

VRM モデルに VRM Animation(.vrma)やポーズデータを適用し、アニメーション付きの汎用 GLB ファイルとしてブラウザ上で変換・エクスポートするツール。 アップロード不要で、すべての処理はローカル環境(ブラウザ内)で実行され、外部サーバーには送信されません。

Three.js (r183) の GLTFExporter を使用し、VRChatやVRM規格で利用されるボーン構造(J_Bip_C_HipsJ_Bip_C_Chest など)や表情モーフターゲット(BlendShapes)を保持したまま、アニメーションがバインドされた標準的な .glb ファイルを出力します。

🔗 ツールを開く: VRM to GLB Animation + Pose Export

[WEB Add] VRM to GLB Animation + Pose Export - VRMへのアニメーション適用とGLB出力

使い方

1. VRM を読み込む

画面左上のエリアからモデルを読み込む。

  • ドラッグ&ドロップ — .vrm ファイルを破線エリア(Drop VRM file here)にドロップ
  • クリックで選択 — エリアをクリックしてファイル選択ダイアログから選ぶ
[WEB Add] VRM to GLB Animation + Pose Export - 1. VRM を読み込む

2. アニメーション(VRMA)を読み込む・適用する

画面右上の ANIMATIONS セクションからアニメーションデータを適用する。

  • .vrma ファイルの追加 — アニメーションドロップエリア(Drop VRMA files here)に .vrma ファイルを読み込ませる。
  • 再生・切替 — 一覧に追加されたアニメーション名(例: walk など)をクリックして再生・停止やループ状態を切り替える。

中央の 3D プレビューエリアで、モデルにアニメーションがリアルタイム適用されていることを確認できる。

[WEB Add] VRM to GLB Animation + Pose Export - 2. アニメーション(VRMA)を読み込む・適用する

3. エクスポートオプションを設定する

EXPORT OPTIONS セクションで出力時のカスタマイズ項目を設定する。

パラメータ / オプション操作概要
Remove BlendShapes (morph targets)チェックボックス表情などのブレンドシェイプデータを除去してファイル容量を削減する。
Remove SpringBone nodesチェックボックス髪や衣装などの揺れもの(SpringBone)用ノードを除去し、メッシュ構造を軽量化する。
Convert to Unlit materialsチェックボックスMToon 等の特殊シェーダーマテリアルを、汎用性の高い標準 Unlit マテリアルに変換して出力する。
[WEB Add] VRM to GLB Animation + Pose Export - 3. エクスポートオプションを設定する

4. GLB の出力とダウンロード

▶ EXPORT GLB ボタンをクリックすると、設定されたアニメーションおよびボーン構造をバインドした GLB エクスポート処理が開始される。

処理完了後、RESULT セクションにファイルサイズが表示され、⬇ DOWNLOAD ボタンをクリックして [元のファイル名]_anim.glb ファイルをローカルにダウンロードできる。

RESULT 表示例内容
5.1 MB - 48.0%出力された GLB ファイルのサイズおよび削減率
[WEB Add] VRM to GLB Animation + Pose Export - 4. GLB の出力とダウンロード

エクスポート設定の使い分け

用途や移動先のプラットフォームに合わせてオプションを切り替えて使用します。

利用目的・ターゲット推奨設定理由
Blender / Unity 等での二次利用全オプション OFFボーン構造・表情・メッシュを完全に保持して持ち出せるため。
軽量なWeb3Dビューワーでの表示Remove SpringBone, Convert to Unlit ON不要な軽量化要素を取り除き、描画負荷を大幅に軽減できるため。
アニメーションポーズのみの固定軽量化Remove BlendShapes ONモーフターゲット(表情キー)を削除し、純粋なポーズ付きモデルとして容量削減するため。

ボーン構造とアニメーションの保持

本ツールは Three.js の GLTFExporter を内部で使用しており、VRM 固有のヒューマノイドボーン階層をそのまま保持した状態で GLB のアニメーショントラック(AnimationClip)へと変換・書き出しを行います。

保持・変換される構造:

  • ヒューマノイドボーン構造J_Bip_C_Hips, J_Bip_C_Chest, J_Bip_L_UpperArm などの親子階層を完全に維持
  • モーフターゲット(BlendShapes)Fcl_ALL_Fun, Fcl_EYE_Close などのフェイス表情キー
  • アニメーショントラック — 位置(Position)、回転(Quaternion)、スケール(Scale)のタイムラインデータ

互換性に関する注意

出力されるファイルは標準的な .glb (glTF 2.0 Binary) 形式です。

プラットフォーム / ツール動作状況備考
Three.js / WebGL ビューワー✅ 完全対応アニメーションクリップとして即時再生可能
Blender✅ 対応インポート後にタイムラインでアニメーションを確認可能
Unity (glTFast / UniGLTF)✅ 対応glTF インポーター経由で読み込み可能
VRChat⚠ 要変換FBX への変換または Unity 上でのインポートが必要

関連ツール

ツール用途
VRM OptimizerVRMモデルのファイルサイズを軽量化
GLB CompressorGLBモデル(VRM以外)の軽量化
VRM Texture ReplacerVRMテクスチャの確認・差し替え・再エクスポート
VRM Thumbnail GeneratorVRMモデルのサムネイル生成

技術仕様

項目内容
レンダリングThree.js (WebGL) + @pixiv/three-vrm
アニメーション再生Three.js AnimationMixer + @pixiv/three-vrm-animation
GLB エクスポートThree.js GLTFExporter (r183)
フレームワークAstro + Vanilla JS
データ処理全てブラウザ内、サーバー通信なし

対応ブラウザ

WebGL および ES6 モジュール対応のモダンブラウザ(Chrome / Edge / Firefox / Safari)。 アニメーションのリアルタイム適用およびバイナリエクスポート処理を伴うため、PC環境での利用を推奨。