On this page |
概要
Materialノードは、マテリアルをプリミティブ(フェース)やポイントのリスト/グループに割り当てます。
このノードは、マテリアルの個々のパラメータを上書きすることができ、そして基本マテリアルをプリミティブ単位でカスタマイズすることができます(以下の Local parameters オプションを参照)。
このノードは、内部では(マテリアルのパス名に設定する)shop_materialpath
アトリビュートと(何か Local overrides が設定されていれば)material_override
を作成したり、または、 Create style sheet attribute が有効ならばmaterial_stylesheet
アトリビュートを作成します。
Mantraはそれらのすべてのアトリビュートを使用しますが、シーンビューアはshop_materialpath
にしか対応していません。
パラメータ
Attributes
マテリアルを割り当てるレベル。通常では、これを Primitive Attributes のままにします。
Point Attributes
プリミティブ(フェース)レベルではなく、ポイントレベルでマテリアルを割り当てます。これは、ポイントインスタンスでのみ役に立ちます。それらのポイントにインスタンス化されたオブジェクトは、それらのポイントに割り当てられているマテリアルを取得します。
Primitive Attributes
プリミティブ(フェース)レベルでマテリアルを割り当てます。これがデフォルトで、標準の設定です。
Detail Attribute
Detail(ジオメトリ全体)レベルでマテリアルを割り当てます。Material Style Sheetアトリビュートを作成していない限りは、通常では、これは役に立ちませんが、何か独自で特殊な表現をしない限りは、この設定を使うべきではありません。 Material Style Sheetアトリビュートを作成して使用する時は、このオプションは、すべてのマテリアル割り当てとこのSOP内のオーバーライドを、一枚のスタイルシートにまとめて、Detailアトリビュートに保存します。 Groupフィールドは、そのスタイルシートターゲット情報に直接保存されて、レンダリング時にMantraで評価されます。
Create style sheet attribute
shop_materialpath
やmaterial_override
のアトリビュートの代わりに、material_stylesheet
アトリビュートを作成します。
そのスタイルシートアトリビュートには、Point、PrimitiveまたはDetailに適用するように要求されたシェーディングを記述したMaterial Style Sheetが含まれます。
Number of Materials
割り当てるマテリアルの数。これは、マテリアルを色々なプリミティブグループに割り当てるのに役に立ちます。マテリアルをレイヤー化することはできません。複数のマテリアルを同じプリミティブに割り当てると、最後のマテリアルが前のマテリアルを上書きします。
タブ
ノードは Number of Materials で設定した数だけタブを作成します。追加マテリアルを挿入するには、Addボタンをクリックします。マテリアルを除去するには、そのタブをクリックしてから、Deleteボタンをクリックします。
Group
マテリアルを割り当てるプリミティブ( Attributes が Point Attributes に設定していればポイント)のリストまたはグループの名前。
Material
割り当てるマテリアルのパス。選択アイコンをクリックして、リストからマテリアルを選択します。
Overrides use local variables
以下の場合には、これをオンにしてください:
-
ローカルパラメータ(例えば
$PR
と$PT
)を使って、マテリアルのパラメータを上書きしている(以下参照)。 -
ローカルパラメータオーバーライドの値にローカル変数を使用する必要がある。
Local Parameters
マテリアルのパラメータの Local Overrides の数を制御します。これは、選択したプリミティブにのみ適用されるように、マテリアルのパラメータに局所的な変更をすることができます。
オーバーライドをセットアップするには:
-
Local Overrides パラメータのフィールドの隣にあるAddボタンをクリックして、オーバーライドを追加します。
既にオーバーライドがあれば、その隣のAddボタンをクリックすることもできます。
-
上書きしたいマテリアルのパラメータを選択するために、 Choose Parameter メニューを使います。
-
上書きされるパラメータの値を設定するために、Integer, Float, String, Color, Vectorのフィールド(上書きしたいパラメータのタイプに依存)を使います。
オーバーライドを削除するには、その隣のDeleteボタンをクリックします。
Examples
The following examples include this node.
このサンプルでは、ボリュームシャドウありのAtmosphereシェーダを作成する方法を説明しています。 FogオブジェクトにはVEX Lit Fogシェーダを追加し、SpotlightのDepth Map Shadowsを有効にしています。 シーン内のオブジェクトには、matteシェーダを接続しています。
StyleDisplacement Example for Material shader node
このサンプルファイルでは、2つの四角形で構成されたオブジェクトに対して、片方の四角形にはバンプマップを、もう片方の四角形にはTrue Displacementが適用されています。 そのオブジェクトが複製されており、2番目のコピーでは、スタイルシートを使用して、それらの2つの四角形に対してマテリアルの割り当てを逆にしています。
BlendAttr Example for Attribute Composite geometry node
このサンプルでは、Attribute Composite SOPを使ってアトリビュートをブレンドする方法を説明しています。
CurveTexturing Example for Attribute Create geometry node
AttribCreate SOPは、色々なオブジェクト固有のアトリビュートを作成する時に使用します。新しく作成したアトリビュートにはラベルと値を設定することが可能です。
このサンプルでは、レンダリング時のカーブの幅を設定するためにAttribCreate SOPで線幅アトリビュート名の"width"を作成しています。Switch SOPで以下の2つのバージョンを切り替えることができます。
-
1つ目のAttribCreate SOPでは、X軸方向に一定幅のアトリビュートを作成しています。
-
2つ目のAttribCreate SOPでは、エクスプレッションでカーブの幅を調整することで先細りの効果を表現しています。
このアトリビュートはレンダリング時にMantraで使われます。結果を確認するには、ビューポートのレンダリングアイコンを右クリックして、"render_example"を選択してください。
RandomMaterial Example for Attribute String Edit geometry node
このサンプルでは、Attrib String Edit SOPを使って、文字列Primitiveアトリビュートの修正と、
プリミティブ単位でグリッドのカラーをランダム化する方法を説明しています。
サンプルでは、material_override
Primitiveアトリビュートの文字列値にdiff_int
を修正しています。
ConvToTrimSurface Example for Convert geometry node
このサンプルでは、Convert SOPを使って、トリムされたNURBS/Bezierサーフェスを作成する方法を説明しています。
トリムされたサーフェスのテクスチャの扱い方を比較した4つのサンプルがあります。
-
Grid Surface グリッド上の単純なテクスチャマップ。
-
Trimmed Circle Using the Trim SOP Project SOPとTrim SOPを使ってトリムされたサーフェスを作成する一般的な方法。
-
Trimmed Circle Using the Convert SOP Convert SOPを使ってトリムされたサーフェスを作成する方法。
-
NURBS Surface Using the Convert SOP トリムされていないサーフェス上にテクスチャをパラメータ化する方法。
テクスチャのパラメータ化を分かりやすくするために、ポイント表示とワイヤーフレーム/シェーディングモードの切り替えをします。
ExtrudeFont Example for Extrude geometry node
このサンプルでは、Extrude SOPを使って、ボリュームとジオメトリを平坦なプリミティブから作成する方法を説明しています。
また、ジオメトリを別パートにグループ分けする方法と各グループに別々のシェーダを適用する方法も説明しています。
FurTextureMap Example for Fur geometry node
このサンプルでは、テクスチャマップを使ってファーに色を付ける方法を説明しています。
このサンプルでは、Layer SOPを使って複数のテクスチャを1つのオブジェクト上に重ねる方法を説明しています。
このサンプルでは、Layer SOPとVEX Layered Surface SHOPを使用することで、別々のUVセットに複数のシェーディングレイヤーを持たせる方法を説明しています。
PointNormals Example for Point geometry node
このサンプルでは、Point SOPを使って法線をジオメトリに追加する方法を説明しています。
また、ポイント法線をコピーしたジオメトリの向きとシェーダの外観に影響を与える方法も説明してます。
BasicRest Example for Rest Position geometry node
Rest Position SOPは、変形するサーフェスにシェーダを密着させるために、サーフェス法線に基づいたアトリビュートを作成します。
すべてのプリミティブがrest
アトリビュートをサポートしていますが、二次曲線/曲面のプリミティブ(円、チューブ、球、メタボール)に関しては、Rest Position(静止位置)の移動のみサポートしています。
つまり、Rest Normal(静止法線)は、それらのプリミティブタイプでは正しく動作しません。
ジオメトリを変形したり、ボリュームまたはソリッドのマテリアル/パターンをシェーダに割り当てる時のみ、Rest Position SOPを使用してください。
Mantraでポリゴンやメッシュに対してFeathering(境界ぼかし)を使う場合は、Rest Normal(静止法線)が必要になります。 NURBS/Bezierは、Rest Position(静止位置)を使って正しいRest Normal(静止法線)を計算します。
その効果を確認するために、レンダリングをセットアップする必要があります。
Rest適用なし Rest適用あり
BlendPointAttributes Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使ってPointアトリビュートをブレンドする方法を説明しています。
BlendPrimitiveAttributes Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使ってPrimitiveアトリビュートをブレンドする方法を説明しています。
BlendVertexAttributes Example for Sequence Blend geometry node
このサンプルでは、Sequence Blend SOPを使ってVertexアトリビュートをブレンドする方法を説明しています。
ProjectionTypes Example for UV Project geometry node
このサンプルでは、UV Project SOPでサポートされている色々な投影タイプを説明しています。
SoftRotate Example for UV Transform geometry node
このサンプルでは、UV Transform SOPでSoft Radiusを有効にして、テクスチャ座標の回転をアニメーションする方法を説明しています。
再生ボタンを押してアニメーションを再生してください。
VisibilityCheckers Example for Visibility geometry node
このサンプルでは、Visibility SOPで2D/3Dビューポートで選択したプリミティブを表示・非表示する方法を説明しています。
RaytraceVopShader Example for Ray Trace VOP node
このサンプルでは、VOP VEXネットワークを使って、単純なレイトレースシェーダについて説明しています。 シェーダプロパティを修正するには、マテリアル内にPropertiesシェーダを作成して、Outputシェーダノードに接続します。 そして、レンダリングパラメータをPropertiesノードに追加します。 例えば、反射の数を制御するには、reflect limitパラメータを追加します。
See also |