CGWorld vol.155に掲載された記事です。

題材は、RBDを用いたチェーンのシミュレーションです。

チェーンなど、複雑に絡み合うものをシミュレーションする場合、
その多くは、Wire Solverなどでシミュレーションした、カーブなどに対して、
SOPを使った、ポスト処理で、チェーン化する工程などがあります。

しかし今回は、正直にRBDで処理してみました。

問題点として、初期設定のシミュレーションを処理しても、いい結果が出ないことにあります。
というのも、HoudiniのRBD Solverは、初期設定では、軽くするために、Substepをフレームごと、
つまり、1フレームにつき、一回の演算処理としています。

ところが、それだと、リング同士の干渉がうまく再現出来ません。
要は、1フレーム内で予測できない 動きをしてしまった場合、
リングが外れてしまう現象が起きてきます。

これは、剛体シミュレーションにはあってはいけない事で、絶対的に避ける必要があります。
その場合、Substepを増やし、演算の精度を上げていく方法と、Collisionの精度を上げる方法、
この2つを取る必要があります。

Solverのパラメータには、演算の精度にまつわるものが羅列されています。

的確な数値を入れるには、実験的に色々試していくしかないでしょう。

実際、自分も、把握していないことだらけです。

今後、何らかの形で、検証していきたいと思っています。
アイディアがあれば教えてください。

また、これは脇役になってしまいますが、チェーンの両端を止めておく必要があったので、
それには、RBD Pin Constraintを使用しています。

 Houdiniのダイナミクスには、様々なConstraintがあって、
これもまた色々と試せそうなものばかりです。
 
いずれガッツリとやってみたいですね。





CG WORLD (シージー ワールド) 2011年 07月号 [雑誌]
CG WORLD (シージー ワールド) 2011年 07月号 [雑誌]
クチコミを見る