您的位置:首页 > 移动开发 > Unity3D

使用Unity直接製作Lightmap

2013-04-16 09:17 274 查看
Posted in: Environment,
Unity





(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





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Lightmap