unity3d 5.6烘焙教程


 

unity5.6是今年發布,作為5.x的最后一個版本,有很多烘焙優勢,在此總結一些作為5.x系列完結的筆記
這個版本在烘焙上的特點就是增加了漸進光照貼圖(Progressive Lightmapper),這個功能可以說極大地改善場景光照烘焙的工作流程,可以加快場景烘焙效率,再也不怕烘焙一晚上發現有燈光有問題了
當然它不是用來替代Enlighten的,很多地方還是略有不同的,但是感覺這個速度更快。雖然有的新增的燈光混合模式不受支持,但是它在模型迭代中能發揮更大的優勢。

 

Progressive 光照優勢就是能很快看到一個區域的光照效果,而且在高參數下烘焙非常快,可以隨時停止,效果依然保留,這個功能好多了

缺點也挺多的,比如只支持兩個模式(看下面,有些效果會缺失),參數高的時候內存占用非常大,如果內存小的機器很容易崩潰

 

enlighten比較還是比較傳統,內存消耗不多,比較不容易崩潰,支持所有模式,所以需要高端效果的時候還是這種支持的多

但是缺點是不到渲染結束看不到效果,相同參數下烘焙時間感覺長了不只好幾倍

 

下面是兩個白模渲染效果對比

可以看到其實漸進式的效果范圍ao效果范圍更廣更暗一些

 

 

 

 

關於新版本還有4種光照模式,有些理解起來還都是挺糾結的

而且官方和其他教程解釋得都比較抽象,所以下面以質量為主進行一些說明

表面上這些設置和mixed燈光有關,屬於混合燈光方面的內容

lightmode具體可以看這里
https://docs.unity3d.com/Manual/LightModes.html
關於混合燈光四種模式區別具體看下面的
https://docs.unity3d.com/Manual/LightMode-Mixed.html

 

但這些與烘焙質量也有很大關系,我測試了以陰影質量為主列下面的表

下面討論的項目是在bake light下,directional模式下

 

陰影質量
  enlighten
燈光設置
progressive
燈光設置
Baked Indirect
內存占用少,動態質量一般,消耗一般
mixed 近處硬 遠處消失 動態投影   baked 軟陰影 baked mixed 軟陰影
Distance Shadowmask
內存占用高,動態質量高,消耗高
mixed 近處硬 遠處軟 動態投影 baked 軟陰影 不支持 如果強行使用效果同上
Shadowmask
內存占用低,動態質量差,靜態質量高,消耗低
mixed 軟 靜態物體無動態投影  baked 軟陰影 不支持 如果強行使用效果同上
Subtractive
內存占用低,質量低,消耗低
mixed 軟 靜態物體無動態投影  baked 軟陰影 baked mixed 軟陰影

 

 

混合燈光模式:
說一下下面的模式主要針對的都是混合燈光也就是mixed方式,動態和靜態雖然有的模式能相互投影但是影子依然會非常銳利,具體如何使用實時陰影取決於ShadowDistance的值和光照模式。
shadow map就是普通的即使陰影,就是比較銳利的陰影
有一個不可能,就是不能實時動態物體投下很軟的陰影

 

性能消耗
大型,戶外                        標准,室內         室內,小型靜態,手游       小型,手游
Distance Shadowmask > Baked Indirect >     Shadowmask                 > Subtractive

 

下面是具體說明,官網內有更詳細解釋

我的主要是關注陰影質量

 

Baked Indirect mode
性能消耗一般,適合有動態光源物體的室內項目,中低端pc游戲或者高端移動端游戲
baked燈光會烘焙下所有靜態物體並產生軟陰影,baked燈光會穿透動態物體(動態物體不會被baked燈光照亮)
realtime和mixed燈光會在陰影距離內產生比較銳利的影子。距離外不投影忽視物體。
mixed和baked燈光能烘焙出靜態物體的反射光

realtime lighting下 realtime燈光也能烘焙出靜態物體的反射光

