- 6
- 0
- 约8.79千字
- 约 11页
- 2017-01-13 发布于北京
- 举报
(unty3d游戏开发之优化
首先介紹下draw call(這個東西越少你的遊戲跑的越快): 在遊戲中每一個被展示的獨立的部分都被放在了一個特別的包中,我們稱之為“描繪指令”(draw call),然後這個包傳遞到3D部分在螢幕上呈現出來。這就和你希望你的親友收到準備好的聖誕禮物需要包裝好然後穿過城市準時放在他應該出現的地方一樣沒什麼不同。你的CPU來完成包裝和傳遞他們的活,同時會消耗很多的頻寬,所以最終分配好這些關鍵性資源很重要。目前,真正可怕的事情是從描繪指令消耗遠景開始,每一個獨立的飛濺到地板上的血跡和一個角色或者一具死屍消耗的位元組是一樣的多的:他們都消耗同樣的描繪指令。除此之外,沒有什麼更多的差別。那麼如何降低 draw call 呢??那麼我們就用到Culling(剔除)技術。如果不應用這個技術,電腦是不管3721把場景裡所有的東西都送去渲染的。看得見的也渲染,看不見得照樣也送去渲染。很傻是吧,那咋辦呢。得告訴電腦,那個你看得見的渲染,看不見的就算了。於是就有了1.視錐體剔除(Frustum Culling)這個unity系統自帶了好像,就不用操心了。2.遮擋剔除(Occlusion Culling)
Unity 3專業版內置了一個強大的 Occlusion Culling 外掛程式 Umbra免費的遮擋剔除(Occlusion Culling)?? 遮擋剔除是一種什麼樣的特性呢, 當一個物體被其他物體遮擋住而不在攝像機的可視範圍內時不對其進行渲染。. 遮擋剔除在3D圖形計算中並不是自動進行的。因為在絕大多數情況下離 camera 最遠的物體首先被渲染,靠近攝像機的物體後渲染並覆蓋先前渲染的物體(這被稱為重複渲染,無效渲染overdraw). 遮擋剔除不同於視錐體剔除. 視錐體剔除只是不渲染攝像機視角範圍外的物體而對於被其他物體遮擋但依然在視角範圍內的物體則不包括在內. 注意當你使用遮擋剔除時你依然受益於視錐體剔除(Frustum Culling).左邊的場景使用了遮擋剔除. 右邊的場景未使用遮擋剔除.
遮擋剔除的運行將通過在場景中使用一個虛擬的攝像機來創建一個物體潛在可視性狀態(set)的層級. 這些資料可以讓每個執行時間內的攝像機來確定什麼能看見什麼看不見。通過這些資料, Unity 將確定只把可以看見的物體送去渲染. 這將降低 draw calls 的數量並提供遊戲的運行效率.
occlusion culling的資料由單元(cells)組成. 每個單元是整個場景範圍數值的一部分. 更多特定的單元來自一個二叉樹( binary tree). Occlusion Culling使用兩個叉, 一個給 View Cells (靜態物體) 另一個給 Target Cells (移動物體). View Cells map給出了一個定義了靜態可視物體的索引清單 (精確剔除後的靜態物體).
非常重要的一點是在創建你的物體時要隨時注意,因為你需要在物體的尺寸和單元的尺寸間取得一個好的平衡. 理想情況下, you shouldnt have cells that are too small in comparison with your objects but equally you shouldnt have objects that cover many cells.有時你可以通過將大的物體拆成幾個部分來改進遮擋剔除效果. 無論如何你仍然能夠將小的物體合併為一體來降低draw calls, 在它們都屬於一些小的組件的時候, occlusion culling 將不起作用.確定元件中那個是可視的元件的選集和可視資訊被認為是 PVS (潛在可視狀態Potentially Visible Set).
Occlusion Culling設置
為了使用遮擋剔除 需要進行相關的手動設置.首先 你關卡中的幾何體必須被分割成明顯的不同尺寸的塊. 這也有助於佈置關卡中小塊的容易定義的區域 被其他大物體遮擋(例如牆,建築物) 這意味著每個單獨的mesh被確定是否渲染取決於 occlusion 資料. 所以如果你有一個物體包含了房間裡的所有傢俱那麼所有的傢俱要麼全渲染,要麼全不渲染. 是否渲染是基於元件而不是基於每個單獨物體自身的。
在檢視面板(Inspector) 你需要標識(tag) 所有需要應用遮擋剔除的場景物體。最快的方法是是將你需要標示為 Static的物體作為一個 Empty GameObject 的子物體並設置這個Empty GameObject 為Static,當option出現的時候選擇affect children. 當子物體被tagged as Static你可以取消子物體和Empty GameObject的父子關係.檢視面板中的
您可能关注的文档
最近下载
- Fuji富士-人机界面HMI操作说明书-MONITOUCH V8系列 参考手册.pdf
- 第三单元 第01课时 认识多边形及长方形、正方形的特点(教学设计)数学人教版三年级下册2026.docx
- 2023年卫生公共基础知识.doc VIP
- 第1课时 认识多边形及长方形、正方形的特点 教学设计 2026人教版数学三年级下册.pdf
- 【不详】品类创新:成为第一的终极战略.pptx
- 人教版四年级数学下册第一单元测试卷(2套)(附答案).pdf VIP
- 2025瑞派宠物医院管理股份有限公司招股说明书.pdf VIP
- 调蓄池清淤专项施工方案.docx VIP
- 《广西壮族自治区建设工程费用定额》2016年.pdf
- 《洁净室施工及验收规范》(GB50591-2010).pdf VIP
原创力文档

文档评论(0)