「ほっ」と。キャンペーン
excitemusic

MayaやSoftimageなどによる3DCG制作研究ブログ
by ikeh-3dcg
ICELANDia
カテゴリ
全体
Mayaワークショップ
Softimageワークショップ
Houdiniワークショップ
WIPワークショップ
レンダラーワークショップ
シミュレーションワークショップ
エフェクトワークショップ
モデラーワークショップ
Maya APIワークショップ
以前の記事
検索
ダウンロードリンク
ライフログ
お気に入りブログ
人気ジャンル
記事ランキング
ブログジャンル
画像一覧


Maya nHair

Maya 2013 より、nClothやnParticle と同様にnDynamics に対応したヘアシステム nHair が搭載されました。カーブのダイナミクスがすべて Nucleus ソルバによって計算され、nClothやnParticle とも反応します。

nHairヘアの作成やスタイリングについては、従来のヘアと変わりはなく、ここで議論された方法がそのまま使えます。ここでは「部分的なヘアの作成」の方法にしたがってヘアを作成し、シンプルなスタイリングをします。

頭部のフェースを選択範囲ペイントツールで選択し、nHair > ヘアの作成 で nHairを作成します。そのあと再生して重力を効かせてヘアを落としますが、その前にボディを選択して、nMesh > パッシブコライダの作成 で nHair とボディを衝突させます。正確に頭部の輪郭に応じて衝突するので、スタイリングも従来より自然になります。最後にカーブを編集して、さらに自然なスタイルにします。

次は「部分的なヘアの作成」にしたがって作成した nHair の結果です。
f0187616_14313270.jpg

nHair の利点は、風や地表といったNucleus の設定がすぐに使えることです。風速と風のノイズを設定して、nHair を動かしてみます。ヘアシステムで自己衝突をオンにしたときは次のようになります。
f0187616_14384269.jpg

動画はこのようです。



自己衝突をオフにすると、シミュレーションは軽くなり、髪が大きく動きます。
f0187616_14414753.jpg

しかし、髪束が大きく跳ね上がりすぎ、不自然かもしれません。



nHair の応用としては、nCloth や nParticle とのコラボが考えられますが、面白い応用があったら、また別途報告します。
emoticon-0105-wink.gif
[PR]
# by ikeh-3dcg | 2012-10-07 14:45 | Mayaワークショップ

Mayaヘアのスタイリング

Mayaヘアはダイナミクスのグループにあり、コンストレインなどカーブのダイナミクスについては機能も豊富ですが、ことスタイリングに関してはツールが少なく非常にやりにくい状態にあります。Mayaヘアはフォトリアルというレベルではありませんが、ちょっとしたヘア・エフェクトやヘア・アニメーションには便利です。

そこでMayaヘアのスタイリングを行なうときに有用なテクニックについて考えます。手軽に利用できるということで、スタイリングについては二つの方法が考えられます。

1) ヘアサンプルを利用して、頭部にフィットさせる。
2) 部分的にヘアを発生させ、ダイナミクス適用とカーブの修正をする。

つぎに順に説明します。

ヘアサンプルの利用
バイザにあるヘアサンプルを利用してヘアを作成する方法です。まずヘアサンプルをシーンに読み込み、hairBaseのスケール変換をして頭部の大きさに合わせます。hairBase自体はレンダリングされませんので、頭部の形にきっちり合わなくてもかまいません。そのあとhairSystemを選択し、ヘア > ヘアのスケールツール でヘアの長さを調節します。
f0187616_1123468.jpg

hairBaseがたとえ一部めり込んでいてもヘアの生え際は作成できますから、気にする必要はありません。前髪など一部のカーブを選択し、ヘアのスケールツールで長さを変更することも可能です。最後にhairBase をHeadボーン下に移動することでアニメーションに対応します。
f0187616_11284320.jpg

他のサンプルについても同様にできます。スタイリングのバリエーションという点では、ヘアサンプルの数をもっと増やしてほしい気がします。

部分的なヘアの作成
頭部の髪部分にヘアを作成し、あとで簡単なスタイリングを施します。まずフェースモードで頭部を部分選択し、ヘア > ヘアの作成 > □ のダイアログを出します。
f0187616_12254229.jpg

作成オプションダイアログでは、ポイント/フェース選択にしてヘアの作成ボタンを押します。
f0187616_12283899.jpg

ヘアが垂直に作成されますので、プレイボタンを押して重力でヘアを降ろしていきます。ちょうどいいところで止め、そのカーブ状態を開始状態にするため、ヘア > 開始位置の設定 > 現在位置 にします。そのあと開始位置(フレーム1)へ戻ってスタイリングを続けます。
f0187616_12373347.jpg

