nClothによる落葉 |
nClothダイナミクスを使った落葉のシミュレーションを試してみます。これはマニュアルにもテスト例があり、単純に葉のポリゴンにnClothを適用することで実現できます。そこでは"重力と風"設定の"風"によって葉を落としています。しかし、落葉は風がなくても起きますし、一度にすべて落ちるというわけでもありません。 ここではさらにリアルさを加えたシミュレーションを考えてみます。まずマニュアルと同じようにペイントエフェクトの樹木をポリゴン化します。シミュレーションを容易にするため、あまりポリゴン数が多くならない樹木を選びます。 ポリゴンは葉と幹・枝に分かれています。葉にnClothを適用するとき葉のそれぞれを分離する必要はなく、まとめて適用すれば個々の葉が個別にシミュレートされます。そして幹・枝はnRigidにします(nMesh > パッシブコライダの作成)。nucleusノードの地上プレーンを有効にすれば葉は落下して地面に溜まりますが、マニュアルにあるようにこのままではどさっと落ちてしまいます。 そこでまず第一段階として葉ポリゴンを落ちる葉と固定する葉に分けます。フェースモードで落ちる葉の部分を選択し、メッシュ > 抽出 で取り出します。 取り出した葉ポリゴンを再び結合し、すべてヒストリを削除します。落ちる葉ポリゴンをnCloth化して、質量を減らし揚力を少し増やします。nClothにするとシェーディングが消えるので、ライティング/シェーディング > 既存のマテリアルの割り当て でシェーディングを復活させます。 固定する葉ポリゴンも同様にnCloth化し、葉ポリゴンと枝の間で nConstraint > コンポーネント間 によりコンストレインします。コンストレイン方法は縫合にします。 これで落ちる葉ポリゴンだけ落下しますが、さらに葉がひらひらと舞うようにnucleusノードの"重力と風"セクションの風を変更します。一定の風はない想定なので"風速"はゼロのままですが、風のノイズを少し加えます。また、葉がゆっくりと舞うようにするには"大気の密度"を増やします。 ちなみにnClothShapeノードの"風フィールドの生成"は、nClothがその動きにより発生する風で、ここでは無視しています。 地上プレーンの"摩擦"を若干大きくし、シミュレートしてみます。 落葉がひらひらと舞うさま、固定の葉を押して跳ね返り、枝や幹にぶつかったり、地面のちかくで舞う様子がシミュレーションできているようです。 この例は大げさな落葉ですが、さらにリアルにするには落ちる葉ポリゴンをさらに細かく分割し、順番に少しずつ落下させることで表現できるでしょう。 |
by ikeh-3dcg
| 2010-12-09 11:59
| Mayaワークショップ
|
<< mental ray for ... | 破砕シミュレーション(Houd... >> |