Gelatoマニュアル 日本語訳 Wiki
5. Modeling and Animation
最終更新:
e1-605265
-
view
サブセクション
・5.1 幾何学的なモデリング
○5.1.1 NURBS モデリング
○5.1.2 ポリゴン モデリング
○5.1.3 サブディビジョンサーフェス モデリング
○5.1.4 サブディビジョンサーフェスとしてのポリゴンメッシュのレンダリング
○5.1.1 NURBS モデリング
○5.1.2 ポリゴン モデリング
○5.1.3 サブディビジョンサーフェス モデリング
○5.1.4 サブディビジョンサーフェスとしてのポリゴンメッシュのレンダリング
5. モデリングとアニメーション
Maya/Mangoのモデリングの技術は、普通のMayaと全く同じことです。Mayaレンダラを利用しているならば、正確にオブジェクトをつくります。幾何学的オブジェクトによる微妙な違いがレンダラに反映しますが、それにはレンダリング中、最適なパフォーマンスのため、モデルの設計方法の微妙な変化を必要とします。
Mangoは、Mayaでつくられる装飾で、完全にNURBSを保証します。GelatoがNURBSをレンダリングすることはとても効率的であるので、最高のパフォーマンスのために、実際的な場合、ポリゴンメッシュの代わりにNURBSを使うことをおすすめします。
表面のu,v範囲が正常化されないケースでは、MangoはNURBSオブジェクトにテクスチャーコーディネートのデフォルト線形セットを追加します。
GelatoがNURBSモデルを好むが、Gelatoレンダラでポリゴンのオブジェクトを使用するとき、Gelato/Mangoは完全にポリゴンメッシュをサポートして、頂点連結性を保ちます。法線は、per-face-vertexでなければなりません(一名Gelatoに「線形の」)。
Mangoは、最初のuv-セットから、テクスチャコーディネートをとるだけです。
Gelatoはポリゴンに穴があるといけませんので注意すべきです。モデルが穴を含むならば、Mayaのポリゴンツールのうちの1つでそれを三角形にするか、四角形する必要があります。
Mangoは、テクスチャーコーディネートとともにMayaと作製されるサブディビジョンサーフェスベースメッシュを変えます。それは、しかし、Mayaの階層的なサブディビジョン編集機能をサポートしません、そしてまだ、しわ、角または穴に対する準備がありません。
Mangoは常に、2までGelatoの「int border」アトリビュートを課します。このセッティングで、Gelatoは端頂点によってつくられるB-スプラインに境界線端を差し込んで、丸い角と共に境界表面を引きます。(角頂点のまわりでさえ、端は一体となって連続B-スプラインを差し込みます。)
Mayaでサブディビジョンサーフェイスとして構成していなくとも、なめらかなサブディビジョンサーフェイスとしてポリゴンメッシュをレンダリングするこどがMangoでは可能です。Mayaにおいて、Attribute Editorでメッシュノードに「Gelato」タブがあります。Gelatoタブには、「Linear」(ポリゴンの側面を描きます)または「Catmull-Clark」(サブディビィジョンサーフェスとして描かれます)のどちらにでもセットできる「Interpolation」と呼ばれるフィールドがあります。
下で、「Linear」および「Catmull-Clark」展開を使っているポリゴン球のレンダリング結果の違いが分かります。
アニメーションとアトリビュートのセットアップは、通常実行されます。レンダラとしてのGelatoの選択とMangoの使用は、どのようにこれらの機能を実行するかにおいて、影響を及ぼしません。
Mangoは、基本的なファッションでパーティクルノードを変えます。PointとSphereのレンダータイプしかサポートされていません。他のレンダータイプ(例えば、MultiPoint, Sprite,Tube,Blob Surface)は、まだサポートされません。
Mangoは、Maya furを現在サポートしていません。しかし、布と髪はサポートされています。
MangoはShave and Haircutをサポートし、髪と毛皮プラグインはhttp://www.joealter.comから入手可能です。
Shave良点が場面の中で見つけられるとき、MangoはShaveが自動的にRIBファイルとしてShaveジオメトリを出力します、そして、Gelato Pyg出力は結果として生じるRIBファイルを入力します。これは完全に透過的に行われて、ユーザーから特別な指示を必要としません。
ShaveがRIBとして髪ジオメトリを出力するので、Gelatoにおいて自由にRIB-readingプラグインのソースを必要とするでしょう。このプラグインとの関連は、http://www.nvidia.com/page/gz_get.html(「3rd party plugins」のセクションを探します)から入手可能です。
一旦ダウンロードする場合、RIB-readingプラグインは$GELATOHOME/libで、または、Render Settings -->Gelato -->General Options -->Generator pathにリストされる他のどのディレクトリでも置かれています。(4.4参照)
一旦ダウンロードする場合、RIB-readingプラグインは$GELATOHOME/libで、または、Render Settings -->Gelato -->General Options -->Generator pathにリストされる他のどのディレクトリでも置かれています。(4.4参照)
デフォルトで、出力されたShave furは、Shave.gslシェーダ($GELATOHOME/shaders)を使います。これは、かなり良い髪シェーダです。しかし、あなたは以下の方法であなた自身の髪シェーダを代えることができます:
1 MayaのAttribute EditorでShave paramtersを見れるように、髪グループを選んでください。
2 In the Shave -->RIB Options タブを選び、「Insert RIB」という場所を見つけます。ここではシェーダパラメータを含む、選んだシェーダの割当てを指定することができます。
2 In the Shave -->RIB Options タブを選び、「Insert RIB」という場所を見つけます。ここではシェーダパラメータを含む、選んだシェーダの割当てを指定することができます。
Surface "myhair" "float Kd" [0.25] "float Ks" [0.7]
髪または毛皮が投影することを要求されるとき、強くGelatoのボリュームシャドウテクニックを使用することを勧めます。7.1.4で記述されています。
Shave Instancing
生成された髪に加え、Shave and Haircutは、例としてどんなジオメトリでも配布することができます。Gelatoは、時々シェーディングにおいての手動干渉のrequresを取り扱います:
生成された髪に加え、Shave and Haircutは、例としてどんなジオメトリでも配布することができます。Gelatoは、時々シェーディングにおいての手動干渉のrequresを取り扱います:
1.例えばがポリゴンにおいて、小さな面を見るならば、必ずなめらかな法線をオンにするようにしてください
(Shave --Shave Globals... --RenderMan --Export Normals)。メッシュをジジオメトリのuv結合に正しく出力させたい場合
同じパネルにある、「Export UVs」にチェックをつけてください。
(Shave --Shave Globals... --RenderMan --Export Normals)。メッシュをジジオメトリのuv結合に正しく出力させたい場合
同じパネルにある、「Export UVs」にチェックをつけてください。
2.デフォルトで、Mangoは「shavehair」シェーダですべてのShaveジオメトリー(例を含む)を輸出します。ジオメトリが髪のように見えると思われないならば、他のシェーダを望むでしょう。Shave髪(例えばShaveSelectメニュー)を選択し、Rib PropertiesタブからAttribute Editorを見て
を選んでください。そして例えば「ribStuff」において、RIBコマンドとしてカスタムメイドのGelatoサーフェイスシェーダを入力することができます:
を選んでください。そして例えば「ribStuff」において、RIBコマンドとしてカスタムメイドのGelatoサーフェイスシェーダを入力することができます:
Surface "plastic" "Kd" [0.5]
3.他のどのジオメトリに関しても持っているMayaのシェーディングネットワークマテリアル(例としてShaveのテンプレートジオメトリを含む)を利用することも可能ですが、それは少し慎重を要します。「ribStuff」で入力しなければならないものは、以下の通りです:
ReadArchive "pyg << RestoreAttributes(\"blinn1SG\")"
これで、Mayaのマテリアルリストで特定のマテリアルと一致しているGelatoアトリビュート状態を戻します。「SG」を追加して、名前(この場合「blinn1SG」)はMayaのマテリアル(「blinn1」)の名前となります。我々が引用にここで巣を作っている時から、ダブルクォートできちんとバックスラッシュを使うように注意してください。
Mayaはちゃんと変換しなくても、ポリゴン(法線とテクスチャーコーディネートで)としてMaya Paint Effectsを出力します。現在では、枝と葉なしで『主な』メッシュだけを使用できます。しかし、我々は将来のリリースにおいてこれらの『auxilliary』メッシュを加える予定です。
『maya_brush』シェーダは、Paint Effectsシェーディングとして最も単純にエミュレートします。すなわち、color1/transparency1/incandescence1とcolor2/transparency2/incandescence2の間での展開は『v』テクスチャー結合で構成されています。我々は、将来のリリースにおいて機能の充実した「brush」のより完全なバージョンをサポートする予定です。
形状名が「SaveAttributes」で終わる、あるいは、ストリングアトリビュートをgelatoSaveAttributesと言っておくどんなロケーターノードでも、SaveAttributes呼び出しとして書かれます。特質束名はロケーターノードの名前です。そして「what to save」パラメーターはデフォルトで空であり、それはどんなものでも保存ができることを意味しています。gelatoSaveAttributesが空でないならば、その内容は、SaveAttributesに対する第2の引数です。それで、置換シェーダのために座標系を作る方法を簡単にまとめると:ロケーターノードをつくってください。どこでも良いので、それを望む階層に入れてください。「SaveAttributes」で終わるように、ロケーター形状ノード(それより上の変換でない)の名前を変えてください。「transform」だけを保存したいのならば、すべてとは対照的に、ロケーター形の上でgelatoSaveAttributes特質をつくることができて、それを「transform」にセットすることができます。
それから、座標系または「space」パラメータがあるシェーダで、この座標系を使うことができます。
ロケーターノードを使用する際、裏のSaveAttributes(「myCoordSys」)スクリプトによって座標系を生み出すことが、
理論的に可能である点に注意してください。ハードコードされたSaveAttributes呼び出しあった後は、これに関する問題はユーザースクリプトがlocalPosition特質のTranslateコマンドの前に出版されるということです。
理論的に可能である点に注意してください。ハードコードされたSaveAttributes呼び出しあった後は、これに関する問題はユーザースクリプトがlocalPosition特質のTranslateコマンドの前に出版されるということです。
Mayaシーンの直接変換によっての簡単でない操作法で、Gelatoを操作したい上級者のために、Mangoにユーザー指定されたPyg断片を、出力されたファイルに挿入するように指示することは可能です。