使用Unity直接製作Lightmap

views

(Unity Screenshot: 沒有Normal, specular, 只有Diffuse與Light map 陽春了點 請見諒 -_-||)

在製作遊戲場景的Light Map多半是在3dsmax中用Render to Texture的方式製作:

  • 通常是先用Sky Light把AO算好: Ambient Occlusion Map
  • 然後另外算一張除了Skylight之外的所有光源效果的Light Map
  • 然後兩張在Photoshop用Screen的方式去疊在一起
  • 日後只要光源有變動 就調整Light Map那張就可以了

現在又多一種選擇: Unity Lightmapping Tool

  • 使用版本Unity 3.5 (免費版)
  • 可使用於iOS

製作步驟

  • 1. 製作UV2: UV2可以在 3dsmax先算好 也可進Unity再算 (我是在Unity算 因為我的場景通常是用obj檔進來 比較不會有對位的問題 但obj檔只能包含1個UV)
  • 2. 打光: 把Key Light打在你想要的地方 (使用Unity Pro還可以用GI去bake 效果更好)
  • 3. Unity Lightmapping AO相關設定:
    • 到Window >Lightmapping打開Light Map功能
    • 初次使用要先選要bake的物件 並勾選Static

    • Ambient Occlusion效果設定:

      • A. 強度設在1
      • B. AO的有效距離 單位是m 見後面比較圖
      • C. 貼圖的大小(細緻度)
  • 4. Unity Lightmapping Shadow相關設定 因為Shadow是Static baking的關係 所以不用Pro版也可用 如圖

  • 5. 製作Unity Light Map貼圖(Bake): 好了之後按下Bake Scene (要等一陣子…)
  • 6. 輸出(Export Package)
    • 除了輸出已經算好Lightmap的物件外 最重要的是Lightmap要一併輸出給相關人員
    • 然後再重新到Lightmapping視窗重新指定light map就可以了

限制

  • 可在場景中只能即時預覽5個光源 到第6個就會看不到效果

技巧

  • 只測試陰影效果或Key Light效果時(如顏色) Ambient Occlusion設為0 可加快Baking速度
  • 將Light map resolution調小點 也可加快速度


比較圖

Ambient Occlusion的Distance設定比較

如下圖左圖為Distance=1m 右圖為Distance=3m

只有Diffuse  vs 有Unity Light Map + AO

This entry was posted in Environment, Unity, Unity小技巧 by Mr.M. Bookmark the permalink.


2 thoughts on “使用Unity直接製作Lightmap

  1. Pingback: Unity Light Map與花草樹木(Alpha Sorting)的處理 | Unity IN | 社群✕媒體✕平臺

  2. Pingback: Unity Light Map與花草樹木(Alpha Sorting)的處理 | 馬克筆記

Leave a Reply

Your email address will not be published. Required fields are marked *