重力でヘアを下に向けただけなので、分け目が目立ちすぎるし、先端がまっすぐ過ぎます。ここから先はカーブを編集します。ヘア > ディスプレイ > 開始位置 でカーブを表示し、カーブの一本を選択して ヘア > カーブの修正 > 長さのロック で長さを固定します。CVモードにして先端を移動します。
f0187616_12421631.jpg

これをカーブごとに繰り返します。カーブが多すぎるときは、少ないポリゴン数のヘアベースを作って頭部にかぶせ、そこにヘアを作成します。ヘアは自然な状態では先端がカールします。とくに凝ったスタイリングでなければこの方法でヘアが作成できます。
f0187616_139082.jpg

emoticon-0115-inlove.gif
[PR]
# by ikeh-3dcg | 2012-02-29 11:31 | Mayaワークショップ

PhysX によるリジッド・ラグドール・クロス シミュレーション

Maya 2012 から PhysX のプラグインが付属していますが、これもDMMと同じように NVIDIAのサポートサイトからPhysX for Maya をダウンロードすれば、他のMayaバージョン(Maya 2009-2013)でも使えます。サイトで無償の登録をしたあとサインインして、左のナビゲーションから Download > APEX DCC Clothing Plugins > Maya x.x.X でダウンロードできます。

PhysX のリジッドボディ・シミュレーションは、Mayaのとほぼ同じですが、使われる用語が違います。Dynamic/Kinematic は Active/Passive に対応します。つまり、PhysX > Rigid Bodies > Create Dynamic Rigid Body ではアクティブ・リジッドが作成され、、PhysX > Rigid Bodies > Create Kinematic Rigid Body ではパッシブ・リジッドが作成されます。

コンストレインも基本的には同じ機能ですが、PhysXでは二つのリジッドボディを選択し、一つのコンストレインを PhysX > Constraints > Create Constraint で作成してからあとで制限の内容を指定します(設定ダイアログであらかじめ設定することもできます)。Mayaと比べて適用が面倒ですが、自由度は大きくなっています。

Rag dolls(縫いぐるみの人形)は、リジッドボディとコンストレインをセットアップされたキャラクタで組み合わせるもので、PhysX > Ragdolls > Create Dynamic Ragdoll では重力で崩れ落ちるキャラクタの動きがシミュレートできます。
f0187616_192579.jpg

図はキャラクタのボディに Create Dynamic Ragdoll を適用した状態で、リジッドボディとして使われる複数のConvex Hull ができていて、それらの間にコンストレインが作成されています。

コンストレインは初期設定のままなので、シミュレーションは動きの制限がなく不自然になります。そこでPhysX のコンストレインノードを選択して調節します。
f0187616_1993350.jpg

アトリビュートエディタでSwing と Twist についてfreeではなく制限(limited)などを加えます。これで不自然な動きが少なくなります。

PhysX > Ragdolls > Create Kinematic Ragdoll では、アニメーションで動かすキャラクタ部分が作成でき、Clothing によるクロスと衝突させるなどができます。

PhysX のクロスは、基本的にあらかじめスケルトンでコントロールされているのが前提です。このスキンつきのメッシュに対して、PhysX > APEX Clothing > Create Clothing を実行します。そのあと PhysX > APEX Clothing > Paint でクロスにしたい部分をペイントします。
f0187616_19333227.jpg

クロスでない部分はスケルトンによってコントロールされます。脚の部分をクロスと衝突させるには、キャラクタに PhysX > Ragdolls > Create Kinematic Ragdoll を施し、アトリビュートエディタで脚の部分だけ残します。

PhysX for Maya は開発中であり、不都合な部分が残されていますが、しだいに使い勝手がよくなっているようです。開発に忙しいらしくマニュアルが充実していないのが玉に瑕です。
emoticon-0170-ninja.gif
[PR]
# by ikeh-3dcg | 2012-02-13 18:21 | Mayaワークショップ

DMMプラグインによる物理シミュレーション

材質・物理シミュレーションを行なう DMM (Digital Molecular Matter) for Mayaプラグインは、Maya 2012 よりオプションで使用可能ですが、Pixeluxサイトからプラグインをダウンロードしインストールすれば、以前のバージョン(Maya 8.5, 2008- 2011)でも利用できます。

DMMを使うためには、通常のプラグインと同様に、プラグインマネージャで DmmPlugin.py をロードします。
f0187616_82561.jpg

DMMメニューとシェルフが自動的に作成されます。ダイアローグから試用版や購入などのライセンスを指定すると使用可能になります。

