1. 程式人生 > 其它 >Unity HDRP專案實踐 —— HDRP光照系統(二)

Unity HDRP專案實踐 —— HDRP光照系統(二)

今天繼續學習HDRP的光照系統

 

今天的任務是——進一步學習光照型別

 

光源型別和使用

1、Spot Light(聚光燈)

 

進入Lighting檢視面板 介紹引數

Light Layer:控制當前燈對場景中哪些物體投射光線

 

Shape

Shape:光圓形狀。可選Cone(圓錐)、Pyramid(金字塔)和Box(長方形)

圓錐形的三個引數:Outer Angle(外部角度)、Inner Angle(內部角度)注意這是百分比、Radius(半徑範圍)對燈光還有陰影柔和程度都有影響,數值越大產生陰影越柔和

Outer和Inner的差可以產生光照衰減的效果

 

Emission

點選右上角齒輪後可以開啟與當前光源形狀相關的額外引數

上半部分引數前文已做過介紹,這裡不再進行贅述,主要補充額外引數的介紹

Reflector(反光板):可以在聚光燈後模擬出一個“隱形”的反光板。把聚光燈向後發射的光線進行反射,從而大大增強聚光燈的光照強度

Affect Diffuse/Specular(影響漫反射/高光)

Range Attenuation(光照範圍衰減)

Intensity Multiplier(光照強度倍數):這裡的數值將會與Intensity數值進行相乘。通過這個倍數數值,我們可以在Timeline、動畫或者指令碼來動態控制光源的光照強度

 

Volumetrics(體積光)

因為在當前場景的Volume元件我們添加了Fog選項。因此在該光源下啟動Volumetrics選項,將會生成與光源形狀相匹配的體積光效果

 

Shadow

Resolution(陰影解析度):用於設定陰影的解析度大小

Near Plane:用於控制當前光源開始投射陰影的距離

Contact Shadows:用於補充細節陰影

...

 

強力探照燈效果

我們可以通過啟用Reflector來產生此類光照效果

 

2、Point Light(點光源)

這盞燈由四部分組成

(1)燈具的模型網格,包括燈罩和下面的支架。

注意:將Rendering Layer Mask設定為Light Layer 3,意思是隻有那些在Light元件中把Light Layer3加入影響範圍的光源,才能為物體提供光照資訊

(2)在燈具中間,用於表示燈泡的模型網格帶自發光材質

(3)燈具的主光源,自帶Light Cookie遮罩,用於模擬光線被燈具遮蔽的效果

注意:為了不照亮燈具本身,在Light Layer中需要禁用Light Layer3

(4)燈具的次要光源。用於提供玻璃燈罩的效果和把燈具本身照亮。因此範圍和強度都調整到很小的範圍

注意:因為這個光只用於照亮燈具,Light Layer需要設定為Light Layer3

 

其他的點光源 實現方法類似

 

3、Area Light(面積光)

我們可以通過面積光來模擬一個發光通道的入口

 

Shape

Emission

Display Emissive Mesh(顯示自發光網格):啟用該選項我們才可以看到光源的形狀

 

4、給燈光新增Light Cookie

(1)給聚光燈設定Light Cookie

給聚光燈設定Light Cookie相對簡單,我們可以直接將一張紋理貼圖放到Cookie中進行設定

效果如下:

 

(2)點光源設定Light Cookie

點光源的LightCookie製作相對複雜。需要通過製作Cubemap來實現效果

一般製作流程有:3dsmax+Arnold渲染器和Unity的Progressive Lightmapper兩種方法

這裡不多介紹了