時間が空いてしまいましたが、スカートへのクロス・シミュレーション設定方法で第3の手法について今回、投稿したいと思います。
とりあえず、過去に試した2つの手法も含めて簡単に概要をご説明します。
スカートにクロス・シミュレーション〈その1〉
第1の手法は、ごく普通にスカートオブジェクトに直接、クロス・シミュレーションを設定。クロス・シミュレーション効果の強弱をウエイト値でコントロールしました。
問題点としては、複雑なメッシュ構造になるほど形状が維持できなくなってしまいます。
スカートにクロス・シミュレーション〈その2〉
第2の手法は、第1の手法の問題点を回避するため、クロス・シミュレーションを設定するためのオブジェクトをスカートとは別に用意。スカートオブジェクトに対して「メッシュ変形(MeshDeform)」モディファイアを設定し、クロス・シミュレーションを設定したオブジェクトと連動するようにしました。
問題点としては、「メッシュ変形」モディファイアを設定できるのは、クローズドメッシュ(面で閉じられた形状)に限るため、板状のオブジェクトでこの手法を用いることはできません。
そして今回の第3の手法は、第1、第2の手法で発生した問題点を回避するため、「メッシュ変形」モディファイアを使用ぜず、クロス・シミュレーションを設定したオブジェクトとスカートオブジェクトを連動させるのにボーンを活用したいと思います。
まず、クロス・シミュレーションを設定するためのオブジェクトをスカートとは別に用意します。
第2の手法のように覆う必要はなく、スカートと同じ位置に作成し、重なっていても問題ありません。また、メッシュの分割数は画像のようにかなり少なめにします。
作成したオブジェクトに通常どおりクロス・シミュレーションを設定します。
作成したオブジェクトのメッシュに合わせてボーンを配置します。
続けて、各ボーンの先端(Tip)の位置にそれぞれ頂点グループを作成します。
ボーンにインバースキネマティクス(IK)コンストレイントを設定します。
[ターゲット]にはクロス・シミュレーションを設定したオブジェクトを指定し、[頂点グループ]にはボーン先端(Tip)位置の頂点グループを指定します。[チェーンの長さ]は“1”に設定します。
これを全てのボーンに対して設定すると、クロス・シミュレーションを設定したオブジェクトのメッシュに連動してボーンが追尾するようになります。
最後にボーンとスカートオブジェクトをペアレント設定し、関連づけを行えば完了です。クロス・シミュレーションを設定したオブジェクトは不要なので非表示にしておきます。
この手法であればスカートだけでなく、髪の毛やネクタイ、リボン、帯などクローズドメッシュ、板状メッシュを問わず応用でき、個人的には3種類の手法のなかで最も汎用性があるような気がします。