Simple Lit シェーダー
写実性よりもパフォーマンスが重要な場合は、このシェーダーを使用します。このシェーダーは、ライティングに単純な近似を使用します。このシェーダーは 物理的な正確さやエネルギー保存を計算しない ため、迅速にレンダリングできます。
エディターで Simple Lit シェーダーを使用する
このシェーダーを選択して使用するには:
- プロジェクト内でシェーダーを使用するマテリアルを作成または特定します。Material を選択します。マテリアルの Inspector ウィンドウが開きます。
- Shader をクリックし、Universal Render Pipeline > Simple Lit の順に選択します。
UI の概要
このシェーダーの Inspector ウィンドウには次の要素が含まれています。
Surface Options
Surface Options では、画面上でマテリアルをレンダリングする方法を管理できます。
プロパティ | 説明 |
---|---|
Surface Type | このドロップダウンを使用して、マテリアルに Opaque または Transparent サーフェスタイプを適用します。これにより URP がマテリアルをレンダリングするレンダーパスが決定されます。Opaque サーフェスタイプは、背景に何があっても常に全体が表示されます。URP は不透明なマテリアルを最初にレンダリングします。Transparent サーフェスタイプは背景の影響を受け、選択した透明なサーフェスタイプの種類に応じて異なる場合があります。URP は不透明なオブジェクトの後に、透明なマテリアルを個別のパスでレンダリングします。Transparent を選択すると、Blending Mode のドロップダウンが表示されます。 |
Blending Mode | このドロップダウンを使用して、URP が透明なマテリアルを背景のピクセルとブレンドする際にそのマテリアルの各ピクセルの色を計算する方法を決定します。 Alpha を選択した場合は、マテリアルのアルファ値を使用してオブジェクトの透明度を変更します。0 は完全に透明になります。1 は完全に不透明になりますが、マテリアルは透明なレンダーパス中は引き続きレンダリングされます。これは、雲のように完全に表示されつつも時間とともにフェードするビジュアルに便利です。 Premultiply を選択すると、マテリアルに Alpha と似たようなエフェクトが適用されますが、サーフェスが透明な場合もリフレクションやハイライトが維持されます。これは反射した光のみが表示されることを意味します。例えば、透明なガラスを想像してください。 Additive を選択すると、マテリアルの別のサーフェスの上に追加のレイヤーが重ねられます。これはホログラムに適しています。 Multiply を選択すると、マテリアルの色とサーフェスの背後の色が乗算されます。これには画像を暗くする効果があり、色付きのガラスを通したように見えます。 |
Render Face | このドロップダウンを使用して、ジオメトリのどちらの側面をレンダリングするかを決定します。 Front Face を選択すると、ジオメトリの正面がレンダリングされ、背面が カリング されます。これがデフォルトの設定です。 Back Face を選択すると、ジオメトリの背面がレンダリングされ、正面がカリングされます。 Both を選択すると、ジオメトリの両面がレンダリングされます。これは葉っぱなど、両方の面が表示される、小さくてフラットなオブジェクトに適しています。 |
Alpha Clipping | マテリアルを カットアウト シェーダーのように動作させます。この機能を使用して、不透明な領域と透明な領域をはっきり分ける透明効果を作成できます。例えば、一面に草を生やすために使用できます。このエフェクトを完成させるため、URP は指定された Threshold (Alpha Clipping を有効にした場合に表示される) 未満のアルファ値をレンダリングしません。Threshold はスライダーを 0 - 1 の間で動かすことで設定できます。しきい値を超えるすべての値は完全に不透明になり、しきい値未満のすべての値は透明になります。例えば、しきい値が 0.1 の場合は、URP が 0.1 未満のアルファ値をレンダリングしないことを意味します。初期値は 0.5 です。 |
Surface Inputs
Surface Inputs は、サーフェスそのものの設定です。例えば、これらのプロパティを使用して、濡れた面、乾いた面、粗い面、滑らかな面を表現できます。
プロパティ | 説明 |
---|---|
Base Map | サーフェスに色を追加します。ディフューズマップとも呼ばれます。Base Map 設定にテクスチャを指定するには、横にあるオブジェクトピッカーをクリックします。これによりアセットブラウザーが開き、そこでプロジェクトのテクスチャから選択できます。または、カラーピッカー を使用できます。設定の横にある色は、指定したテクスチャ上の色合いを示しています。別の色合いを指定するには、このカラースウォッチをクリックします。Surface Options で Transparent または Alpha Clipping を選択すると、マテリアルでテクスチャのアルファチャンネルまたは色が使用されます。 |
Specular Map | ディレクショナルライト、ポイントライト、スポットライト などの直接光のスペキュラーハイライトの色を制御します。Specular Map 設定にテクスチャを指定するには、横にあるオブジェクトピッカーをクリックします。これによりアセットブラウザーが開き、そこでプロジェクトのテクスチャから選択できます。または、カラーピッカー を使用できます。 Source では、スムースネスのソースとして機能する、プロジェクト内のテクスチャを選択できます。デフォルトでは、ソースはこのテクスチャのアルファチャンネルです。 Smoothness スライダーを使用してサーフェス上のハイライトの広がりを制御できます。0 の場合は、広範囲で粗いハイライトになります。1 の場合は、ガラスのように小さく鋭いハイライトになります。その間の値の場合は、やや光沢のある質感になります。例えば 0.5 の場合、プラスチックのような光沢になります。 |
Normal Map | サーフェスに法線マップを追加します。法線マップ を使用すると、凹凸、傷、溝などのサーフェスのディテールを追加できます。マップを追加するには、横にあるオブジェクトピッカーをクリックします。法線マップは環境内のアンビエントライトを検出します。 |
Emission | 表面が発光しているように見せます。有効にすると、Emission Map と Emission Color の設定が表示されます。 Emission Map を指定するには、横にあるオブジェクトの画像をクリックします。これによりアセットブラウザーが開き、そこでプロジェクト内のテクスチャから選択できます。 Emission Color の場合は、カラーピッカー を使用して色に重ねる色合いを指定できます。これは 100% の白を超えることができ、他の色でありながら白よりもまぶしく光る溶岩などの効果において便利です。 Emission Map を指定していない場合は、Emission 設定では Emission Color で指定した色合いのみが使用されます。 Emission を有効にしない場合は、URP は放出を黒に設定し、放出を計算しません。 |
Tiling | U 軸および V 軸に従ってテクスチャがメッシュ全体に収まるように拡大縮小する 2D 乗数の値です。これは床や壁などのサーフェスに適しています。初期値の 1 は、スケーリングなしを意味します。メッシュ全体でテクスチャを繰り返すには、大きい値を設定します。テクスチャを伸縮するには、小さい値を設定します。目的の効果が得られるまで、さまざまな値を試してください。 |
Offset | メッシュ上にテクスチャを配置する 2D オフセットです。メッシュ上の位置を調整するには、テクスチャを U 軸または V 軸に沿って動かします。 |
Advanced
Advanced 設定はレンダリングの基になる計算に影響します。サーフェス上に目に見える効果は及ぼしません。
プロパティ | 説明 |
---|---|
Specular Highlights | これを有効にすると、ディレクショナルライト、ポイントライト、スポットライト などの直接光のスペキュラーハイライトをマテリアルに適用できます。つまりマテリアルがこれらの光源からの光を反射するようになります。これを無効にすると、ハイライトの計算が行われなくなり、シェーダーのレンダリングが速くなります。この機能はデフォルトで有効になっています。 |
Enable GPU Instancing | 可能な場合は、URP で同じジオメトリとマテリアルを使用するメッシュを一括してレンダリングします。これによりレンダリングが高速になります。URP は、異なるマテリアルがある場合や、ハードウェアが GPU インスタンシングに対応していない場合は、メッシュを一括してレンダリングすることはできません。 |
Sorting Priority | このスライダーを使用して、マテリアルの時間的なレンダリング順序を決定します。URP は、値が小さいマテリアルを先にレンダリングします。これを使用すると、パイプラインが他のマテリアルの前にあるマテリアルを先にレンダリングするため、重なってる部分を 2 回レンダリングしなくて済み、デバイスのオーバードローを減らすことができます。これは Unity のビルトインレンダーパイプライン内の レンダーキュー と同じように動作します。 |