資料介紹
作者:隱士低手
游戲中的場景管理,一個容易被忽視,但是卻和游戲性能息息相關(guān)的問題。現(xiàn)在的手機游戲越來越重度,比如吃雞,原神,這種大場景開放世界的游戲,場景中的物件成千上萬,如何組織場景中的物件是一個非常棘手的問題,場景管理一般解決四個重要問題。
- 視錐體剔除
- 遮擋剔除
- 碰撞檢測
- 鄰近查詢
游戲優(yōu)化會使用多種裁剪技術(shù)來減少不必要的渲染。其中視錐體剔除是最重要的裁剪工作,我們只希望把視錐體中的物體傳遞給GPU進行渲染,視錐體之外的物體直接丟棄。如果場景中有1萬個物體,簡單的做法就是在每幀循環(huán)1萬次,做1萬次立方體與視錐體的包含判斷,如果這么做會把cpu累死。這時候就需要場景管理來優(yōu)化檢查次數(shù),一般的場景管理算法,會把檢測次數(shù)由O(n)降低到O(logn),提升非常大。一個游戲引擎一定會有非常優(yōu)秀的場景管理算法,這個是優(yōu)化的重中之重。
碰撞檢查和視錐體剔除一樣都是為了減少檢查的次數(shù),但是碰撞檢查還需要考慮相對位置關(guān)系,比如子彈射線的檢查,我們除了需要快速剔除之外,還要考慮物體的前后位置關(guān)系,如果先打中后面的物體那么就會出現(xiàn)判斷錯誤。
遮擋剔除是一把雙刃劍,實時計算遮擋剔除會耗費大量cpu時間,如果gpu做檢查然后將結(jié)果傳遞給cpu,又會增加cpu等待gpu的時間。所以在使用遮擋剔除的時候一直很糾結(jié),用的好可以提升性能,用的不好性能反而會下降。Gpu driven rendering pipelines,是未來的發(fā)展方向,現(xiàn)在gpu越來越強大,將渲染的工作全部交給gpu做吧,cpu已經(jīng)夠累了。
鄰近查詢在服務(wù)器端也會經(jīng)常使用比如AOI處理,我們也不希望用笨拙的循環(huán)來查詢是否在區(qū)域中。
場景管理主要解決兩個問題
- 空間劃分
- 潛在可見集
空間劃分的目的是可以快速剔除沒用的物體,比如我們把空間劃分成眼睛前和眼睛后兩個空間,視錐體剔除可以快速把眼睛后的空間剔除,那么空間中的全部物件也就被剔除了??臻g劃分算法有bsp,四/八叉樹,kd-tree,BVH樹(四/八叉樹算是BVH樹的一種)等。
潛在可見集就是解決遮擋剔除的問題,比如一面墻后面的物體可以不需要渲染,再比如進入一個沒有窗口的房間,室外場景都不在可見范圍內(nèi)。常用的技術(shù)有PVS,入口,遮擋剔除等。
不同的游戲適合不同的場景管理算法,比如室外場景適合八叉樹,狹長的室內(nèi)場景適合Bsp。
場景管理分靜態(tài)物件和動態(tài)物件,動態(tài)物件的管理需要不停的構(gòu)建新的樹,這部分的性能消耗是否值得。
現(xiàn)在場景管理一般都是放到cpu計算,未來的趨勢是gpu計算,這部分的技術(shù)在轉(zhuǎn)變。
一系列的問題等著我們?nèi)ソ鉀Q,如何為項目做出合理的技術(shù)決策。首先我們需要熟悉手中的工具,先把全部的算法做一遍,了解了各個算法的優(yōu)缺點后,再根據(jù)具體問題具體分析。天下沒有免費的午餐,這是唯一的學(xué)習(xí)途徑。
掃碼添加小助手
加入工程師交流群
- 新一代藍牙最新標(biāo)準(zhǔn)LE Audio音頻技術(shù)
- 基于Labview的小游戲飛天忍者貓源碼 71次下載
- 面向5G網(wǎng)絡(luò)的虛擬化資源分配管理方法 20次下載
- 基于Unity3D游戲引擎的神經(jīng)反饋治療系統(tǒng) 5次下載
- 基于LabVIEW的貪吃蛇游戲源代碼 78次下載
- 病房呼叫管理系統(tǒng)電路圖下載 8次下載
- 管理基于Cortex?-M7的MCU的高速緩存一致性 5次下載
- VxSCADA組態(tài)管理軟件使用手冊電子版 0次下載
- 一種適用于動態(tài)場景的SLAM方法 21次下載
- 游戲場景管理(二)視錐體剔除
- LM3S9B90內(nèi)置的一個游戲程序的全部資料大全 14次下載
- 《Visual C++游戲編程基礎(chǔ)》電子書.pdf 0次下載
- 幾款HTML5游戲引擎一覽 1次下載
- 傳感器和安全:從汽車到游戲場,新的解決方案保護參與者 1次下載
- 三維游戲場景中動態(tài)物體的遮擋剔除算法
- PDA手持終端在倉儲管理中的6大核心功能與應(yīng)用場景 215次閱讀
- 云翎智能低軌衛(wèi)星物聯(lián)網(wǎng)終端助力全場景高效管理與應(yīng)急響應(yīng) 814次閱讀
- 【技術(shù)貼】手柄芯片重新定義次世代交互體驗,玩家:這物理外掛太逆天! 805次閱讀
- 外星人無線充電鼠標(biāo)墊支持qi協(xié)議么? 725次閱讀
- 樹莓派復(fù)古游戲,你會選哪一個? 928次閱讀
- 艾為電子芯片產(chǎn)品在游戲手柄中的應(yīng)用方案 1.5k次閱讀
- 哪些場景要用到生產(chǎn)系統(tǒng)mes?它一般是多少錢一套 872次閱讀
- Android 游戲性能調(diào)優(yōu)的一些技巧 2.6k次閱讀
- Android游戲開發(fā)工具以及游戲調(diào)試、打包和分發(fā)技巧 3.9k次閱讀
- 圖像識別技術(shù)在模擬器的游戲場景當(dāng)中體現(xiàn)的尤為明顯 4.7k次閱讀
- 1500r和1800r曲率對比分析 淺談曲率的變化 19.5w次閱讀
- 基于區(qū)塊鏈的游戲基礎(chǔ)技術(shù)平臺GES游戲引擎公鏈 3.9k次閱讀
- 區(qū)塊鏈游戲“狗巴巴”是一款基于以太坊智能合約的完全去中心化的游戲 2.2k次閱讀
- 繼OpenAI發(fā)布Dota2的團戰(zhàn)AI后,DeepMind今天也發(fā)布了自家的最新研究 4k次閱讀
- Vim 的使用技巧—Vim 命令行游戲 2.8k次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費
- 2MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費
- 3MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費
- 4聯(lián)想flex2-14D/15D說明書
- 4.92 MB | 次下載 | 免費
- 5收音環(huán)繞擴音機 AVR-1507手冊
- 2.50 MB | 次下載 | 免費
- 624Pin Type-C連接器設(shè)計報告
- 1.06 MB | 次下載 | 免費
- 7MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費
- 8MS1022高精度時間測量(TDC)電路數(shù)據(jù)手冊
- 1.81 MB | 次下載 | 免費
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論