[轉]unity之LOD


LOD技術有點類似於Mipmap技術,不同的是,LOD是對模型建立了一個模型金字塔,根據攝像機距離對象的遠近,選擇使用不同精度的模型。

它的好處是可以在適當的時候大量減少需要繪制的頂點數目。

它的缺點同樣是需要占用更多的內存,而且如果沒有調整好距離的話,可能會造成模型的突變。

通過一個例子來說明他的用處:

我們使用了3dsmax來說明LOD模型的制作,下載附件后打開場景文件,里面是三個面數不同的油桶造型,由左到右分別代表了高模,一般與低模的模型結構。

選擇左邊的油桶模型,如圖所示,這個模型的數據為三角面712,頂點數358。

選擇右邊的模型,這個低模的數據很符合我們的要求,一般來說,用三個模型來制作LOD的效果就很足夠了,例如建築場景里面,最遠端的房子只能看到類似盒子的效果,而鏡頭前面的樓房則是可以清楚的看到里面的許多細節,但是鏡頭推進到遠處的樓房時,原來的盒子立即換成另一個可以戰勝細節的模型,這個就是LOD的運作原理。

將模型保存為FBX后,導入Unity進行測試,命名的方式建議是在物件的后面加上LOD的層級代號,這樣比較方便我們直接用名稱來選擇高模與低模。

在制作LOD之前,我們需要注意一個事情,那就是將不同面數的模型放在同一個位置,否則會發生模型位置錯亂的情況,如圖所示,使用Reset方式將中間的模型與低模移到與高模相同的位置。

 

接着建立一個空的Game Object,將其命名為prop_Barrell,我們准備用在這個空組件上面添加LOD的屬性。

選擇Component > Rendering > LODGroup,然后就可以對LOD開始進行設置的工作。

在LODGroup的設置里面列出了LOD的層級,底下的Add用來添加LOD所對應的模型,操作方法是先選擇LOD : 0,按下Add,選擇場景里面的prop_barell_LOD0模型。

系統彈出一個提示,詢問是否將這個選擇的模型設置子物體,選擇Yes,Reparent即可。

如圖所示,在選擇Reparent后,LOD0的模型自動的設置為prop_Barell的子物件。

設置完成LOD:0的層級后,選擇LOD:1,按下Add,選擇場景內的prop_barell_LOD1,接着選擇LOD:2,按下Add,選擇prop_barell_LOD2后即可完成整個LOD的設置。

現在滑動LODGroup上方的相機圖標來測試LOD的效果,模型在近處時使用的是LOD0所設置的高模,移到LOD1時則是顯示為一般進度的模型,而在LOD3的層級時,模型就換為低模,移到最后的Culled插件,模型已經完全的消失了。

 

此外,我們還可以任意的修改每一個層級的作用范圍,只要拖動LOD分隔的線段即可,然后再根據相機的預覽來調整出最合適的LOD效果。

Unity的資源商店也提供了功能更為強大的LOD設置插件,以下為試用版的鏈接,如果是用於商業項目,請支持正版。

Smart LOD 1.0 - 大場景的優化神器(比unity自帶的優化效率更高!)

http://www.narkii.com/club/thread-320869-1.html

同樣還有Simple LOD等

 

在資產的導入管線基於LOD的命名約定

為了簡化LOD設置,Unity在模型導入時有一個命名約定。

簡單地創建你網格,名稱后綴為_LOD0,_LOD1,_LOD2等,會為你創建LOD組,並作出相應的設置。

請注意,該約定假定最高分辨率的網格的LOD后面的數字是最小的。

 

質量設置你可以為每個平台條件LOD設置,特別是LOD偏移和最大LOD層次。

 

 

[轉自] http://www.narkii.com/club/thread-321290-1.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM