物理演算ボーン

昨年末に、すかーとヒラヒラ、髪の毛ユサユサ、おっぱいボヨヨン
な”PhysX”のリアルタイム物理演算の実験をしていたわけですが、
最近、これをオフラインでやることになり四苦八苦。

まず、根本に “3ds max” にはボーンそのものをイイ感じに物理演算
する仕組みは存在しない。
そこで、”reactor”, “cloth”, “flex” を使った方法を上げてみる。


とりあえず下ごしらえ。
スキンに登録するボーン(スキンボーン)と物理演算に
使うボーン的存在(アクターボーン)に分けて作業してみることにする。
もちろんアクターボーンの変移はスキンボーンにリンクなり、コンストな
コントローラで転送しておく。

“flex” を使う場合は、あらかじめアクターボーンに”スプラインIK”
を組んでおく。後はそのスプラインに”flex”を適用するだけ
リファレンスのロープの作り方を参考にすると良いみたい。
特徴として、厳密な当たり判定がとれないので、
ちょっとしたユレモノ系にしか使えません。
ハダカおっぱいならいけるかも。。。

“reactor” を使う場合は、これまたアクターボーンに”スプラインIK”
を組んでおく。これとは別に”スプラインIK”のコントロールポイントの
数だけ”reactor” 用にアクターを作る。
“Box” や “Capsule” がイイみたい。もちろん位置合わせをして。
この場合は、アクターの変移を”スプラインIK”のダミーポイントに転送する
こうすることで、どんだけアクターが伸びても、ボーン自体の距離が
離れることが無くなるので安心。
後は、アクターをラグドールコンストなりで拘束してシミュレーションを
仕掛ければ完成。
特徴として、厳密な当たり判定がとれるので、髪の毛、衣服に使えそう。

“cloth” を使う場合、「服だったらこれをそのまま使えば良いんじゃない?」
な感じだけど、複雑な形状は処理できないので残念。。。
毎度の如く、アクターボーンに”スプラインIK”を組んでおく。
短冊平面をアクターボーンをなぞるように作り”スプラインIK”の
ダミーポイントをその平面で最も近い面にアタッチコンストする。
この場合も、平面がベローンと伸びても、アクターボーン同士の
距離が離れることがない。
特徴として、これも厳密な当たり判定がとれるので、髪の毛、衣服に使えそう。
セットアップまでの時間を考えると、”reactor” よりもお手軽かも。
“cloth” の別の使い方としては、スカートや髪の毛オンリーだけど
形状に沿った、たん短冊状の平面を作り、さらに当たり判定用の
簡易モデルも作成する。実際のシミュレーションはその両者を行う。
そして、ゆらゆら動いてくれた平面を適用したいモデルにスキンラップする。
ハイポリなモデルを扱う場合は、これで、かなり時間節約だし
結果も、実体をシミュレーションする場合よりイイ感じ。

とりあえず、どれもそれなりに動くけど、決定的にセットアップが面倒。
ボタン一つでユラユラ出来るようにならないかなぁー

3DCG 3ds max Posted by Tomoya Kanehira @ 23:57

2 Response

  1. こんにちは。
    凄い参考になる記事をありがとうございます。

    アクターボーンに”スプラインIK”を組むと言うのが
    理解出来ずに困っています。

    よろしければ、画像かサンプルファイルなどで解説して頂けませんでしょうか?
    実力不足ですいません。

    よろしくお願いします。
    それでは失礼します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です