MotionGrounder(モーション接地補正・Humanoid クリップ全体を一定量上下にずらして足の浮き/埋まりを補正・一括処理・Unityエディター拡張) | 元クリップは変更せず新しい .anim を書き出し(買い切り)
- Digital1,000 JPY





配布モーションや、台の上で収録されたモーションを自分のアバターに入れたら、足が浮いた、床にめり込んだ。そんなときの Unity エディター拡張です。Humanoid のクリップを自分のキャラに実際にサンプリングして足裏の最下点を測り、その分だけクリップ全体を一定量上下にずらした新しい .anim を書き出します。クリップが何本あっても一括で処理でき、元のクリップは変更しません。 【補正の範囲】クリップ全体を一定量ずらす補正です。足の滑りや、フレームごとの浮き沈み、足の IK 固定は直しません。結果表の「OK」は、選んだ測定基準(最下点または区間平均)を満たした、という意味で、全フレームの見た目の保証ではありません。 【対象になる素材(購入前にご確認ください)】 ・Unity に取り込み済みの Humanoid の AnimationClip と、有効な Humanoid Avatar・足ボーンを備えたキャラが必要です。RootT.y(ルートの高さ)のカーブがないクリップは対象外です ・購入前の確認方法の目安:Project でクリップ(FBX の場合はそのモデル)を選び、Inspector の Animation Type(Rig タブ)が Humanoid になっているかを見てください。なお、対象外のクリップは、本ツールの「測定のみ」でも理由つきでスキップとして表示されます(制作側の自動テストで確認済み)。購入後に手持ちのクリップを試す使い方になります ・MMD(VMD)の読み込みや、Humanoid への変換は、本製品では行いません。別の方法で Unity に取り込み、Humanoid の .anim にしたものが対象です ・補正するモデル・モーションの利用条件は、元の配布元の規約に従ってください 【確認状況(購入前にお読みください)】体験版はありません。購入前の確認は、販売画像と説明文でお願いします。動作確認は Windows / Unity 6(6000.5)のみです。Unity 2022.3 LTS、URP / HDRP の実プロジェクトでの動作は未確認です。ウィンドウの見た目・ドラッグ&ドロップ・ダイアログは、制作側では自動テストでの確認までで、手で触っての確認をしていません。FBX の中に入っているクリップ、実際に配布されているモーション(MMD・VRChat 向けなど)、VRChat に組み込んだ後の動作は確認していません。画像の人型と数値は、制作側で Unity 6 を実際に動かして得た出力ですが、エディター画面そのもののスクリーンショットではありません。 買い切り1,000円・追加費用なしです。本製品は SaiRollStudio が制作した非公式ツールであり、Unity Technologies の公式製品ではありません。 【こんなお困りごとに】 ・配布モーションを自分のアバターに入れると、足が宙に浮く、または床にめり込む ・Unity の Root Transform Position (Y) の Offset を、クリップ1本ずつ手で詰めて試行錯誤している ・何十本もあるモーションの足の高さを、まとめて合わせたい 【特長】 ・基本の補正量を自動計算:クリップを自分のキャラで実際に再生して、足ボーンの高さから Animator の FeetBottomHeight(足首から足裏まで)を引いた位置を全フレームで測り、足裏が Y=0 に来る量を求めます。靴底の厚みなどは、追加オフセット(m)で微調整できます ・測り方は2種類:「全体の最下点を0に」(既定)は、クリップ全体で一番低い足裏を Y=0 にします。ジャンプなどの動きは保たれます。「指定フレーム区間の平均を0に」は、立ち姿の区間(例 0〜10 フレーム)の足裏を基準にするので、座りや寝転びの最下点に引っ張られません ・測定のみ:書き出さずに、クリップごとの最下点(m)と適用するずれ(m)を表で確認できます。行をクリックすると元のクリップを Ping します ・書き出し:元のクリップと同じフォルダ(または指定フォルダ)に <名前>_Grounded.anim を作ります。同名のファイルがあっても上書きせず、連番の別名にします。元の全カーブ(Object Reference 含む)・AnimationEvent・クリップ設定(Loop Time・Mirror・Cycle Offset など)は引き継ぎます ・書き出し後の再測定:書き出したクリップを同じキャラで測り直し、最下点が 0±0.002 m(区間モードは区間平均、追加オフセットを使った場合はその値)に入っているかを「OK / 要確認」で表示します ・一括処理:クリップは複数登録できます(Project からのドラッグ&ドロップ、選択中を追加、フォルダ指定で中の Humanoid クリップすべて)。Humanoid でないクリップ・長さ0のクリップなどは、理由つきでスキップします。進捗バーとキャンセルつき ・シーンを汚しません:サンプリング用のキャラは複製して隠して使い、終了時(キャンセル時も)必ず消します ・CSV 書き出し(UTF-8 BOM 付きで Excel で開けます)・日本語 / English 切り替え。Editor 専用でビルドには入りません。外部ライブラリの同梱なし ・サンプル付き:自作の箱のマネキン(Humanoid Avatar つき)、「浮いている」「沈んでいる」クリップ各1本、サンプルシーン。第三者のモデル・モーション・テクスチャは入っていません 【同梱物・導入】 同梱の unitypackage をプロジェクトにインポートします。Assets/MotionGrounder/ に入ります(Editor・Samples・README_ja.txt・LICENSE.txt)。サンプルの箱マネキンは Built-in のマテリアルを使うため、URP では色が違って見えることがありますが、補正の動作には影響しません。サンプルが不要なら Samples フォルダごと削除して構いません。 【使い方】 1. メニュー Tools > MotionGrounder > 接地補正 を開く 2. 補正に使う Humanoid キャラ(シーン上のオブジェクト / プレハブ / FBX)を指定する 3. クリップを追加する(ドラッグ&ドロップ・選択中を追加・フォルダ指定) 4. 測り方(全体の最下点 / 区間の平均)を選び、必要なら追加オフセットを入れる 5. 「測定のみ」で値と、スキップされたクリップの理由を確認 → 「書き出す」で _Grounded.anim を作る 6. 生成した .anim を、使用先の Animator 等で元のクリップと差し替え、実際の再生環境で見え方を確認する アバターへの自動組み込み・アップロードまでは行いません。 【書き出したクリップの設定について(重要)】 ずれが見た目に反映されるよう、書き出すクリップは Root Transform Position (Y) を「Bake Into Pose = ON」「Based Upon = Original」に変更します。Y 方向のルートモーションを使うゲームでは、元と同じ移動の挙動になることは保証できないため、差し替え後に挙動を再確認してください。それ以外の設定は元のままです(Loop Time を強制的にオンにするオプションあり。既定は元のまま)。 【体格・拡大縮小について】 体格の違いは humanScale で対応します(Humanoid のルート位置は体格で割った値のため、メートルのずれを humanScale で割ってカーブに足しています)。シーン上の Transform Scale は等倍にして測定します(2倍・0.5倍で自動テスト済み)。拡縮して配置したキャラは、配置先での見た目を確認してください。非一様スケール(例 1,2,1)のキャラは、結果表と CSV に注意が出ます(測定は続けます)。 【確認した結果(Unity 6・制作側の自動テスト)】 ・EditMode テスト13件がすべて合格、コンパイルエラー0・警告0。別の担当が書いた検証コードでも確認しています。新しい空のプロジェクトへ導入してコンパイルエラー0・警告0、メニューとウィンドウの型があることも確認 ・自作の箱マネキンで、+0.15 m 浮いたクリップと -0.08 m 沈んだクリップを補正し、書き出したクリップを測り直して最下点 0±0.002 m(実測 0.0000)。体格 0.6 倍・1.5 倍のキャラ、シーン上で拡大縮小したキャラ(2倍・0.5倍)でも同じ ・区間モード(0〜10 フレーム)で、区間の平均が 0±0.002 m になり、区間外のジャンプなどの上下の差が元と同じこと ・元の .anim と .meta がファイルのハッシュで変わらないこと、同名の書き出しは上書きせず連番になること、AnimationEvent・Object Reference カーブ・Mirror などの設定が引き継がれること ・Humanoid でないクリップ・長さ0のクリップ・足ボーンのないキャラ・Animator のないキャラで例外が出ず、理由つきでスキップされること。CSV はカンマ・引用符・改行・日本語を含む名前でも崩れないこと ・20本のクリップの一括処理は約0.7秒(自作クリップ・制作側の PC での実測。実際のモーションでは変わります)。処理後にシーンへ複製が残らないこと 上はすべて同梱サンプルと自作の合成データでの値です。実際の配布モーションでの確認は、制作側では行っていません。 【制限・注意(必ずお読みください)】 ・動作確認は Windows / Unity 6 のみです。Unity 2022.3 LTS は未確認です(2022.3 でも動くように書いていますが、実機では確認していません)。URP / HDRP も未確認です(描画には依存しない作りです) ・ウィンドウの見た目・ドラッグ&ドロップ・フォルダ選択ダイアログ・結果表の操作・プログレスバーは、制作側では手で触っての確認をしていません ・FBX の中のクリップと、実際に配布されているモーション(MMD・VRChat 向けなど)での確認はしていません。足の指(Toes)を測定に含めるオプションも、実際のキャラでの効果は確認していません。VRChat に組み込んだ後の動作も確認していません ・足裏の位置は Avatar の FeetBottomHeight が基準です。靴底の厚みが Avatar に反映されていないキャラは、追加オフセットで調整してください ・書き出し先を指定しない場合、元のクリップが Assets の外(Packages 内など)にあると、出力は Assets 直下になります ・元のクリップは変更しませんが、作業前にプロジェクトのバックアップをおすすめします ・できないこと:足の IK 固定(足の滑り補正)、フレームごとの接地、MMD(VMD)の読み込み・Humanoid 変換、アバターへの自動組み込み・アップロード、Generic / Legacy クリップの補正、ランタイムでの機能、Timeline 連携。RootT.y のカーブを持たないクリップはスキップします 【ライセンス】 購入者は、本ツールを自分の作品(ゲーム・ワールド・動画等)の制作に自由にお使いいただけます(商用利用も可)。本アセット(ツール本体・ソースコード・サンプル)の再配布・転売・譲渡は禁止です。補正する元のモデル・モーションや、書き出したクリップの扱いは、元の配布元の規約に従ってください。詳細は同梱の LICENSE.txt を参照してください。Unity は Unity Technologies の商標または登録商標です。





