天天看點

Unity中的燈光和渲染

一:Unity中的燈光

——Directional Light:模拟太陽光。它與位置無關,是平行光,可以調整旋轉角度模拟晝夜

——Spot Light:模拟車燈、手電筒的光、舞台燈光

——Point Light:模拟燈泡

——Area Light:該類型的光源無法應用于實時光照,僅适用于光照貼圖烘焙,它隻能作用于靜态物體,通過烘焙來生成光照貼圖,進而減少了性能的開銷

燈光通用的參數設定

——Color:光的顔色

——Intensity:光的強度

——Shadow Type:陰影類型

——Cookie:光照下來的投影

——Culling Mask:跟Camera的類似,可以設定不同層的光照渲染

——Mode:實時渲染模式、混合渲染模式和烘焙模式,烘焙模式下隻能作用于靜态物體。通過烘焙來生成光照貼圖,進而減少了性能的開銷

實時全局光照和烘焙全局光照 全局光照簡稱GI,為了更加接近現實世界其實它是由全局光照和間接光照組成的 燈光模式有三種,實時渲染模式、混合渲染模式和烘焙模式,當一個燈光同時作用于靜态物體和動态物體時,使用混合渲染模式更能減少性能的開銷
Unity中的燈光和渲染
選擇燈光模式為混合渲染模式,這樣就可以讓靜态物體使用烘焙模式進行光照貼圖的計算,讓動态物體繼續使用實時光照計算 Subtractive是一種性能開銷最小的模式,同時會有一些不支援的效果,Baked Indirect是效果最進階的一種模式 調整燈光效果是一個慢活,可以在Project Setting的Quality中設定陰影的各種參數(是否開啟陰影,多少距離範圍内顯示陰影,陰影的類型等)或者添加燈光探針(Light Probe Group)

二: 天空盒

——自制天空盒

Unity中的燈光和渲染

找一張正方體的展開圖導入到Unity中,選擇Texture Shape為Cube

Unity中的燈光和渲染

建立一個材質,設定Shader和Cubemap,将材質賦給Lighting設定的Skybox Material

Unity中的燈光和渲染
燈光的設定
Unity中的燈光和渲染

Skybox Material:天空盒材質

Environment Lighting:環境光設定(環境光來源,環境光強度)

Environment Reflections:環境光反射

三:反射探針 

反射探針是用來模拟反射周邊物體的光照資訊的一種解決方案,讓物體受周圍物體的光照或材質進行影響的一種模拟光照效果

如果不使用反射探針物體隻會反射天空盒,例如在一個室内中應該讓物體反射牆壁和室内場景的資訊而不是天空盒

Unity中的燈光和渲染

四:PostProcessing

使用Package Manager可以安裝PostProcessing插件

PostProcessing挂載到相機上可以實作各種效果

五:渲染路徑設定

Unity中的燈光和渲染

渲染路徑決定了光照是如何應用到Unity Shader中的。是以,如果要和光源打交道,就要為每個Pass指定它的渲染路徑