本日は Blender の技術調査枠です。
Blenderのボーンコンストレイントでモーションに制約を設ける方法を試したので記事にします。
前提条件
以下の前回記事でThreeDPoseTrackerで出力したモーションをホロモンモデルに反映してみました。
bluebirdofoz.hatenablog.com
結果は人型のモーションをホロモンの骨格に反映した形となったため、以下のように特定のポーズが大きく破綻する結果となりました。
そこで今回はボーンコンストレイントの設定でモーションに制約を設けて破綻を防いでみました。
回転制御のボーンコンストレイント
回転制御のボーンコンストレイントはボーンの回転角を軸ごとに制限できます。
以下のように大腿、膝、足首、手首に回転制御の公司トレインとを設定しました。
・大腿
・膝
・足首
・手首
ローカル軸に対して制限をかけるため、[オーナー]項目を[ローカル空間]に設定する必要がある点に注意が必要です。
動作確認
この状態でモーションを再生してみます。
破綻していたポーズのフレームを確認すると、無理のある回転は制限されて自然なポーズに見えるようになりました。
この状態でアニメーションデータを出力すると、Blender のボーンコンストレイントで制御されたモーションを利用することができます。
課題
一定以上の回転を制限しているだけなので実際に再生してみると、大きくアクションを取っている個所では突然回転が止まったり始まったりなど不自然な動きになります。
また IK のボーンコンストレイントを設定したままだと干渉しあうため、設定を削除しておく必要があります。