まとめ
テクスチャは、シェーダーライブラリとスタジオパイプラインによってさまざまな方法で処理されKatanaは、いくつかの一般的な規則に従って、テクスチャを割り当てるための柔軟なフレームワークを提供します。
3Delight 、RenderMan、およびArnoldレンダラーで機能するこれらのオプションのいくつかの要約です。ここで説明されている両方のアプローチを示す添付のサンプルシーンも参照してください。
詳しくは
マテリアル属性を使用してテクスチャを宣言する
各オブジェクトに独自のテクスチャを与える最も簡単な方法は、オブジェクトごとにマテリアルを作成し、シェーダーでテクスチャを文字列パラメータとして明示的に宣言することです。次に、各オブジェクトに関連するマテリアルが割り当てられます。
このアプローチは、特に多数のオブジェクトを含むシーンで作業する場合に最も労働集約的であり、マテリアルに変更を加える必要がある場合の柔軟性に欠けます。
多くの場合、多くのオブジェクトが同じマテリアルを共有できますが、異なるテクスチャを割り当てる必要があります。この場合、各オブジェクトが独自のテクスチャを取得するようにシーンを設定することができます。
オブジェクト属性を使用してテクスチャを宣言する
マテリアルにテクスチャを設定するのではなく、レンダリングされるオブジェクトは、任意の属性を介して関連するテクスチャファイルを指すことができます。
サンプルシーンの作成
以下は、オブジェクト属性を使用してテクスチャを宣言する方法の説明です。この例では、 3Delightレンダラーを使用しています。
- ヘルプからCameraCreate、NetworkMaterialCreate、および2つのPonyノードを追加します>ポニーメニューが必要です。各Ponyノードのnameパラメーターを変更して、一意になるようにしてください。
- 各ポニーの下流にAttributeSetノードを作成し、それぞれの上流のポニーのシーングラフの場所へのパスを設定します。
- 各AttributeSetノードを編集し、各attributeNameパラメーターを「geometry.arbitrary.basecolor.value」に変更し、タイプパラメーターを「string」に変更します。
- 一意のテクスチャファイルを指すように、各AttributeSetのstringValueを設定します。 Katanaに含まれているサンプルファイルは、$ KATANA_ROOT / demos / tx_files /にあります。
- NetworkMaterialCreateノード(ショートカット:選択した場合はCtrl + MMBまたはCtrl + Enter )にジャンプし、dlPrincipledおよびdlTextureシェーディングノードを作成します。
- dlTextureノードを編集し、TextureFileパラメーターを '{attr:geometry.arbitrary.basecolor.value}'に設定します。これにより、以前に設定された属性からファイルパスが読み取られます。
- dlTextureのoutputColorポートをdlPrincipledノードのBase> Colorポートの入力に接続し、NetworkMaterialCreateからジャンプします(ショートカット: Ctrl + Backspace )。
- ポニーノードを除くすべてのノードを選択し、「M」を押してダウンストリームにマージノードを作成します。
- マージの下にMaterialAssignノードを作成して接続し、値が「/ root / world / geo // *」のカスタムCEL参照を追加し、materialAssignパラメーターを「/ root / Materials / NetworkMaterial」に設定します。これにより、シーングラフの「geo」位置より下のすべての位置にマテリアルが適用されます。
- 最後に、MaterialAssignの下流GafferThreeノードを作成し、追加の環境光を追加3Delightメニュー。
レンダリングすると、1つのマテリアルから2つの異なるテクスチャがポニーに適用されていることがわかります。
添付ファイル
私たちはそれを聞いて申し訳ございません
理由をお聞かせください