物理シミュレーションのためのDMMオブジェクトを作成するには、次の二通りがあります。
1) CubeなどDMMオブジェクトプリミティブを作成する。
2) ポリゴンでオブジェクトを作成し、それを DMMオブジェクトに変換する。

まず簡単な例で試してみます。DMM Asset > Create DMM Object Primitive > Cube と > Sphere で球と立方体を作成し、スケール変換して球を大きくし、立方体を平たく伸ばします。
f0187616_9104046.jpg

立方体はパッシブにしたいので、アトリビュートエディタの DmmObject タブで Dmm Passive をチェックします。
f0187616_8552929.jpg

これで球は自動的に重力で落下し、立方体と衝突して壊れます。
f0187616_9112663.jpg

球にはガラスのMayaマテリアルを施しています。球は DMMオブジェクトの四面体に従って破壊されます。四面体の形状は Edit Asset > Asset Maneger... で調整できますが、自由度は少ないです。材質の硬さなどは DmmPhysMaterial タブで調節でき、DMM Material > Assain New DMM Material にプリセットが多数あります。しかし DMM Material では壊れ方は指定できません。破片の形状を指定するには、次に見るように Splinter を使います。

では、ポリゴンから DMMオブジェクトを作ってみます。立方体ポリゴンを組み合わせて、簡単なイスを作成します。各立方体はオーバーラップしています。ポリゴンとしてはエッジなどの重複がないほか、穴が開いていないこと(watertight)が必要条件です。
f0187616_9243050.jpg

ここでポリゴンをすべて選択し、DMM Asset > Create DMM Object from Polymesh を実行します。ポリゴンはすべて DMMオブジェクトになります。各ポリゴンがオーバーラップしていれば、Global Glue(グローバルな接着)によって接着されます。Global Glue は DMMScene タブで設定できます。
f0187616_9365349.jpg

個別に接着を指定するには Glue Object を使います。

さて、イスを落下させてみると、DMMオブジェクトの四面体(Tet Mesh) のとおりに壊れます。
f0187616_940297.jpg

これでは材質が木らしくありません。ここで破片の形状は Splinters で指定します。まずSplinterオブジェクトとして、 Pixelux > DMM Plugin for Maya > Setup > DMM Libraries > splinters > meshes フォルダ (Maya2012では bin > plug-ins > dmm > setup > dmmlibraries > splinters > meshes、ちなみにMaya 2012 の DMMには四面体の数に制限があります) から wood2.obj をインポートします。それにスケール変換と複製を施して、各 DMMオブジェクトを囲むようにします。そして各ペアを選択して、DMM Asset > Add Splinters to DMM Object を実行します。
f0187616_9522124.jpg

図はイスの脚の前二本について Splinter を設定したところで、Splinter メッシュはDMMオブジェクトの子になり非表示になっています。これでまた落下させると材質が木のように破壊されます。
f0187616_9562163.jpg

Splinter のためのメッシュは画像からも作成できます。DMM Asset > Create Splinters from Image... から画像を読み込んで Splinterオブジェクトを作成します。あとはSplinterメッシュの場合と同じです。画像から作成したほうがリアルなときもあります。

こんどはイスに重い金属球を落としてみます。なめらかな DMM 球を作るにはポリゴンでなめらかな球を作っておいて、DMMオブジェクトに変換します。イスの上に落下させるとイスが破壊されます。
f0187616_1042571.jpg

f0187616_1043665.jpg

このように DMM は非常にすぐれた物理シミュレータで、使いやすくもあります。DMM とMayaのフィールド、流体との連携や応用については別途検討する予定です。
emoticon-0141-whew.gif
[PR]
# by ikeh-3dcg | 2012-01-29 09:01 | Mayaワークショップ

ベジテーション

ベジテーションは、ヘルプ > ベジテーションのダウンロード で呼び出すAutodesk Seekサイトから、フリーでダウンロードできるXFROG植物ライブラリです。Autodesk Seek > Trees で植物のライブラリに行きます。他のライブラリもありますが、mbファイルがダウンロードできるのは植物のみです。

mbファイル単体もダウンロードできますが、植物テクスチャも利用するにはzipファイルにまとめられているものが便利です。
f0187616_165859100.jpg

zipファイルの中にあるmbファイルをscenesフォルダに、tifファイルをsourceimagesファイルに入れれば、テクスチャも含めてMayaに読み込めます。

ここでは例として日本でよく見られる樹木のプレビューをいくつか示します。
f0187616_1724427.jpg

f0187616_173451.jpg

f0187616_1731716.jpg

f0187616_1732778.jpg

CGによるデザインコンテンツについて自由に使え、修正も可能のようです。
emoticon-0155-flower.gif
[PR]
# by ikeh-3dcg | 2011-06-04 17:05 | Mayaワークショップ