モーションシステム
DanceXRでのモーションは複数のソースから、複数のレベルで設定され、スタックすることができます。このページがそのマップです:モーションがどこから来て、設定がどこに存在し、レイヤーがどのように組み合わされるかを示します。
用語(モーションパス、オーバーライド、ダンスセット、リミックス、カスタムインヘリット)については、Concepts & glossaryを参照してください。
モーションのソース
モーションが取り得る場所は5ヶ所あります。
- ディスクからロードされたモーションファイル(VMDまたはBVH)。
- ダンスセット — オーディオファイル1つと、それに対応する1つ以上のモーションをまとめたもの。フォルダやzipファイルにグループ化されている場合、自動検出されます。
- プロシージャルモーション — Auto Dance、Idle Motion、Catwalk、Lifelike Motions、Secondary Motionによって実行時に生成されます。
- キーフレームアニメーション — DanceXR内で手動で作成したポーズ。
- リミックス — あるダンスセットのモーションデータと、別のダンスセットのオーディオを使用すること。
これらを混合できます。一般的なシーンでは、VMD駆動のダンスがプレイされ、その上にプロシージャルなsecondary motionレイヤーが加わり、さらに独自のシステムによって眼球の動きや呼吸が処理されます。
ダンスセットユニット
ダンスセットは、「一曲」の自然なグループ化単位です。1つのオーディオファイルと1つ以上の対応するVMD/BVHファイルを含むフォルダまたはzipファイルをmotion/に配置すると、DanceXRが自動的にグループ化します。ロードされたダンスセットは以下の機能を持っています。
- オーディオを再生します。
- アクターにモーションをルーティングします(デフォルトではアクターごとに1モーション。再割り当て可能)。
- カメラVMDが含まれている場合、オプションでカメラを駆動します。
- オーディオのBPMに連動した共有のmusic timingを持っています。
このセットがロード、保存、共有、およびリミックスする単位となります。個々のモーションは引き続き独自のセッティング(モーションごとの速度、ループ範囲など)を持っていますが、ダンスセットがそれらを連携させて保持します。
VMD2PNG(2026.3で追加)を使用すると、VMDデータをエンコードしたPNGファイルからモーションデータをロードできます。これはファイルサイズが小さく、共有しやすく、サムネイルが含まれています。
設定の階層
モーション設定は3つのレベルに存在します。同じパラメータが複数のレベルに存在する場合、より具体的なレベルが優先されます。
| レベル | ページ | 適用範囲 |
|---|---|---|
| システム | Motion settings | シーン内のすべてのモーションのデフォルト設定 |
| アクターごと | Actor motion settings | 特定のアクターのモーションに対する上書き設定 |
| モーションごと | Dance set内 | セット内でのモーションごとの調整 |
Playback options — 速度、ループモード、範囲 — は再生レベル(オーディオ/モーションのタイムライン全体)に適用されます。
モーションの割り当て
Assigning motionは、実際のメカニクスを網羅しています:VMDをウィンドウにドラッグ&ドロップするか、オーディオ/モーションメニューでAssign Toをクリックするか、またはアクターメニューを開いてすでにロードされたモーションから選択します。
複数のアクターが存在する場合、順序が重要です。アクターのTools menuでMove Up / Move Downを行うとアクターの順序が変更され、その結果、ダンスセット内で自動割り当てされるモーションが変わります。
Spectator modeでは、アクターを自動割り当てから除外できます。
レイヤーとオーバーライド
モーションを組み合わせたり、変更したりしたい場合、関連する機能を備えた4つのページがあります。目的に応じた適切なものを選んでください。
| 目的 | 使用するページ |
|---|---|
| 同じアクターで同時に2つのモーションを再生したい(例:ダンスとハンドウェーブ) | Motion passes |
| モーション内の特定のボーンを置き換えたい(腕のクリッピング修正、顔の差し替えなど) | Motion override |
| PMXが使用するボーン追従関係を作成または修正したい | Custom inherit motion |
| あるダンスセットのモーションと、別のオーディオをペアにしたい | Remix motion |
モーションパスはレイヤーを重ねるもの、オーバーライドはボーンごとにマスクをかけるもの、インヘリットモーションは「何が何に従うか」という定義自体を変更するもの、リミックスは同一モーションの下でオーディオを入れ替える、より高レベルなスワップです。
プロシージャルモーション
実行時に生成され、ソースとなるVMDは不要です:
- Idle motion — 他の何も再生されていないときの呼吸や静かなポーズ。
- Catwalk motion — プロシージャルな歩行サイクル。
- Auto Dance 1, Auto Dance 2, Auto Dance 3 — プロシージャルなダンスジェネレーター。早期の世代を選択する理由がない限り、Auto Dance 3を使用してください。これはリズム分析と最も強力なバリエーションを備えています。
- Lifelike motions — ポーズが停止している、またはアイドル状態のアクターに生命感を与えるマイクロモーション。
- Secondary motion — いずれのモーションの上にも動作するプロシージャルレイヤー(揺れ、呼吸、フォロースルーなど)。
- Keyframe animation — 手動のキーフレームで独自のポーズを作成します。
Idle motion、Auto Dance、Auto Dance 2、およびMotion overrideはすべて、ダイレクトなポージングのためのgizmo cubesを公開しています。
Music timing
Music timingは、ロードされたオーディオのBPMとビートオフセットを検出します(または設定できます)。いくつかのシステムがこれを利用します。
- Auto Dance 3 は、モーションの変化をビートに同期させます。
- Auto camera は、ショットのトランジションをビートに同期させ、オーディオの感度に対応できます。
- Auto update は、ビート信号からあらゆる設定を駆動できます。
プロシージャルダンスがテンポからずれていると感じた場合は、まずミュージックタイミングを修正してください。
キャラクターの動作 — 常時レイヤー
3つのシステムが、どのモーションが再生されていても継続的に実行され、キャラクターがロボットのように見えすぎるのを防ぎます:
- Blink, breathing & eye contact — まぶたの動き、自動的な視線追跡、呼吸の上下動。
- Facial control — 手動または自動の表情/モーフブレンディング。
- Lifelike motions — 小さなアイドル時の調整。
これらは使用しているモーションソースと合成されます。
よくある問題
| 症状 | 可能性の高い修正方法 |
|---|---|
| モーションをロードしたが何も起こらない | モーションはロードされたが割り当てられていない場合がある — Assigning motionを参照 |
| 間違ったアクターがダンスを踊る | Tools menuでMove Up / Downを使ってアクターの順序を変更する |
| モーションの速度がおかしい | playback optionsとdance setのモーションごとの速度を確認する |
| プロシージャルダンスのビートがズレる | Music timing — BPMとオフセットを確認する |
| 腕がボディをすり抜ける | 問題の腕のボーンに対してMotion overrideを使用する |
| モーション間でキャラクターが生き生きして見えない | idle motion、eye contact、lifelike motionsを有効にする |
関連ページ
- Concepts & glossary
- Working with actors
- AI in DanceXR — Auto DanceおよびAI駆動のモーション
- Cinematic camera — Auto Camはミュージックタイミングも読み取ります