Arnold Standard Surface シェーダー
Arnold Standard Surface シェーダーは、HD レンダーパイプライン (High Definition Render Pipeline、HDRP) の Autodesk® 3DsMax and Autodesk® Maya で利用可能な、Arnold Standard Surface シェーダーを複製します。Unity は Autodesk の Arnold Standard Surface シェーダーを使うマテリアルを含む FBX をインポートする際に、HDRP の Arnold Standard Surface シェーダーをマテリアルに適用します。マテリアルプロパティーおよびテクスチャ入力は、このシェーダーの Unity と Autodesk バージョン間で完全同一です。マテリアル自体も同様の外観を持ち、ライトに同じように反応します。なお、Autodesk® Maya または Autodesk® 3DsMax と HDRP の内容には若干の差異があり、HDRP がサポートしないマテリアル機能がいくつかありますので注意してください。
Autodesk® Maya ビューポートで見た Arnold Standard マテリアル
Unity で見た FBX からインポートした同じマテリアル
このシェーダーの HDRP 実装はシェーダーグラフを使います。
Arnold Standard Surface マテリアルの作成
Unity が互換性のある Arnold シェーダーを持つFBXをインポートすると、自動的に Arnold マテリアルを作成します。手動で Arnold Standard Surface マテリアルを作成する手順は、以下の通りです。
- 新しいマテリアルを作成します (メニュー: Assets > Create > Material)。
- Material の Inspector で、Shader ドロップダウンをクリックし、HDRP > ArnoldStandardSurface > ArnoldStandardSurface をクリックします。
プロパティー
Surface Options
Surface Options はマテリアルの表面の全体的な外観と、Unity が画面でマテリアルをレンダリングする方法を制御します。
プロパティー | 説明 |
---|---|
Surface Type | マテリアルが透明度をサポートするかを指定します。Transparent Surface Type のマテリアルは、Opaque (不透明) な Surface Type のマテリアルよりも、リソースに負荷がかかります。選択するオプションに応じて、HDRP はさらにプロパティーを表示します。オプションは以下の通りです。 • Opaque: • Transparent: クリアなプラスチックやガラスなどのような、光が突き通ることができる半透明のマテリアルをシミュレートします。 機能に関する詳細および各 Surface Type が表示するプロパティ―のリストは、サーフェスタイプに関するドキュメント を参照してください。 |
- Rendering Pass | HDRP がマテリアルをプロセスするレンダリングパスを指定します。 • Before Refraction: 屈折パスの前にゲームオブジェクトを描画します。つまり、HDRP は屈折をプロセスするときにマテリアルを含みます。このオプションを展開するためには、Surface Type ドロップダウンから Transparent を選択します。 • Default: Surface Type に応じて、デフォルトの不透明、または透明レンダリングパスでゲームオブジェクトを描画します。 • Low Resolution: Default パスの後で、半分の解像度でゲームオブジェクトを描画します。 • After post-process: Unlit マテリアル のみに使われます。すべてのポストプロセスエフェクト後にゲームオブジェクトを描画します。 |
- Blending Mode | HDRP がマテリアルの各ピクセルのカラーと背景ピクセルをブレンドするために使う方法を特定します。オプションは以下の通りです。 • Alpha: マテリアルのアルファ値を使ってオブジェクトの透明度を変更します。0 は完全透明です。1 は完全に不透明ですが、マテリアルは透明レンダーパス中にレンダリングされます。これは雲など、完全に可視化したいものの、時間とともにフェードさせたい景観に役立ちます。 • Additive: マテリアルの RGB 値を背景色に追加します。マテリアルのアルファチャンネルが強度を調整します。0 の値は何も追加せず、1 の値はマテリアルのカラーを 100% 背景色に追加します。 • Premultiply: すでにマテリアルの RGB 値とアルファチャンネルを乗算したものと想定します。画像をフィルタリングする、または異なるレイヤーを構成する際に Alpha ブレンドよりも良い結果が得られます。 このプロパティーは Surface Type を Transparent に設定したときのみに表示されます。 |
- - Preserve Specular Lighting |
アルファブレンディングによってスペキュラーハイライトの強度を減らすかどうかを示します。これはガラスや水を照らす太陽光線のような、透明なサーフェスのスペキュラ―要素を保存します。 このプロパティーは、Surface Type を Transparent に設定したときのみに表示されます。 |
- Sorting Priority | これを使うと、重ねられた透明なサーフェスのレンダリング順序を変更できます。詳細と使用例については、マテリアルソートに関するドキュメント を参照してください。 このプロパティーは、Surface Type を Transparent に設定したときのみに表示されます。 |
- Receive Fog | フォグが透明な表面に影響を与えるかを示します。無効にすると、シーンでフォグを計算する際に HDRP はマテリアルを考慮しません。 |
- Transparent Depth Prepass | HDRP が並び替えを向上させるために透明なサーフェスからポリゴンを深度バッファに追加するかを示します。HDRP はライティングパスの前にこの操作を実行し、GPU のパフォーマンスを向上させます。 |
- Transparent Writes Motion Vectors | HDRP がマテリアルを使う透明なゲームオブジェクトにモーションベクトルを描画するかを示します。これにより HDRP は透明なオブジェクトに対し、モーションブラーのようなエフェクトを処理できます。モーションベクトルに関する詳細は、モーションベクトルに関するドキュメンテーション を参照してください。 このプロパティーは Surface Type を Transparent に設定したときのみに表示されます。 |
- Depth Write | HDRP が、マテリアルを使うゲームオブジェクトの深度値を書き込むかを示します。 |
- Depth Test | HDRP が深度テストに使う比較関数を特定します。 |
- Cull Mode | マテリアルを使うゲームオブジェクトに除去するフェースを特定します。オプション: • Front: メッシュのフロントフェースを除去します。 • Back: メッシュのバックフェースを除去します。 このプロパティは、Double Sided を無効にしたときのみに表示されます。 |
Double Sided | HDRP がジオメトリでポリゴンの両面をレンダリングするかを示します。機能に関する詳細およびこの機能が展開するプロパティーのリストは、両面に関するドキュメント を参照してください。 |
- Normal Mode | HDRP が背面を向いたジオメトリ用の法線を計算するために使うモードを特定します。 • Flip: 裏面の法線は正面の法線の 180°です。これはマテリアルにも適用され、ジオメトリの両面で同じように見えます。 • Mirror: 裏面の法線は正面の法線を反転させます。これはマテリアルにも適用され、バックフェースで反転します。例えば葉っぱなど、ジオメトリの両面で同じ形状を維持したいときに便利です。 • None: 裏面の法線は正面の法線と同じです。 このプロパティーは、Double-Sided を有効にしたときのみに表示されます。 |
Receive Decals | HDRP がマテリアルの表面にデカールを描画できるかを示します。 |
Receive SSR/SSGI | スクリーンスペースリフレクションパスをプロセスする際に、HDRP がマテリアルを含むかを示します。HDRP はスクリーンスペースのグローバルイルミネーションを計算する際にもマテリアルを考慮します。 このプロパティは、Surface Type を Opaque に設定したときのみに表示されます。 |
Receive SSR Transparent | スクリーンスペースリフレクションパスを処理する際に、HDRP がマテリアルを含むかを示します。 このプロパティーは、Surface Type を Transparent に設定したときのみに表示されます。 |
Exposed Properties
プロパティー | 説明 |
---|---|
BaseColor | サーフェスの色です。 |
BaseColorMap | サーフェス全体にアルベドカラーとして使うテクスチャを特定します。 |
Metalness | 表面がどれくらい金属のように見えるかを決定します。表面がよりメタリックだと環境をより反映し、アルベドカラーがより目立たなくなります。 |
MetalnessMap | サーフェス全体に対するメタリック値を決定するテクスチャを指定します。 |
SpecularWeight | スペキュラーエフェクトの強度です。 |
SpecularColor | ティントカラーおよびスペキュラーハイライトの強度です。 |
SpecularColorMap | サーフェス全体に対するスペキュラーカラーを決定するテクスチャを指定します。サーフェスの様々な部分で色とスペキュラーハイライトの強度を決定します。 |
SpecularRoughness | スペキュラーリフレクションの光沢加減です。値が低いほど、リフレクションはよりシャープになります。 |
SpecularRoughnessMap | サーフェス全体に対する粗さを決定するテクスチャを指定します。このプロパティーは、テクスチャの赤チャンネルのみを使います。 |
SpecularIOR | スペキュラーリフレクションに適用される屈折率です。これはマテリアルのフレネル反射を定義し、デフォルトにより、角度関数が使われます。 |
SpecularIORMap | サーフェス全体に対するスペキュラー屈折率を決定するテクスチャを指定します。このプロパティーはテクスチャの赤チャンネルのみを使います。 |
SpecularAnisotropy | スペキュラーの異方性エフェクトの強度です。異方性は光を方向バイアスで反射し透過します。それは、マテリアルがある方向でより粗く、光沢を帯びて見える原因になります。 |
SpecularRotation | 回転の値は UV 空間における異方性反射率の方向を変更します。 |
SpecularRotationMap | サーフェス全体に対するスペキュラーの回転を決定するテクスチャを指定します。 |
Emission Color | マテリアルのサーフェスから発せられるライトの色です。シーンの中で、エミッシブマテリアルは光源として表示されます。 |
EmissionColorMap | サーフェス全体に対するエミッションカラーを決定するテクスチャを指定します。 |
CoatWeight | コートレイヤーのエフェクトの強度です。 |
CoatColor | コートレイヤーの色です。 |
CoatRoughness | コートレイヤーのスペキュラーリフレクションの光沢の加減です。値が低いほど、リフレクションはよりシャープになります。 |
CoatThickness | コートレイヤーの厚さです。 |
Coat IOR | コートレイヤーに使う、屈折率です。 |
CoatNormal | コートレイヤーに適用する、接線空間の 法線マップ を指定します。 |
NormalMap | 接線空間の法線マップを指定します。ビルトインレンダラーの Standard Shader に類似しています。 |
OpacityMap | サーフェス全体に対する不透明度値を決定するテクスチャを指定します。 |
Opacity | マテリアルの不透明度です。範囲は 0 から 1 で、0 は最も不透明度が低く、1 は最も不透明度が高くなります。 |
Advanced Options
プロパティー | 説明 |
---|---|
Enable GPU Instancing | このチェックボックスを有効にすると、可能な場合は、同じジオメトリとマテリアルのメッシュを 1 つのバッチでレンダリングするように HDRP に指示します。これにより、レンダリングのスピードが上がります。さまざまなマテリアルがある場合やハードウェアが GPU をサポートしない場合は、HDRP はメッシュを一度にレンダリングできません。例えば、オブジェクトピボットに基づくアニメーションを持つゲームオブジェクトの 静的バッチ はできませんが、GPU ならそれらのインスタンス化が可能です。 |
Emission | エミッションエフェクトがグローバルイルミネーションに影響を及ぼすかを切り替えます。 |
- Global Illumination | HDRP が、カラーエミッションがグローバルイルミネーションと作用する方法を決定するのに使うモードです。 • Realtime: このオプションを選択すると、エミッションがリアルタイムのグローバルイルミネーションの結果に影響を与えます。 • Baked: このオプションを選択すると、エミッションはベイキング処理中のみ、グローバルイルミネーションに影響を与えます。 • None: このオプションを選択すると、エミッションはグローバルイルミネーションに影響を与えません。 |
Motion Vector For Vertex Animation | このチェックボックスを有効にすると、HDRP が頂点アニメーションを使うゲームオブジェクトのモーションベクトルを書き込みます。これにより、頂点アニメーションに起因するゴーストが削減されます。 |