提示:僅供參考,有誤之處,麻煩大佬指出,不勝感激!
文章目錄
- LOD技術效果
- 一、LOD技術是什么?
- 二、LODGroup組件介紹
- 三、LODGroup組件使用步驟
- 添加組件
- 添加模型
- 四、Project Settings中與LOD組件相關參數
- 總結
LOD技術效果
使用遠、中、近三種情況來實現效果,當距離很遠的時候模型就會隱藏不可見(視頻沒有錄制到這種情況,不影響),如下視頻:
LOD技術效果
一、LOD技術是什么?
LOD是Level of Detail的簡稱,意思是細節層次,它是一種優化技術。
LOD的原理,就是我們可以為一個游戲對象設定多個模型,這些模型消耗的游戲性能由高到低排列。會根據攝像機距離模型的遠近自動顯示對應的模型。
近的時候顯示最精細的模型,距離中等的時候顯示沒那么精細的模型,遠的時候顯示粗糙的模型,最遠的時候可以隱藏該模型。
使用LOD技術能起到優化渲染性能的效果。但是使用LOD技術也會增加內存占用。
二、LODGroup組件介紹
有三種模式可以選擇,None 、Cross Fade 和 Speed Tree
None 就是一個默認模式,不作處理。
Cross Fade為交叉淡入淡出,在這個選下還有一個可變屬性叫Fade Transition Width(淡入淡出過渡寬度)Fade Transition Width 是一個從0~1之間的值,代表淡入淡出的過渡區域占當前LOD級別的比例。如果值較小的話,可以延遲兩個LOD級別混合的開始并且過渡更快,因為Unity通常使用的是屏幕空間抖動或透明度來實現交叉漸變。
peed Tree 只需要物體提供0~1的狀態,然后兩個LOD級別的混合是從0開始到1結束的,也就是開始時是與前一級別的LOD一致,轉換結束時就與后一個LOD級別完全匹配了。
三、LODGroup組件使用步驟
添加組件
把LODGroup組件添加在一個空物體身上。這個空物體身上不添加MeshRenderer組件,也不添加MeshFilter組件,但可以添加碰撞器。如果要添加剛體、腳本等,也可以添加到這個空物體身上的。
右擊它們中的一個,點擊Insert Before可以添加一個新的LOD級別到渲染條上。
右擊它們中的一個,點擊Delete,則可以刪除該LOD級別。
鼠標懸停在兩個LOD級別之間,按住鼠標左鍵,左右拖動,可以調整LOD級別的范圍。
添加模型
LOD級別LOD 0、LOD 1、LOD 2分別表示攝像機從近處看、從中等距離處看、從遠處看時,所使用的模型的信息。Culled表示不渲染該模型。
點開下方的LOD 0、LOD 1、LOD 2,點擊+號可以添加在這種情況下要顯示的模型
在該空物體的LODGroup組件中,點擊選中要設置的LOD級別,在Renderers下方點擊Add可以選擇要顯示的游戲對象,點擊-號可以移除該游戲對象。
四、Project Settings中與LOD組件相關參數
Edit——Project Settings——Quality,中有控制整個項目LOD的參數。
LOD Bias的值小,則攝像機離物體的距離稍微有些變化,則不同的LOD級別就會切換。如果LOD Bias的值大,則攝像機需要與物體有比較大的距離變化,不同的LOD級別才會切換。
Maximum LOD Level表示所有LOD Group組件最大能使用LOD級別,超過這個限制的LOD級別的模型不會顯示。注意,LOD級別0大于LOD級別1,LOD級別1大于LOD級別2,依次類推。例如把這個值設置為1,則即使攝像機到物體的距離達到了LOD級別為0的范圍,則也不會切換到LOD級別為0的模型來顯示。例如把這個值設置為2,則即使攝像機到物體的距離達到了LOD級別為0或者LOD級別為1的范圍,則也不會切換到這些模型來顯示。
總結
好記性不如爛筆頭!
上一章:鏈接: 性能優化之UI和模型優化(九)
下一章: