Autodesk University Japan 2017Autodesk University Japan 2017

チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第2回:nCloth+Mudboxでラクラク布製作(2/3)

2010.10.15

  • Maya
  • Mudbox
  • ゲーム
  • シミュレーション
  • チュートリアル
  • モデリング
  • 中級者
  • 学生・初心者
  • 教育
  • 映画・TV

今回は実際に布の法線マップを作っていきましょう。

(文章中の画像はMaya2009Unlimited、Mudbox2009になっていますが、Maya2011/Mudbox2011でも変わりません)

準備の必要がないところから始める方が気楽なので、おなじみのpPlaneを使用したいと思います。
では、以下の手順でシミュレーションまで一気にやってみてください。

・Create > Polygon Primitives > Planeで板メッシュを作る。(以下pPlane1)
・pPlane1のSubdivision Width/Heightを20にして分割数を上げる。(布をキレイに変形させるため)
・pPlane1を選択して nMesh > Create nClothを実行してクロス化。
・Create > Polygon Primitives > Sphereで球メッシュを作る。(以下pSphere1)
・pSphere1を選択して nMesh > Create Passive Colliderを実行してコリジョン化。pPlane1と衝突するようになる。(コリジョンは変形しない。)
・pPlane1をpSphere1の上に移動し、大きさを調整します。

nCloth_2nd_00.jpg


こんな感じです。


・タイムスライダー上で右クリックメニューを出し、Playback SpeedがPlay Every Frame, Freeになっているのを確認して再生します。

nCloth_2nd_01.gif



・もしくはnSolver > Interactive Playback を実行して再生すれば、オブジェクトをリアルタイムに動かしながらシミュレーションできます。非常に便利です。
・再生を何度か繰り返していい具合の布がシミュレーションできたら終わりです。メッシュを複製して取っておきます。

☆何パターンかシミュレーションしてメッシュを複製しておいて、後からブレンドシェープで混ぜ合わせて欲しい形に整えなおすということもできます。シミュレーションのみで欲しい形状に持っていくことは大変です!部分的に良い結果が出れば、後でブレンドシェープで混ぜるという方法が、結果的に効率的です。


nCloth_2nd_02.jpg


こんな風になれば、nClothでのシミュレーションは完成です。かなり大雑把な状態ですが、前回お話した低周波成分さえシミュレーションできればOKです。高周波成分はこの後Mudboxで追加していきます。


クロスシミュレーションのアトリビュート

シミュレーションをコントロールする上で最低限知っておきたいアトリビュートを見ていきましょう。nClothはnucleusというシミュレーションを行うノードと共に処理を行っています。まずはシミュレーション全体をコントロールするnucleusノードのアトリビュートを見てみましょう。

pPlane1かpSphere1を選択して、アトリビュートエディターを開きます。タブの中にnucleusと書かれているものがありますのでそのタブを選択します。

nCloth_2nd_03.gif


・Time Attributes > Start Frame
シミュレーションを開始するフレームです。このフレームにカレントの時間を戻すと布が元の形状に戻ります。シミュレーションする際は必ずこのフレームから再生するようにします。また、布の大きさや位置を変えるのもこのフレームより前のフレームで変えるようにします。

・Scale Attributes > Space Scale
nucleusでは1ユニット1mで計算されます。1ユニット10cmでシーンを作っている場合この値を0.1にすれば正確にシミュレーションされますが、かなり挙動が変わるので、デフォルトのままでも大丈夫です。


布のノード、nClothのアトリビュートを見てみましょう。pPlane1を選択してアトリビュートエディターを開きます。nClothShape1というタブがあるので選択します。


nCloth_2nd_04.gif


・Collisions > Friction
摩擦の強さです。1(もしくはそれ以上)にすると布が滑りにくくなるので、布がコントロールしやすくなります。

・Collisions > Stickiness
粘着性です。ここの値を上げても布が滑りにくくなります。



次にコリジョンのアトリビュートを見てみましょう。
pSphere1を選択してアトリビュートエディターを開くと、nRigidというコリジョンノードがあります。

nCloth_2nd_05.gif


・Collisions > Friction, Stickiness
ここにもFrictionとStickiness値があります。ここも値を大きくしておけば布は滑りにくくなります。nClothとnRigidは相互に影響を与えるので、両方のアトリビュート値を調整する必要があります。

nucleusのSpace Scaleアトリビュートが0.1等小さい値場合、FrictionとStickinessの値は大きめにしないと効きが悪くなります。




布の柔らかさをコントロールするのに二つの方法があります。

nCloth_2nd_06.gif


一つはnucleusのSpace Scaleの値を小さくする方法です。ただしダイナミクスの計算が大きく変わってしまうので、複数の布がある場合は注意が必要です。

上図の布はnClothのアトリビュートを調整して柔らかくしています。

・Dynamic Properties > Stretch Resistance, Compression Resistance
伸びにくさとつぶれにくさをあらわしています。値を下げると布がしなやか(伸びる)になります。

・Dynamic Properties > Bend Resistance
曲がりにくさをあらわしています。値を下げると布が垂れる(曲がる)ようになります。


ここであげたアトリビュートがシミュレーションする上で最低限必要なものです。他にもたくさんのアトリビュートがありますので、必要に応じてヘルプを見ながら調整してみてください。いろいろな反応があってとても楽しいです。(Mayaのヘルプの目次でユーザーガイド>ダイナミクスとエフェクト>nDynamics>nClothを参照してみてください)




改めてnClothの利点をまとめて見ましょう。

・リアリティの根本となる大まかなモデル(低周波の陰影を作り出す形状)を高速にリアルに作れる。
・体積を正確に保ってくれる。(スカルプトモデリングでは体積を保つのが難しい)
・シミュレーションで大まかなあたりを用意できることで、スカルプト時に正確なあたりとして機能。結果的に速くクオリティの高いモデルを作れる。


次回はシミュレーションしたメッシュをMudboxへ持っていって、最終的な仕上げを行っていきます。

Maya Learning Channel