この記事の3行まとめ
- ヘキサドライブ、MayaのKeepOutノードで揺れもののめり込みを回避する手法をnoteで解説
- 動作環境はMaya 2025。ジョイントチェーンがオブジェクトを回避する挙動を例に紹介している
- 短時間で作業できる簡易的なコスト削減手段として、大量のモブを制作する際などの使用を推奨している
ヘキサドライブは2025年9月26日(金)、「【Maya】KeepOutノードを使用した、簡易的な揺れものの自動回避実装」と題した記事をnoteにて公開しました。
記事では、「Maya」において揺れものがモデルにめり込む問題を解消する手段として「KeepOutノード」を提案し、その実装例を紹介しています。
(画像はnote記事より引用)
紹介されている実装例は、ジョイントチェーンで再現した簡易的な揺れものに対して、当たり判定を持つ棒状のオブジェクトを近づけたとき、ジョイントチェーンが棒を避けて動くというもの。
動作環境は「Maya 2025」。記事中では具体的な実装手順の解説と併せて、実装結果を確認できる動画も掲載されています。
実装手順としては、各ジョイントにIK・ロケーターを設定し、それぞれのロケーターに「cMuscleKeepOutノード」を作成したのち、オフセットの挙動を制御するロケーターを追加。コリジョン用のサーフェスがcMuscleKeepOutを配置したポイントに接触すると、自動的に回避するように設定します。
ジョイントチェーンの各部位に矢印を伸ばし、IKやロケーターを設定する箇所を図示している(画像はnote記事より引用)
この手法のメリットとして、RBF(※)を用いた仕組みやMayaのポーズエディタで設定を行う従来の手法と比較して短時間で調整でき、作業負担が少ないことが挙げられています。
※ 「Radial Basis Function」の略。日本語では「放射基底関数」と呼称される。中心点からの距離に基づき値が決定する関数で、データの近似や補間などに用いられる
一方で、高いクオリティを維持することを優先する場合は従来の手法が望ましいとして、KeepOutノードは大量のモブキャラクターなどに対する使用を推奨しています。
なお、今回の実装例ではKeepOutノードの入力方向をfrontとupに限定しているため、sideの補間に難があるといいます。記事中ではその解決方法などについても触れられています。
詳細はnote記事をご確認ください。
【Maya】KeepOutノードを使用した、簡易的な揺れものの自動回避実装 | ヘキサドライブ公式note