https://docs.unity3d.com/Manual/LightMode-Mixed-BakedIndirect.html

 

Distance Shadowmask (只支持enlighten)
性能消耗高,適合任何有大量動態物體的大場景游戲,適合高端pc

baked燈光會烘焙下所有靜態物體並產生軟陰影,baked燈光會穿透動態物體(動態物體不會被baked燈光照亮)
mixed燈光會烘焙下所有靜態物體並在超出陰影距離的時候使用軟陰影,不超出的時候使用實時硬陰影

realtime燈光會在陰影距離內產生比較銳利的影子。距離外不投影忽視物體。
mixed和baked燈光能烘焙出靜態物體的反射光
realtime lighting下 realtime燈光也能烘焙出靜態物體的反射光

烘焙的shadowmask上的顏色不是燈光顏色,而是靜態光的顏色,只能有四盞燈,分為rgba
mixed燈光產生的陰影將被分離到新的烘焙貼圖中,所以這個模式下mixed燈光顏色和位置可以在烘焙后改,還是軟陰影

https://docs.unity3d.com/Manual/LightMode-Mixed-DistanceShadowmask.html

 

Shadowmask (只支持enlighten)
性能消耗比較低,適合室內小型無多少動態物體的項目,適合中低端pc和移動端游戲

baked和mixed燈光會烘焙下所有靜態物體並產生軟陰影,baked和mixed燈光會穿透動態物體(動態物體不會被baked燈光照亮)

realtime燈光會在陰影距離內對動態物體產生比較銳利的影子。靜態物體不會在動態燈光下產生投影,距離外不投影忽視物體。
mixed和baked燈光能烘焙出靜態物體的反射光
realtime lighting下 realtime燈光也能烘焙出靜態物體的反射光

烘焙的shadowmask上的顏色不是燈光顏色,而是靜態光的顏色,只能有四盞燈,分為rgba
mixed燈光產生的陰影將被分離到新的烘焙貼圖中,所以這個模式下mixed燈光顏色和位置可以在烘焙后改,還是軟陰影

https://docs.unity3d.com/Manual/LightMode-Mixed-Shadowmask.html

 

Subtractive
性能消耗很低,適合小型無多少動態物體的項目,適合中低端pc和移動端游戲

baked和mixed燈光會烘焙下所有靜態物體並產生軟陰影,baked和mixed燈光會穿透動態物體(動態物體不會被baked燈光照亮)

realtime燈光會在陰影距離內對動態物體產生比較銳利的影子。靜態物體不會在動態燈光下產生投影,距離外不投影忽視物體。
mixed和baked燈光能烘焙出靜態物體的反射光
realtime lighting下 realtime燈光也能烘焙出靜態物體的反射光

是以前的老模式,是用於低性能設備,光照被烘焙到貼圖中。

https://docs.unity3d.com/Manual/LightMode-Mixed-Subtractive.html

 

 

 

 

基本材質烘焙的對比

反射狀態final gather效果

 

關於Directional Specular

由於在前面的版本里就已經標記成將要廢棄的選項,這個版本就沒有了

但是以前用這個可以表現出高光細節(就是法線貼圖下的高光效果),現在要怎么表現呢

這個就只能借助enlighten了,需要將光照模式改成Shadow Mask或者 Distance Shadow Mask,使用directional,而且光照也必須改成mixed模式

參考https://answer.uwa4d.com/question/5902db1da7fbeb4a58bf64a3/unity5.6%E7%89%88%E6%9C%AC%E4%B8%AD%E5%85%89%E7%85%A7%E9%A2%84%E6%B8%B2%E6%9F%93Directional-Mode%E9%80%89%E9%A1%B9%E4%B8%AD%E5%B0%91%E4%BA%86Directional-Specular%E9%80%89%E9%A1%B9

 

對后面期望當然是渲染最好能分層

比如現在還是烘焙無視layer設置,包括燈光的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM