日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2010年9月23日木曜日

本「スタジオプロジェクトDynamics」への補足 (その8)

Pg47 プロジェクト砂場
ステップ2
ここでは解像度を20に設定していますが、この設定で10ユニット四方の箱は縦横21個x高さ3個(総パーティクル数:1323個)のパーティクルで埋め尽くされます。

「近接充填(Close Packing)」をオンにした場合は、隙間を少なくするようにならべられるので21個と20個の列が交互に繰り返されます。 (高さ3個、総パーティクル数:1518個)


ちなみに箱を小さくするとパーティクルのサイズが小さくなり、同じパターンで埋まることから、容器サイズに比例した解像度であることがわかります。






このため、解像度を10にした場合はパーティクルのサイズが大きくなります。

 
参考までに、オンラインヘルプには以下のように書かれています。
「オメトリのバウンディング ボックスの最長軸に沿って配置する nParticle のグリッドを指定します。たとえば、解像度の値が 20 であれば、nParticle はジオメトリの最長軸に沿って、等間隔にオーバーラップしないように配置されます。 」
(参照:オンラインヘルプ「オブジェクトを埋め尽くす(Fill Object)

20に設定しているのに、なぜ21個になるのかは不明です。おそらくゼロから20までカウントされているのではないかと思います。


-------------
Pg48 ステップ7

翻訳:シーンのスケールを和らげる必要があります。
原文:The scale of the scene needs to be toned down.

スケールを和らげる」という表現は奇妙な日本語に感じました。
和らげる」と訳されている部分は原文では「toned down」です。
これはオーディオなどのボリュームを「下げる」という意味ですから、

シーンのスケールを小さくする必要があります。」としたほうが自然です。


補足:Nucleusソルバは、本に書いてあるとおりデフォルトではメートルで計算します。
「スケールアトリビュート」オプションの「空間スケール(Space Scale)」は1がデフォルトですが。これは1ユニット(グリッドの一マス)を1mとして扱うことを意味します。

1ユニットのサイズはPreferenceのSettingから変更することが出来ますが、nucleusソルバはこの設定とは関係なく「空間スケール」の設定に従います。
日本人なら通常は1マスをcmとして扱うことが多いのでここは、「センチメーター」になっていると思いますが、たとえば布を作るためにオブジェクトにnClothを使うと、nucleusソルバはデフォルトで、100cm四方のテーブルクロスを100メートルの大きな布として計算します。
1ユニット=1cmのつもりで作っていたのに、1ユニットを1メートルで計算されると、アトリビュートの設定値も大きく異なり、計算時間も出てくる結果も違ってきます。
nucleusソルバにセンチメートルで計算させるには空間スケールを「0.01」に設定します。

nDynamicsを使うときは必ずこの、空間スケールを自分が想定したモデルのサイズにあった値に変更してやる必要があります。

注:空間スケールを調整しても、Maya フィールドなどの外部のダイナミック フォースのマグニチュードには影響しません。 (参照:オンラインヘルプ:Maya Nucleus ソルバのプロパティ


この本ではアメリカで一般的に使われる単位「フィート」に換算するため0.304に設定しています。

「アメリカで一般的に使われる」と書きましたがCG業界一般の事ではなく、世間一般のことを指しています。
CGの実作業では「cm」を使う時も「フィート」を使う時もあります。
私がいたところでは「cm」を使った作業が大半でした。
ただ一般的な会話ではフィートが使われ、プロデューサーとの会話などでもフィートで話がすすみます。

参照1:キャラクタセットアップでの基本的なnCloth
参照2:3D CG soft system unit. MAX、MAYA、SI、Houdini (参照元ブログ:Succhin。)

-------------
実験:
実践にあったようにシャベルを作り、すくい取った後に持ち上げて落とす動作を加えた上でBounce、Friction、Stickinessのそれぞれの値を変えてみた。

Bounceの値: 1.3などの大きい数値を設定してみた。
互いに押されるので、掘った跡がすぐにパーティクルで埋まる。これはFrictionをゼロに設定したときに似ているが、球の弾み方が大きいのが違いシャベルすくい取るときも弾んで飛び散っている。
2.0以上の大きすぎる値は、互いにはじき合って、画面いっぱいに飛び散ってしまう。
初期状態の設定によっては計算がかなり重くなるのでいきなり大きな値に変更するのは避け1以下か、大きくても1.3程度の値で調整した方がよい。

Frictionを増加すると泥のように粘性が高まった感じになる。

Stickinessを増加するとこれも粘性が高まった感じだが、Flictionと違い、重力の影響を受けにくくなる。たとえばあるパーティクルの横にパーティクルがくっついているがすぐには落ちてこないような感じ。
ちょうど「つぶつぶ粘土(参照)」のような感じです。


FrictionとStickinessは5や10という大きな数字を入力しても問題なかった。

0 件のコメント:

コメントを投稿