3DS フィジカルマテリアルシェーダー
3DS フィジカルマテリアルシェーダーは、High Definition Render Pipeline (HDRP) 用の Autodesk® 3DsMax で使用できる 3DS フィジカルマテリアルシェーダー を再現します。Unity は Autodesk の 3DS フィジカルマテリアルシェーダーを使用するマテリアルを含む FBX をインポートする際に、HDRP の 3DS フィジカルマテリアルシェーダーをマテリアルに適用します。マテリアルプロパティーとテクスチャインプットは、Unity と Autodesk ともに同一のシェーダーになります。マテリアル自体の外観も類似し、ライトにも同じように反応します。なお、Autodesk® 3DsMax と HDRP では微妙に異なる点があり、HDRP がサポートしないマテリアル機能があることに気をつけてください。
このシェーダーの HDRP 実装はシェーダーグラフを使います。
3DS フィジカルマテリアルの作成
Unity は互換性のある3DS フィジカルマテリアルシェーダーを含んだ FBX をインポートする際、3DS フィジカルマテリアルを自動作成します。手動で3DS フィジカルマテリアルを作成した場合は以下の手順に従ってください。
- 新しいマテリアルを作成する (メニュー: Assets > Create > Material)。
- マテリアルのインスペクターでシェーダーのドロップダウンをクリックしてから、HDRP > 3DSMaxPhysicalMaterial > PhysicalMaterial3DSMax をクリックする。
プロパティー
サーフェスオプション
サーフェスオプション マテリアルの表面の全体像および 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 に設定したときのみに表示されます。 |
展開されたプロパティー
プロパティ | 説明 |
---|---|
BaseColorWeight | ベースカラーの強さです。 |
BaseColor | サーフェスの色です。 |
BaseColorMap | サーフェス全体にアルベドカラーとして使うテクスチャを特定します。 |
ReflectionsWeight | リフレクションの明度です。 |
ReflectionsColor | スペキュラーリフレクションを修正する色です。 |
ReflectionsColorMap | サーフェス全体に対するリフレクションカラーを決定するテクスチャを指定します。 |
ReflectionsRoughness | スペキュラーリフレクションの光沢加減です。値が低いほど、リフレクションはよりシャープになります。 |
ReflectionsRoughnessMap | サーフェス全体のリフレクションの粗さを決定するテクスチャを指定します。このプロパティーは、テクスチャの赤チャンネルのみを使いますので、注意してください。 |
Metalness | 表面がどれくらい金属のように見えるかを決定します。表面がよりメタリックだと環境をより反映し、アルベドカラーがより目立たなくなります。 |
MetalnessMap | サーフェス全体に対するメタリック値を決定するテクスチャを指定します。 |
ReflectionsIOR | スペキュラーリフレクションに適用される屈折率です。これはマテリアルのフレネル反射率を定義します。それは、デフォルトでは、角度関数が使われます。 |
ReflectionsIORMap | サーフェス全体のスペキュラー屈折率を決定するテクスチャを特定します。このプロパティーはテクスチャの赤チャンネルのみを使います。 |
TransparencyWeight | マテリアルの透明度の相対的な高さです。 |
Transparency | マテリアルの透明度です。 |
TransparencyMap | サーフェス全体に対する透明度を決定するテクスチャを指定します。 |
EmissionWeight | エミッションエフェクトの強度です。 |
Emission | マテリアルのサーフェスから発するライトの色です。シーンの中で、エミッシブマテリアルは光源として表示されます。 |
EmissionMap | サーフェス全体に対するエミッシブカラーを決定するテクスチャを指定します。 |
BumpMapStrength | バンプマップエフェクトの強さです。 |
BumpMap | バンプの効果をマテリアルに適用する、接線空間の 法線マップ です。 |
Anisotropy | 異方性エフェクトの方向です。マイナス値は垂直に、プラス値は水平になります。スペキュラーハイライトを指定された方向に伸縮させます。 |
AnisotropyMap | サーフェス全体の異方性エフェクトの強度を決定するテクスチャを指定します。 |
CoatNormal | コートレイヤーに適用する、接線空間の 法線マップ を指定します。 |
CoatRoughness | コートレイヤーのスペキュラーリフレクションの光沢の加減です。値が低いほど、リフレクションはよりシャープになります。 |
CoatThickness | コートレイヤーの厚さです。 |
CoatWeight | コートレイヤーのエフェクトの強度です。 |
CoatColor | コートレイヤーの色です。 |
Coat IOR | コートレイヤーに使う、屈折率です。 |
上級者向けオプション
プロパティー | 説明 |
---|---|
Enable GPU Instancing | このチェックボックスを有効にすると、可能な場合は、同じジオメトリとマテリアルのメッシュを 1 つのバッチでレンダリングするように HDRP に指示します。これにより、レンダリングのスピードが上がります。さまざまなマテリアルがある場合やハードウェアが GPU をサポートしない場合は、HDRP はメッシュを一度にレンダリングできません。例えば、オブジェクトピボットに基づくアニメーションを持つゲームオブジェクトの 静的バッチ はできませんが、GPU ならそれらのインスタンス化が可能です。 |
Emission | エミッションエフェクトがグローバルイルミネーションに影響を及ぼすかを切り替えます。 |
- Global Illumination | HDRP が、カラーエミッションがグローバルイルミネーションと作用する方法を決定するのに使うモードです。 • Realtime: このオプションを選択すると、エミッションがリアルタイムのグローバルイルミネーションの結果に影響を与えます。 • Baked: このオプションを選択すると、エミッションはベイキング処理中のみ、グローバルイルミネーションに影響を与えます。 • None: このオプションを選択すると、エミッションはグローバルイルミネーションに影響を与えません。 |
Motion Vector For Vertex Animation | このチェックボックスを有効にすると、HDRP が頂点アニメーションを使うゲームオブジェクトのモーションベクトルを書き込みます。これにより、頂点アニメーションに起因するゴーストが削減されます。 |