天天看點

Unity Shader 之 環境光

Unity Shader 編寫和預設Shader中都有對環境光的處理,首先我這裡先看下環境光如何設定。

一、先看下我們這裡隻改環境光顔色,就可以看到對unity中預設模型顔色影響

Unity Shader 之 環境光

二、參數詳解

Environment 頁籤

點選 Window > Lighting > Settings 會彈出Lighting視窗,這個就是設定全局光照的視窗

Environment 頁籤包含相關目前場景的環境光照效果的設定。内容取決于您的項目使用的渲染管線。

Unity Shader 之 環境光

内置渲染管線與通用渲染管線

在内置渲染管線和 URP 中,Environment 頁籤分為兩個部分:

  • Environment
  • Other settings

Environment(環境)

Environment 部分包含與光照相關的設定和控件,這些設定和控件适用于目前場景中的環境光照,例如天空盒、漫射光照和反射。

屬性: 功能:
Skybox Material 天空盒是一種材質,它出現在場景中的所有其他對象後方,用于模拟天空或其他遙遠的背景。使用此屬性可選擇要用于場景的天空盒。預設值是内置的預設天空盒 (Default Skybox)。
Sun Source

When the Skybox Material is a Procedural Skybox, use this setting to specify a GameObject with a directional Light component to indicate the direction of the sun (or whatever large, distant light source is illuminating your Scene). If this is set to None, the brightest directional light in the Scene is assumed to represent the sun. Lights whose Render Mode property is set to Not Important do not affect the Skybox. The default value is None.

For more information about the Render Mode setting, see the Additional settings section of Lights.

Realtime Shadow Color

定義 Unity 用于在 Subtractive 光照模式下渲染實時陰影的顔色。

此設定僅在__Lighting Mode__ 設定為 Subtractive 時可見。

Environment Lighting 此部分包含可影響目前場景中的環境光的設定。
Source 使用此屬性可定義場景中環境光的光源顔色。預設值為 Skybox。
Skybox 使用 Skybox Material 中設定的天空盒顔色來确定來自不同角度的環境光。這可以實作比 Gradient 更精細的效果。
Gradient 可為來自天空、地平線和地面的環境光選擇單獨的顔色,并在它們之間平滑混合。
Color 對所有環境光使用單調顔色。
Intensity Multiplier 使用此屬性可設定場景中環境光的亮度,定義為 0 到 8 之間的值。預設值為 1。
Environment Reflections 此部分包含反射探針烘焙的全局設定,以及影響全局反射的設定。
Source Use this setting to specify whether you want to use the Skybox for reflection effects, or a Cubemap of your choice. The default value is Skybox.
Skybox 選擇此選項可使用天空盒作為反射源。
Custom Select this to use either a Cubemap asset or a RenderTexture of type cube for reflections.
Resolution 使用此屬性可設定用于反射的天空盒的分辨率。僅當 Source 設定為 Skybox 時,此屬性才可見。這個設定過大會影響性能
Cubemap Use this to specify the Cubemap to use for reflection purposes. This property is visible only when Source is set to Cubemap.
Compression 使用此屬性可定義是否壓縮反射紋理。預設設定是 Auto。
Auto 如果壓縮格式合适,則壓縮反射紋理。
Uncompressed 反射紋理以非壓縮狀态存儲在記憶體中。
Compressed 壓縮紋理。
Intensity Multiplier 反射源在反射對象中可見的程度。
Bounces 當來自一個對象的反射随後被另一個對象反射時,便發生反射反彈。使用此屬性可設定反射探針評估對象之間來回反彈的次數。如果設定為 1,則 Unity 隻會考慮初始反射(來自 Reflection Source 屬性中指定的天空盒和立方體貼圖)。

Other Settings

Other Settings 部分包含霧、光環、光暈和剪影的設定。

屬性: 功能:
Fog 在場景中啟用或禁用霧效。請注意,此模式無法用于延遲渲染路徑。
Color 使用拾色器設定 Unity 用于在場景中繪制霧的顔色。
Mode 定義霧化效果随着與錄影機距離變化而積累的方式。
Linear 霧效強度随着距離線性增加。
Start 設定在距離錄影機多遠時開始霧效。
End 設定在距離錄影機多遠時霧效完全遮擋場景遊戲對象。
Exponential 霧效強度随着距離呈指數增加。
Density 用于控制霧效的強度。霧效随着 Density 增加而顯示為更強。
Exponential Squared 霧效強度随着距離更快速增加(指數和平方)。
Density 用于控制霧效的強度。霧效随着 Density 增加而顯示為更強。
Halo Texture 設定要用于在光源周圍繪制光環的紋理。
Halo Strength 定義光源周圍光環的可見性,值在 0 到 1 之間。
Flare Fade Speed 定義最初出現鏡頭光暈之後從視圖中淡出的時間(以秒為機關)。預設情況下,該值設定為 3。
Flare Strength 定義光源下鏡頭光暈的可見性,值在 0 到 1 之間。
Spot Cookie Set the Cookie texture you want to use for Spot Lights.

繼續閱讀