UnityアニメーションにVMDのエクスプレッションを追加するやつ
- Digital0 JPY

◆◆◆ VMD BlendShape Importer ◆◆◆ このツールは、MikuMikuDance形式(VMD)の顔表情モーフデータをUnityのアニメーションファイルに統合するEditor拡張です。 ◆ 主な機能 ------- 1. VMDファイルのFaceKeyframesから表情モーフを読み込み 2. MMDモーフ名とVRMブレンドシェイプ名の対応設定をGUIで編集 3. 対応設定をJSON形式で保存・ロード 4. Bodyおよび指定オブジェクト(デフォルトはBodyとFace)へキーを生成 5. 再生進捗を示すPlaybackProgressをON/OFFで追加 6. 既存のアニメーションキーは保持し、新規キーのみ追加 ◆ インストール ----------- 1. プロジェクト内に「Assets/Editor」フォルダを作成 2. VMDBlendShapeImporter.cs をそのフォルダに配置 3. Unityが自動でスクリプトをコンパイル ◆ 使い方 ------- 1. Unityメニュー「Tools > VMD BlendShape Importer」を選択 2. Base .anim: 既存のアニメーションクリップを設定 3. VMD File: 「Browse」ボタンで読み込む.vmdを選択 4. Output Path: 出力先のアニメーションクリップ名(例: Assets/MergedFromVMD.anim)を入力 5. Secondary Object: Bodyのほかにキーを生成したいSkinnedMeshRenderer名を入力(空欄で無効) 6. Include Playback Progress: カーブ追加のON/OFFを切り替え 7. Import and Merge: 処理開始 ◆ マッピング編集 ------------- - GUI上で「MMDモーフ名」と「VRMブレンドシェイプ名」を入力 - Add Mappingで行追加、Xボタンで削除 - Save Mapping ConfigurationでJSON保存 - Load Mapping ConfigurationでJSON読み込み ◆ JSONフォーマット例 MMDの「あ、い、・・・」をVRM「Fcl_MTH_A、Fcl_MTH_I、・・・」に変えて読み込みたい場合: ---------------- { "entries": [ { "MmdMorph": "あ", "VrmBlendShapes": "Fcl_MTH_A" }, { "MmdMorph": "い", "VrmBlendShapes": "Fcl_MTH_I" }, ・・・ ] } *TDA式標準のキーをそのまま読み込みたい場合の例は付属のmapping_example.jsonを参照のこと ◆ 注意事項 --------- - JSON構造はentries配列を想定 - Secondary Objectを空文字にすると生成スキップ(デフォルトはFace) - PlaybackProgressキーは上書きされるので注意 - 出力ファイルは上書きされるので、連続で使用する場合はバックアップを推奨 ◆ PlaybackProgressの使い方 例1)Unity の Animator で、PlaybackProgress が 0.5 以上になったらステートを遷移する 例2)C# スクリプトで animator.GetFloat("PlaybackProgress") を監視し、0.75 以上になったタイミングで効果音を再生する 例3)UI のプログレスバー(Slider や Image.fillAmount)に PlaybackProgress の値をバインドして、アニメーション再生の進行度を可視化する ◆ ライセンス --------- MITライセンス @Coatie