繰り返しますけど物理シミュですから
partixのサンプルに人体シミュを加えました。
http://d.hatena.ne.jp/jonigata/20070722
とだいたい同じやつです。
死蔵させても誰の得にもならないし、ソースを公開しておけば誰かの役に立つかもしれないので公開します。
ソースの取得方法についてはこちらを参照のこと:
http://d.hatena.ne.jp/jonigata/20080328
あとついでに実行ファイルも置いておきます(前のやつはダウンロードできなくなっているし、いくつかバグをとったので)。実行できなかったら教えてください。
必要環境は結構高いです(C2D+shader3.0世代くらいを希望)
右ドラッグで回転
なにもないところで左ドラッグでズーム
中ドラッグで移動
なにかあるところで左ドラッグでアクション
Sキーで種明かし
テーマ
- 疎な物理判定用モデルを使って密な表示用モデルを制御すること。
やっていること
- まず、全身を剛体として用意。
- 次に、胸部・臀部(それぞれ左右別)を柔体として用意。
- 臀部・胸部を全身に縫い付ける。
- 上記の物理用モデルはすべて疎モデル。これを内部的にsubdivideしておく。
- このとき、subdivide後に生じた頂点と元の頂点との関係を記録しておく。
- subdivision methodはsqrt(3) (pdf)(別になんでもいいけど、このケースではこれがもっとも適切に思えた)
- 表示用の密モデルを上記のsubidivide後のモデルに関連づける。
- 球を用意し、指先として使う。クリックしたところにぶつける。
要するに、表示用の密メッシュをsubdivide後の物理用の疎メッシュに関連づけておくが、subdivide時に元になった頂点がどれかを記録してあるので、subdivide後のメッシュは疎メッシュの変形に追従できるという仕組み。