溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Unity3D 5.0+動(dòng)態(tài)加載模型和對(duì)應(yīng)Light Map方法的示例分析

發(fā)布時(shí)間:2021-12-16 14:05:03 來(lái)源:億速云 閱讀:289 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了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

Unity3D 5.0+動(dòng)態(tài)加載模型和對(duì)應(yīng)Light Map方法的示例分析

操作步驟:

1、導(dǎo)入Light Map并修改格式

Unity3D 5.0+動(dòng)態(tài)加載模型和對(duì)應(yīng)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;

Light Map Index如圖:

Unity3D 5.0+動(dòng)態(tài)加載模型和對(duì)應(yīng)Light Map方法的示例分析

注意事項(xiàng):

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í)!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI