1. 程式人生 > >光照貼圖的一些知識點

光照貼圖的一些知識點

本帖最後由 羅斯柴爾德 於 2017-11-21 10:26 編輯

很多同學對光照的大小和數量不是很清楚
所以我把它寫出來,給大家參考一下
其他什麼相關問題也可以提出來


 
為了便於觀察,我做了兩個模型

 
普通引數,烘焙

 

得到一張光照貼圖

 

重要的是這兩個,Lightmap resolution 說的是空間內,每單位面積的光照uv解析度
這裡的40表示,一平方米的裡面有一張40x40的光照貼圖
下面的那個說的是最後光照貼圖的大小,如果最後生成的光照貼圖合併在一起,少於或者等於1024x1024
那麼就只會最後生成一張光照貼圖
如果最後生成的光照貼圖合併在一起,大於1024x1024,那麼就會生成多張的光照貼圖


但是有特殊情況,就是單個物體,或者手動分uv2的時候分在了一起,而且單個物體的光照uv大於我們設定的Lightmap size(比如我們設定的1024),那麼最後這個物體將會自己佔用一張光照貼圖

比如下面這個
 
箭頭指的地方就是說,當前這個物體的光照解析度大於了我們設定的光照貼圖的解析度,那麼這個物體的光照解析度不會按照上面的設定來,而是約束成我們設定的光照解析度貼圖大小(1024)

 

烘焙之後還是隻有一張貼圖,因為unity有texturemege機制,可以自動合併的有光照貼圖以及ugui。合併貼圖的好處是減小drawcall,增強效能
上圖我們也可以看到,調整物體的Scale in Lightmap 的作用是調整物體在光照貼圖中所佔的大小

 

比如兩個相同的物體,我們只改變Scale in Lightmap,一個是1,一個是2

 
烘焙之後的效果是1:2
 

在物體的baked Lightmap 裡面我們可以找到該物體在光照貼圖裡面佔得位置
Lightmap index 表示該物體在哪張光照貼圖裡面
tiling x,tiling y 表示 該物體佔該張光照貼圖的比例(為什麼有負數?因為我們有Lightmap padding)
offset 表示該物體在光照貼圖中的位置(左下角為(0,0)往右走x增大,往上走y增大)

需要儘可能的得到多張光照貼圖怎麼辦?

QQ截圖20171120183530.png (41.32 KB, 下載次數: 0)

下載附件

2017-11-20 18:36 上傳


調大解析度,減小光照貼圖的尺寸

不過不建議這樣


效能最好的是,光照貼圖越少越好
 
也就是說這個選擇1024,或者以上的
注意2048或者4096會佔用大量的記憶體,如果電腦記憶體不夠,不僅僅可能烘焙很慢,還可能直接崩潰

原文連結地址: http://www.bfwarch.com/forum.php?mod=viewthread&tid=241&extra=page%3D1