您好,登錄后才能下訂單哦!
這篇文章主要介紹了Unity3D 5.0+動(dòng)態(tài)加載模型和對(duì)應(yīng)Light Map方法的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1、需要有Mesh Renderer的靜態(tài)模型
2、需要有符合模型的Light Map
3、關(guān)閉Lighting 中的Auto Build
1、導(dǎo)入Light Map并修改格式
2、使用腳本為場(chǎng)景加載導(dǎo)入的Light Map到Light Map Settings
2.1、Light Map不能直接被加載到Light Map Settings 所以需要在腳本中創(chuàng)建一個(gè)Light Map Data數(shù)組來(lái)儲(chǔ)存場(chǎng)景當(dāng)前狀態(tài)下需要用到的所有Light Map并賦予給Light Map Settings
//Light Map數(shù)組
Texture2D[] DayNear;Texture2D[] DayFar;
//Light Map Data數(shù)組
LightmapData[] dayLightMaps;
//把LightMap 加入Light Map Data數(shù)組
dayLightMaps = new LightmapData[DayNear.Length];
for (int i=0; i{
dayLightMaps[i] = new LightmapData();
dayLightMaps[i].lightmapNear = DayNear[i];
dayLightMaps[i].lightmapFar = DayFar[i];
}
//更改當(dāng)前場(chǎng)景Light Map狀態(tài)
LightmapSettings.lightmaps = dayLightMaps;
2.2、Light Map在Light Map Data中的順序會(huì)影響到Light Map Index 所以最好加入自動(dòng)排序命令 如不加則需要手動(dòng)排序
using System.Linq;
DayNear = DayNear.OrderBy(t2d => t2d.name, new NaturalSortComparer()).ToArray();
2.3、Light Map分為遠(yuǎn)近(lightmapNear、lightmapFar )兩種 如Light Map只有一張則需將其同時(shí)貼在兩種類型上
3、通過(guò)Light Map Index指定靜態(tài)模型使用某張Light Map 編號(hào)可在Lighting中的Lightmaps查詢到
transform.GetComponent<<span>MeshRenderer>().lightmapIndex = 0;
1、Light Map不可被Light Map Settings單獨(dú)調(diào)用 需要更替必須存入Light Map Data后賦予給Light Map Settings
2、某單個(gè)靜態(tài)模型需要?jiǎng)討B(tài)調(diào)用時(shí)如果當(dāng)前Light Map Settings
中已有其所使用的Light Map 則只需指定Light Map Index即可 無(wú)需更替Light Map Settings
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Unity3D 5.0+動(dòng)態(tài)加載模型和對(duì)應(yīng)Light Map方法的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。