Lightmap 製作經驗 #1

近日在學習 Unity3d 5+, Lightmap 的優化
先來個指定的基礎教學文件

Lightmap 簡單說是一個省資源的東西,
遊戲是即時運算的跟拍電影不一樣, 如果太多東西算的話 CPU 還是雖要時間去運算的如果太多物理運算要求 (e.g. 光反射)
在人眼要求每秒 30+ frame 才覺得順暢的前題低下,要把場景上的東西都算一次,會有可能令 CPU/GPU 速度跟不上所以引起 “Drop frame” 就是平時遊 戲中的 frame-per-second 會下降,玩家覺得 Lag 的東西

基本的設定不談, 只談緊要的

手機中要注意的貼圖的大小, 那 lightmap 中應該考慮的有幾項因素

  • Baked GI
    •  Baked Resolution, texels 數是對應採樣率, 一般 1~5 作快速檢視, 10 以內是手機可承受數量. 影響計算出來的影子外形質量.
    • Baked Padding 就是在 lightmap 中每個 uv 之間的空白分隔, 2 texel 足夠矣.
    • Compressed, 就是輸出的圖片會否被壓縮
    • Ambient occlusion (環境光遮蔽)
      用來突顯光暗比的東西,非設計專業大概很難理解, 直接看圖
      AO0 AO1
    • Final Gather
      每一個光源射線的最大折射量,就是計算折射的次數,越高質量越好.
  • General GI
    • Direction Model
      http://docs.unity3d.com/Manual/LightmappingDirectional.html

      • Non-Directional 不運算光線方向
      • Directional 運算光線方向(依場景中的Light)
      • Directional Specular 運算光線方向,還有物件自身的陰影紋理
    • Indirect Intensity 調整所有光源的強弱度, 1 是使用原本光源設置的強度, 大於或小於則相對反映在所有光源上.
    • Bounce Boost, 增加光源的反射次數
    • Default Parameters
      • Default, high, low, very low
        按 Edit 有詳細項目, 決定影子的各種參數, 糢糊半徑, 反鋸齒, 區間, 容錯率等等.
    • Atlas Size
      • 輸出每張 lighmap 圖片大小, 若 Baked Resolution 過大還是會分開 N 張圖, Resolution 不高的時候把 Atlas Size 設小一點則可以減小圖片大小.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料