LOD,中文名多層次細節,是遊戲中最常用的技術,它按照模型的位置和重要程度決定物體渲染的資源分配,降低非重要物體的面數和細節度,從而獲得高效率的渲染運算。今天我們來實現使用它來做一個簡單的優化例子。
我們沒有模型(程式設計師的悲哀)就用Particle粒子特效來做試驗吧。在場景中建立一個空物體,取名LODEffects,在空物體下面建立一個Particle並複製兩份都做為子物體。這們用這三個Particle可以當作不同細節的模型,分別調整它們的ParticleSystem元件下Emission的Rate屬性為10,5,2,依次代表從近到遠顯示的三個不同模型。
關鍵點來啦,在LODEffects物件上新增LODGroup元件,主要關注中間的層次條:
它依次代表四個不同的距離層次(百分比是按色像機的可視範圍算的哦,滑鼠放在兩塊兒之間可以拖動調整百分比)。點選LOD0,下面會出現LODBias層次偏好物件列表,我們可以將要顯示的模型放到這裡,在LOD0下,我們放最精細的Particle(Emission
Rate為10),然後點選LOD1,設定為中等的粒子物件,最後的LOD2放設定最粗糙的,我們可以拖動層次條上面的小色像頭檢視在場景中的效果。
這樣,我們的操作就完成了,現在運行遊戲,拖動場景中色像頭的位置,可以看到不同距離下,顯示不同的Particle特效咯。同時對比下面兩張圖可以看到遊戲GPU開銷明顯降低。