UDKの骨格を含んだメッシュ(PSK)とアニメーション(PSA)の出力
アニメーション作成の作業に使っているシーンは動きやポーズの作成にコンストレインを多様している。
この作業シーンのままActorXでPSK出力すると、特定の条件のコンストレイントがジョイントと誤認されて狂ったジョイント構成が出力されてしまう場合がある。
自動でリグを作るDSN_RapidRigのプラグインで作ったキャラクタだとそんな現象が起きた。ジョイントじゃないコンストレイントのオブジェクトがルートジョイントになってたりしている。HumanIKでは大丈夫だった。
そこで、ジョイントのアニメーション情報を維持したまま邪魔なコンストレイントを削除する操作が必要になる。他にいい方法があるだろうけど、やってみたのはFBXでベイク処理をして出力する方法。
いったんコンストレイント・ジョイント・スキンモデル全てをFBX形式にベイク処理を加えてエクスポート。それを改めて読み込むとコンストレイントの処理は全て無効になっているが、ジョイントにはコンストレイントを使って付けたアニメーション情報とスキンオブジェクトのバインド情報が残っている。
これでコンストレインなどの邪魔なデータを消してPSK・PSAを出力すればいい。
**追記**
FBX出力時のベイク処理はうまくいかないところがあるので、以下の流れで。
Root選択
編集⇒キー⇒シミュレーションのベイク
デフォ設定から「下位」を選択、タイムレンジを「開始/終了」にして0-300等全ての範囲を指定して実行
Rootジョイントを選択、エクスポートしMB形式で保存
別のMayaから開き、Rootジョイントの階層に入ってないコントレイントのグループ等があれば削除