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兩種方法
這裡不多介紹了