Lit Tessellation シェーダー
Lit Tessellation (Lit テッセレーション) シェーダーを使うと、テッセレーションを利用してメッシュに適切な頂点密度を供給するマテリアルを作成することができます。つまり、多数の頂点を含むモデルを作成する必要なく、より詳細なジオメトリをレンダリングできるということです。またこのシェーダーには、サブサーフェス散乱、遊色、頂点またはピクセルディスプレイスメントといったエフェクト、そしてデカールの互換性などのオプションも含まれています。マテリアル、シェーダー、テクスチャに関する詳細は、Unity ユーザーマニュアル を参照してください。
Tessellation Mode を None (オフ) に設定。
Tessellation Mode を Phong (オン) に設定。
Lit テッセレーションマテリアルの作成
新しい Lit テッセレーションマテリアルを作成するには、
- プロジェクトの Asset ウィンドウで右クリックします。
- Create > Material を選択します。これにより新しいマテリアルが Unity プロジェクトの Asset フォルダーに追加されます。
- マテリアルを選択し、Inspector で Shader ドロップダウンを選択します。
- HDRP > LitTessellation を選択します。
プロパティー
Surface Options
Surface Options は Material の表面の全体的な外観と、Unity が画面で Material をどのようにレンダリングするかを制御します。
プロパティー | 説明 |
---|---|
Surface Type | ドロップダウンを使って、マテリアルが透明度をサポートするかを定義します。Transparent Surface Type のマテリアルは、Opaque Surface Type のマテリアルよりも、レンダリングによりリソースに負荷がかかります。HDRP は選択された Surface Type に応じて、さらにプロパティーを展開します。機能に関する情報および各 Surface Type が展開するプロパティ―のリストは、サーフェスタイプドキュメント を参照してください。 |
- Rendering Pass | ドロップダウンを使って HDRP がマテリアルをプロセスするレンダリングパスを設定します。このプロパティ―についての詳細は、サーフェスタイプドキュメント を参照してください。 |
Alpha Clipping | チェックボックスを有効にすると、マテリアルが Cutout シェーダー として作用します。この機能を有効にすると、他のプロパティーが展開されます。機能の詳細および展開されるプロパティーのリストは、Alpha Clipping に関するドキュメント を参照してください。 |
Double-Sided | チェックボックスを有効にすると、HDRP はジオメトリにあるポリゴンの両面をレンダリングします。機能に関する情報およびこの機能が展開するプロパティーのリストは、 両面ドキュメント を参照してください。 |
マテリアルタイプ | マテリアルにタイプを指定し、選択する Material Type に応じて異なる設定でカスタマイズできます。機能の詳細および各 Material Type が展開するプロパティーのリストは、マテリアルタイプドキュメント を参照してください。 |
Receive Decals | チェックボックスを有効にすると、HDRP はマテリアルの表面にデカールを描画できるようになります。 |
Receive SSR (Transparent) | チェックボックスを有効にすると、HDRP はスクリーンスペースリフレクションパスを処理する際に、マテリアルを含めます。透明 Surface Type には、別のオプションがあります。 |
Geometric Specular AA | チェックボックスを有効にすると、マテリアルで HDRP がジオメトリックアンチエイリアスを実行します。曲がったジオメトリの表面のスムースネス値を修正し、スペキュラーアーティファクトを除去します。機能に関する詳細およびこの機能が展開するプロパティーのリストは、ジオメトリックスペキュラーアンチエイリアシングドキュメント を参照してください。 |
Displacement Mode | ドロップダウンから、HDRPがマテリアルの面の高さを変更するために使う方法を選択します。機能に関する詳細および各 Displacement Mode が展開するプロパティーのリストは、ディスプレイスメントモードドキュメント を参照してください。 |
テッセレーションオプション
これらのプロパティーは、Unity がマテリアルの表面とスムースジオメトリをどのように細分化するかをコントロールします。
プロパティー | 説明 |
---|---|
Tessellation Mode | HDRP が Phong テッセレーションを適用するかどうかを特定します。マテリアルは ディスプレイスメントマップ を使ってメッシュを細分化できます。ディスプレイスメントの結果を滑らかにするために、Phong テッセレーションを適用することもできます。プロパティーのオプションは以下の通りです。 • None: HDRP はディスプレイスメントマップを使用してのみ、メッシュを細分化します。マテリアルにディスプレイスメントマップを割り当てずにこのオプションを選択すると、HDRP はテッセレーションを適用しません。 • Phong: HDRP は Phong テッセレーションをメッシュに適用します。Phong テッセレーションは頂点補間を適用し、ジオメトリをよりスムーズにします。マテリアルにディスプレイスメントマップを割り当ててからこのオプションを選択すると、HDRP はスムージングをディスプレイスメントマップに適用します。 |
Tessellation Factor | 三角形が持つサブデビジョンの数です。サブデビジョンの数を増やした場合は、値を上げます。サブデビジョンが多いと、テッセレーションエフェクトの強度が増し、更にジオメトリをスムーズにします。また、値が高いとテッセレーションエフェクトのリソース強度も増すことをご了承ください。Xbox One または PlayStation 4 で優れたパフォーマンスを維持するために、15 以上の値は使わないでください。これは、これらのプラットフォームがそれ以上のサブデビジョンを処理できないからです。 |
Start Fade Distance | テッセレーションがフェードアウトを開始する、Camera までの距離 (メートル単位) です。HDRP はこの距離から End Fade Distance まで、テッセレーションをフェードアウトし、終了距離で三角形の細分化をすべて停止します。 |
End Fade Distance | HDRP が三角形を細分化する、Camera までの最大距離 (メートル) です。HDRP は、この距離以上に Camera から離れた三角形は細分化しません。 |
Triangle Size | HDRP が三角形を細分する画面サイズ (ピクセル) です。例えば、この値を 100 に設定すると、HDRP は最大 100 ピクセルまで三角形を細分します。HDRP でより小さな三角形を細分化したい場合は、つまりよりスムーズなジオメトリを作りたい場合は、値を低く設定します。 ノート: このシェーダーが差分化する三角形の数が増えると、処理するリソース負荷が増します。 |
Shape Factor | メッシュ面をスムーズにするために、Phong テッセレーションはメッシュを球体化します。このプロパティーはスフィアエフェクトの強度を表します。HDRP でメッシュを球体化したくない場合は、値を 0 に設定します。HDRP でメッシュを球体化したい場合は、値を 1 に設定します。 このプロパティーは Tessellation Mode から Phong を選択したときのみに表示されます。 |
Triangle Culling Epsilon | HDRP がどのように細分化された三角形を除去するかを特定します。バックフェースカリングを無効にしたい場合は、値を -1.0 に設定します。より大胆なカリングと優れたパフォーマンスを希望する場合は、より高い値に設定します。 |
Surface Inputs
プロパティー | 説明 |
---|---|
Base Map | マテリアルの色と不透明度の両方を制御するテクスチャを割り当てます。このフィールドにテクスチャを割り当てるには、ラジオボタンをクリックし、Select Texture ウィンドウからテクスチャを選びます。カラーピッカーを使ってマテリアルの色を選択します。テクスチャを割り当てないと、これがマテリアルの絶対的カラーとなります。テクスチャを割り当てた場合は、マテリアルの最終カラーは、割り当てたテクスチャと選択したカラーの組み合わせになります。 Surface Type のドロップダウンから Transparent を選択すると、カラーのアルファ値は、マテリアルの透明度を制御します。 |
Metallic | このスライダーは、マテリアルの表面がどれくらい "メタルのように" 見えるかを調整します (0 から 1 の範囲)。表面がよりメタリックになると、環境をより反映し、アルベドカラーが目立たなくなります。メタリックレベルをフルにすると、サーフェスカラーは環境からのリフレクションに完全に影響されます。表面のメタリックさが低下すると、アルベドカラーはより鮮明になり、サーフェスカラー上のサーフェスリフレクションがより目立つようになります。 このプロパティーは Mask Map でテクスチャの割当を解除したときのみに表示されます。 |
Smoothness | このスライダーは、マテリアルのスムースネスを調整します。スムーズな表面に当たるすべての光線は、予測可能な一定の角度で跳ね返ります。光を鏡のように反射する完全にスムーズな表面を作るには、この値を 1 に設定します。スムーズでない表面は(光がマイクロサーフェスの凸凹に当たるため)より広い範囲の角度で光を反射するため、リフレクションにはディテールがあまり反映されず、拡散されたパターンにおいて表面一帯に広がります。 このプロパティーはMask Map でテクスチャの割当を解除したときのみに表示されます。 |
Metallic Remapping | この最小-最大スライダーは、Mask Map から指定した範囲にメタリック値をリマップします。値を新しい範囲に 固定 するのではなく、Unity は元の範囲を新たな範囲へ集めます。 このプロパティーは Mask Map を割り当てたときのみに表示されます。 |
Smoothness Remapping | この最小-最大スライダーは、Mask Map から指定した範囲にスムースネス値をリマップします。値を新しい範囲に 固定 するのではなく、Unity は元の範囲を新たな範囲へ集めます。 このプロパティーは Mask Map を割り当てたときのみに表示されます。 |
アンビエントオクルージョンリマッピング | この最小-最大スライダーは、Mask Map から指定した範囲にアンビエントオクルージョン値をリマップします。値を新しい範囲に 固定 するのではなく、Unity は元の範囲を新たな範囲へ集めます。 このプロパティーは Mask Map を割り当てたときのみに表示されます。 |
Mask Map | RGBA チャンネルで、次のマテリアルマップを持つ チャンネルパックされたテクスチャ を割り当てます。 • Red: メタリックマップを格納します。 • Green: アンビエントオクルージョンマップを格納します。 • Blue: ディテールマスクマップを格納します。 • Alpha: スムースネスマップを格納します。 チャンネルパックされたテクスチャおよび マスクマップに関する情報は、マスクマップ を参照してください。 |
Normal Map Space | このドロップダウンで、マテリアルが使う法線マップスペースのタイプを選択します。 • TangentSpace: 接線空間 で法線マップを定義します。これを使い、メッシュ上のテクスチャをタイリングします。法線マップテクスチャは、BC7、BC5、または DXT5nm フォーマットでなければなりません。 • ObjectSpace: オブジェクト空間 で法線マップを定義します。地形のような平面マッピングゲームオブジェクトに使います。法線マップは RGB テクスチャでなければなりません。 |
Normal Map | 接線空間でマテリアルに法線マップを定義するテクスチャを割り当てます。スライダーを使って法線強度を 0 から 8 の間で調整します。 このプロパティー は Normal Map Space ドロップダウンから TangentSpace を選択したときのみに表示されます。 |
Normal Map OS | 接線空間でマテリアルにオブジェクト空間法線マップを定義するテクスチャを割り当てます。ハンドルを使って法線強度を 0 から 8 の間で調整します。 このプロパティーは Normal Map Space ドロップダウンから ObjectSpace を選択したときのみに表示されます。 |
Bent Normal Map | 接線空間でマテリアルにベント法線マップを定義するテクスチャを割り当てます。HDRP はベント法線マップを使ってより正確なアンビエントオクルージョンをシミュレートします。ノート: ベント法線マップは拡散光とのみ機能します。 このプロパティーは Normal Map Space ドロップダウンから TangentSpace を選択したときのみに表示されます。 |
Bent Normal Map OS | オブジェクト空間でマテリアルにベント法線マップを定義するテクスチャを割り当てます。HDRP はベント法線マップを使ってより正確なアンビエントオクルージョンをシミュレーションします。ノート: ベント法線マップは拡散光とのみ機能します。 このプロパティーは Normal Map Space ドロップダウンから ObjectSpace を選択したときのみに表示されます。 |
Coat Mask | マテリアルにコートマスクを定義するテクスチャを割り当てます。HDRP はこのマスクを使って、マテリアルにクリアコートエフェクトをシミュレーションし、車の塗装やプラスチックのようなマテリアルを模倣します。コートマスク値はデフォルトで 0 に設定されていますが、ハンドルを使ってコートマスクエフェクトを 0 から 1 の間の値に調整できます。 |
Base UV Mapping | ドロップダウンから HDRP がマテリアルの表面にテクスチャをマップするために使う、UV マッピングのタイプを選択します。 • Unity は頂点に対する 4 つの UV チャンネルを管理します。UV0、UV1、UV2、および UV3。 • Planar: 上から下にかけた平面投影。 • Triplanar: 3 方向の平面投影。 X 軸: 左から右 Y 軸: 上から下 Z 軸: 前から後ろ Unity はこれら 3 つのプロジェクションを混合し、最終結果を生成します。 |
Tiling | Surface Inputs 内のすべてのテクスチャに X および Y UV タイル率を設定します。HDRP は X および Y 値を使い、オブジェクト空間でマテリアル面全体にテクスチャをタイリングします。 |
Offset | Surface Inputs 内のすべてのテクスチャに X および Y UV オフセットを設定します。HDRP は X および Y 値を使い、オブジェクト空間でマテリアル面全体でテクスチャをオフセットします。 |
Detail Inputs
プロパティー | 説明 |
---|---|
Detail Map | HDRP がマテリアルにマイクロディテールを追加するために使う チャンネルパックされたテクスチャ を特定する。Detail Map は次のチャンネル設定を使います。 • Red: グレースケールをアルベドとして保管します。 • Green: ディテール法線マップの緑チャンネルを保管します。 • Blue: ディテールスムースネスを保管します。 • Alpha: ディテール法線マップの赤チャンネルを保管します。 チャンネルパックされたテクスチャおよびディテールマップに関する詳細は、ディテールマップ を参照してください。 |
Detail UV Mapping | Detail Map に使う UV マップのタイプを特定します。マテリアルの Base UV mapping プロパティーを Planar または Triplanar に設定すると、Detail UV Mapping もまた Planar または Triplanar に設定されます。 Detail Map テクスチャはマテリアルの外観を修正するため、HDRP はデフォルトで Base UV Map の Tiling および Offset を Detail Map に適用し、Detail Map と残りの マテリアルテクスチャを同期化します。その後、HDRP は Detail Map、Tiling および Offset プロパティーを Base Map Tiling と Offset の上に適用します。例えば平面で、Base UV Mapping の Tiling が 2 で、この値も 2 の場合は、平面の Detail Map テクスチャは 4 になります。 このワークフローでは、マテリアルのテクスチャの Tiling を、Detail UV の Tiling を設定することなく、変更できます。 Detail UV Map と Base UV Map を分けて個別に設定するには、Lock to Base Tiling/Offset のチェックボックスを無効にします。 |
- Lock to Base Tiling/Offset | Base UV Map の Tiling および Offset プロパティーが、Detail Map に影響を与えるかを示します。有効にすると、HDRP はこれらのプロパティーと Detail UV Map の Tiling および Offset プロパティーをそれぞれ乗算します。Detail UV Map と Base UV Map を分けて個別設定するには、チェックボックスを無効にします。 |
Tiling | Detail Map UV 用の軸ごとのタイル率です。HDRP は X および Y 値を使って、オブジェクト空間の Material 表面全体にわたって Detail Map に割り当てられた テクスチャをタイリングします。 |
Offset | Detail Map UV 用の軸ごとのオフセットです。HDRP は X および Y 値を使って、オブジェクト空間の Material 表面全体にわたって Detail Map に割り当てられた テクスチャをオフセットします。 |
Detail Albedo Scale | ディテールマップ (赤チャンネル) のアルベドを 0 と 2 の間で調整します。これはオーバーレイエフェクトです。デフォルト値は 1 で、スケールを適用しません。 |
Detail Normal Scale | ディテール法線マップ (緑およびアルファチャンネル) の強度を 0 と 2 の間で調整します。デフォルト値は 1 で、スケールを適用しません。 |
Detail Smoothness Scale | ディテールスムースネスマップ (青チャンネル) の強度を 0 と 2 の範囲で調整します。これはオーバーレイエフェクトです。デフォルト値は 1 で、スケールを適用しません。 |
Transparency Inputs
Surface Type ドロップダウンから Transparent を選択すると、Unity がこのセクションを展開します。このセクションのプロパティーに関する情報は、サーフェスタイプに関するドキュメント を参照してください。
Emission inputs
プロパティー | 説明 |
---|---|
Use Emission Intensity | チェックボックスを有効にすると、別の LDR カラーと強度値を使ってマテリアルにエミッションカラーを設定します。チェックボックスを無効にすると、HDR カラーのみでカラーおよびエミッションカラー強度を処理します。有効にすると、Emission Intensity プロパティーが展開されます。 |
Emission Map | マテリアルがエミッションに使うテクスチャを割り当てます。また、カラーピッカーを使って HDRP がテクスチャで乗算するカラーを選択することもできます。エミッションテクスチャを設定しない場合は、HDRP は HDR カラーのみを使ってマテリアルの最終エミッシブカラーを計算します。HDR カラーの強度は HDR カラーピッカー内で設定できます。 |
Emission UV Mapping | ドロップダウンから、HDRP が Emission Map に使う UV マッピングのタイプを選択します。 • Unity は頂点に 4 つの UV チャンネルを管理します。UV0、UV1、UV2、および UV3 • Planar: 上から下への平面投影 • Triplanar: 3 方向の平面投影。 X 軸: 左から右 Y 軸: 上から下 Z 軸: 前から後ろ Unity はこれら3つの投影方法を混ぜ合わせて、最終結果を制作します。 • Same as Base: Unity は Surface Input で選択された Base UV Mapping を使います。 |
- Tiling | Emission Map UV に X および Y タイル率を設定します。HDRP は X および Y 値を使い、オブジェクト空間のマテリアルの表面全体で Emission Map に割り当てられたテクスチャをタイリングします。 |
- Offset | Emission Map UV に X および Y オフセットを設定します。HDRP は X および Y 値を使い、オブジェクト空間のマテリアルの表面全体で Emission Map に割り当てられたテクスチャをオフセットします。 |
Emission Intensity | マテリアルのエミッションエフェクトの全体的な強度を設定します。 ドロップダウンで、次の 物理ライト単位 から強度に使うものを 1 つ選択します。 • Nits • EV100 |
Exposure Weight | スライダーを使って、エクスポージャーがエミッションパワーにどのくらいのエフェクトを持つかを設定します。例えば、ネオンチューブを作成する場合は、それぞれのエクスポージャーにエミッシブグローエフェクトを適用します。 |
Emission Multiply with Base | チェックボックスを有効にすると、HDRP はエミッションの最終カラーを計算する際にマテリアルのベースカラーを使います。また HDRP はエミッションカラーをベースカラーで乗算して、最終のエミッションカラーを計算します。 |
Emission | エミッションがグローバルイルミネーションに影響するかを切り替えます。 |
- Global Illumination | カラーエミッションがどのようにグローバルイルミネーションと作用するかを決定する、HDRP が使うモードです。 • Realtime: このオプションを選択すると、エミッションがリアルタイムのグローバルイルミネーションの結果に影響を与えます。 • Baked: このオプションを選択すると、エミッションはベイキングプロセス中のみ、グローバルイルミネーションに影響を与えます。 • None: このオプションを選択すると、エミッションはグローバルイルミネーションに影響を与えません。 |
Advanced options
プロパティー | 説明 |
---|---|
Enable GPU instancing | このチェックボックスを有効にすると、HDRP は同じジオメトリのメッシュとマテリアルを可能な限り一度にレンダリングします。これにより、より速くレンダリングできます。HDRP は異なるマテリアルを含むメッシュや、ハードウェアが GPUインスタンシングをサポートしない場合、一括レンダリングはできません。例えばオブジェクトピボットをベースとしたアニメーションを含むゲームオブジェクトの static-batch はできませんが、GPU はそれらをインスタンスすることができます。 |
Specular Occlusion Mode | ドロップダウンから HDRP がスペキュラーオクルージョンの計算に使うモードを選択します。 • Off: スペキュラ―オクルージョンを無効にします。 • From Ambient Occlusion: アンビエントオクルージョンマップとカメラのビューベクトルから、スペキュラ―オクルージョンを計算します。 • From Bent Normal: ベント法線マップからスペキュラ―オクルージョンを計算します。 |
Add Precomputed Velocity | チェックボックスを有効にすると、Alembic ファイルに保存された事前計算された速度情報を使います。 |