Unity3D研究院之Unity5.x運行時動態更新烘培貼圖

前段時間我研究過這個問題,但是沒有解決只好作罷。今天剛好有人又問我這個問題,我得空查了一下還是找到了解決辦法。另外也感謝問我的人,解答問題的同時也是我學習的過程。

運行時更新烘培貼圖分兩種情況

1、場景的物件沒有發生變化(也就是說沒有運行時加載在場景上的Prefab)此時可以直接更換烘培貼圖。

2.場景的烘培貼圖已經更新,但是有些物件prefab想運行時加載進來。如果直接Instance的話 這個Prefab是沒有烘培信息的。(灰顏色的)

解決這個問題我查到了 一篇大大的文章,它帶了例子大家可以下載下來。  http://forum.unity3d.com/threads/problems-with-instantiating-baked-prefabs.324514/#post-2177524

代碼在這裏,把如下代碼掛在GameObject上。當場景烘培結束後,把他保存成prefab,運行的時候直接加載進來就行了。

 

點擊 Assets/Bake Prefab Lightmaps 進行烘培, 這樣它的腳本里會把index 和 offset保存在prefab裏。它還會保存上當前烘培場景的Lightmap,如果運行時想更換的話,你可以加一些自己的邏輯進行切換。


最後歡迎大家測試,歡迎大家提出寶貴意見,我們一起把unity這個坑填了!

下載: http://pan.baidu.com/s/1kTU9EOB


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章