スプラインのソフトボディを作るのは非常に面倒です。しかし、CINEMA 4Dにおいてスプラインは非常に重要なオブジェクトなので、この問題を避けて通るわけにはいきません。まずスプラインのダイナミクスが難しい理由を考え、一つ一つ対策していきます。1. スプラインには体積がないので、衝突を計算するのが難しい。原理的な問題です。ダイナミクスは、「スプライン対スプライン」や「スプライン対ポリゴン」の衝突を計算できますが、スプラインは必ず「ソフトボディ」に変換しておく必要があります。リジッドボディのスプラインは衝突しません。また、リジッドボディのポリゴンはうまく計算できず、スプラインが突き抜けてしまいます。この場合は、スプラインの「分割数」、ダイナミクスボディタグの「衝突判定 -> サイズの増分」、プロジェクト設定の「ダイナミクス -> 詳細 -> フレーム当たりのステップ数」の値を調整して対処します。
図623-1
またクローンをスプライン化する場合、クローンには体積があるので問題なく衝突を計算できますが、小さいオブジェクトだとクローンの間をすり抜けてしまうという問題が発生します。
2. スプラインの分割数を自由に設定できない
これも原理的な問題です。通常スプラインの分割数は、「見た目のスムーズさ」を調整するために使われる簡単なパラメータです。ところがダイナミクスは、この値によって分割されたスプラインの変形を計算するため、この値の大小が非常に重要になります。具体的には、見た目にスムーズになるようスプラインを細かく分割すると、計算が非常に重くなり、しかも破綻します。
この問題を解決するには、ダイナミクスの計算には粗いスプラインを使い、その形状を「トレーサ」で複製し、オブジェクトの表示には細かく分割したトレーサを使う、という面倒な作業を追加する必要があります。しかも、トレーサを使うと必ず1フレームの遅延が発生します。
図623-2
また、クローンのソフトボディをスプライン化する場合もトレーサを使う必要があります。
3. スプラインに他のオブジェクトをリンクするのが難しい
スプラインは、現実世界の「ヒモ」に相当するので、どうしても「何かをつなぐ」ケースが多くなります。ダイナミクスにおいて、オブジェクトをリンクするために用意されているオブジェクトは「コネクタ」ですが、計算が粗く本当に簡単なケースしか扱えません。
図623-3
図623-3を見ると、このような簡単なケースでさえ「handle」オブジェクトを強く動かした時にコネクタがずれて、破綻していることがわかります。
ところがクローンのソフトボディを使うと、より複雑なケースでも簡単かつ正確に表現できます。
図623-4
というわけで、スプラインのソフトボディに関しては、簡単なケースには「スプラインのソフトボディ」を使い、複雑なケースでは「クローンのソフトボディ」を使うことを私はお勧めします。
クローンのソフトボディを使う方法は、一見複雑で面倒に感じるかもしれませんが、スプラインのソフトボディを使ったとしても結局トレーサで複製する必要があります。また、「接続部分」には何らかのオブジェクトを置いて体裁を整える必要があります。であれば、最初からリジッドボディで接続部分が完成しているクローンのソフトボディを使う方が結果的には単純で扱いやすいと思います。
そして、もしどうしてもソフトボディをうまくリンクできない場合は、早めに掲示板等に質問して下さい。ソフトボディを扱うのはそのぐらい難しいのです。
|
Comments are closed.