1、Erenow —— 在此之前
今天我們來說下Unity遊戲開發時,性能優化用到的一項簡單技術LOD —— 多層次細節。
該技術很常用、對於初學者來講也屬於比較好理解的。
在此之前,為了便於初學者腦海裡,很形象的理解這項技術有多麼簡單,我在這裡先給大家講一個例子,幫助理解。
PS-A:我們現在讓計算機,在屏幕上繪製一條線,就一條線。那麼計算機是如何做到繪製這條線,並顯示給我們看的呢?初學者提示:CPU (電腦的大腦)、GPU (電腦的成像)1:CPU 接收到我們的指令:一條線;
2:CPU 通過計算與整合,這條線所需的基本數據,發給 GPU;
3:GPU 拿到 CPU 交由的數據後,通過計算繪製出圖像,呈現在顯示器上 —— 結束!
假設: 電腦做了一件事,很輕鬆!一瞬間都完成了!
PS-B:我們現在讓計算機,在屏幕上繪製10000條線。假設:這時候電腦要做10000件事,相比1件事來講,用時肯定要長的多的多
(以上假設只是為了便於初學者理解,CPU與GPU的交互工作,比較繁瑣,這裡就不再過多解釋,重要的還是理解我們 LOD 技術)2、Model —— 模型
大家都知道,模型是由頂點和面數,確定繪製出來的一個小的模型,例如 Unity 為我們提供的 Cube 立方體:24頂點、12面
精緻的房子模型, 幾萬頂點,N萬個面
由於攝像機工作照射的區域,都會被繪製並顯示在屏幕上。
而一個遊戲場景可能有很多遊戲對象,例如諸多遊戲的野外、吃雞時跳傘的視角能觀察下方很大範圍內的環境、區域
那麼電腦的處理任務就會成倍增加,因為視野內所有物體都需要顯示在屏幕上,無論大小,都會在電腦的計算範圍之內,電腦忙不過來了,就開始卡了。
假設:要顯示所有物體,電腦的任務量可能就是20萬、50萬甚至更多。視野不斷的在進行變換,計算也就在不斷進行。3、Level of detail —— 多層次細節多層次細節處理,就是讓一個物體,在相機距離不同的情況下,顯示不同的模型,從而節省性能的開銷。LOD 對模型進行 分層級顯示
視角離近時,我們讓物體顯示精細度高的模型這就是 Level of detail 多層次細節優化,模型精度低了,自然就為電腦減少了工作量,性能負擔也就降下來了,不難理解!
4、LOD Example —— 多層次細節實例Unity 為我們提供了一個組件 LOD Group這就是LOD技術技術的應用,有的小夥伴看完這篇文章已經躍躍欲試了。那麼你呢?
想要獲取最新的最有趣的編程資訊、知識,視頻,那麼就關注我們。