nClothを使ってゴミ袋を作ってました

こんにちは!Rhinoです。
雨が続き、蒸し暑くなってきましたね。何となくスカッとしませんが、頑張っていきましょう!

今日は背景の定番のプロップスの1つであるゴミ袋を作る方法について書いてみました。
こうした定番のプロップスはGumroadなどの販売サイトで探せば比較的品質の高いものが見つかるかもしれませんが、敢えて作成してみたいと思います!
使うのはMayaのnClothになります。クロスシミュレーション用に標準搭載されたプラグインになります。

モデルを用意する

まずはゴミ袋の元なる袋状のモデルを用意します。分割数が多いとシミュレーションに時間がかかりますので、最初は低ポリゴンのものでもいいと思います。

次に中身を用意します。これらのオブジェクトに衝突してゴミ袋の形ができます。
球体やペットボトル上のもの箱などいくつかの形を用意してみました。

袋の中に納まるような感じで配置します。

nClothを割り当てる

モデルの用意が出来ましたら、ゴミ袋のモデルにnClothを割り当てます。
モデルを選択したまま、[nCloth][Create nCloth]を押して下さい。

nucleusというノードが作成されたと思います。
何も設定していなければシミュレーションを行うと永遠に落下していきます。
それ防ぐためにnucleusの中にあるUse Planeにチェックを入れて地面のコリジョン(衝突判定)を作成します。

nClothの単位

nClothでは1ユニット1mで計算されています。
Mayaのシーンがcm(センチメートル)でリアルスケールで作成している場合はnucleusのspace scaleを0.01にします。

nClothのパラメータ

オブジェクトに様々なアトリビュートが追加されているはずですね。
それらを設定していきたいと思います。
まずはコリジョンの厚み(Thickness)の値を設定します。
この数値を下げればモデルに密着するようになり精度があがります。
結果を見て適度に調整してみて下さい。

次は布の質感を設定していきます。これらの数値によって材質を再現していくわけです。とは言え今回は見た目で判断してますw
正確な数値を重視する場合はMayaのオンラインヘルプなどを参考にしてください。
ゴミ袋のモデルで調整したアトリビュートは大体以下の7つです。
中身のモデルに関してはRigidityを1.0にしただけです。

アトリビュート説明
Stretch Resistance
(伸長の抵抗)
値が大きくなると硬くて重い素材(厚い革、デニム)、小さくすると軽い素材(シルク)になります。
値を大きくするとシミュレーション時間が長くなります。
Compression Resistance
(圧縮の抵抗)
値が小さいと圧力によってしわくちゃになり、値が大きいとシワができにくくなります。
Bend Resistance
(ベンドの抵抗)
値を小さくするとベンドに抵抗がなくなり垂れた布のようになります。
大きくすると布が硬くなります。
Rigidity
(剛性)
 1 でリジッドボディ。0~1でクロスとリジッドボディの合成になります。
Rest Length Scale
(レスト長のスケール)
動的にスケールさせます。
Bend Angle Scale
(ベンド角スケール)
動的にスケールさせます。
Mass
(質量)
精度を上げるためには素材に応じた数値にします。

キャッシュをとる

再生ボタンを押すとシミュレーションが開始されますが、後で形状を選んで使いたいので、キャッシュをとることにします。
モデルを選択後、[Create New Cache][nObject]を押してキャッシュをとります。

結び目あたりのシワを作る

結び目あたりで布が引っ張られているようにしたかったのでコンストレインを使用します。いくつかの頂点を選択後、[nConstraint][Transform Constraint]を押してコンストレインします。Strengthは弱めにしました。

別途作った結び目をZbrushで合成して、細かいシワなどを追加し、シルエットを調整して完成です。

如何でしたでしょうか。
ゴミ袋はプラスチック製だと思いますので、もう少しハリのはるシワや中身が詰まった感じにしたかったのですが、シミュレーションで想像通りのものを作るのは難しいですね。ですが、ちょっとしたプロップスには使えるのではないかなあと思いました。
今度は別の方法で挑戦したいと思います。
では、また!

コメント

  1. Kei より:

    初心者質問で申し訳ありません。
    現在こちらのサイトを読みながら制作していたのですが、再生ボタンを押すと中のオブジェクトを透過してしまうのですが、解決策はありますでしょうか。

    • Rhino Rhino より:

      Keiさん
      初めまして。

      当ブログをご覧下さり、またご質問頂きましてありがとうございます。

      再生ボタンを押すと中のオブジェクトをすり抜けてしまうとのことですが、おそらくオブジェクトがnClothのコリジョンとして設定されていないためではないかと思います。
      すり抜けて欲しくないオブジェクトを選択して[nCloth]メニューの[Create Passive Collider]を押して、コリジョンとして設定してみて下さい。

      ブログの記述に不足がございましたこと、申し訳ございませんでした。

タイトルとURLをコピーしました