資料介紹
作者:隱士低手
游戲中的場(chǎng)景管理,一個(gè)容易被忽視,但是卻和游戲性能息息相關(guān)的問(wèn)題?,F(xiàn)在的手機(jī)游戲越來(lái)越重度,比如吃雞,原神,這種大場(chǎng)景開(kāi)放世界的游戲,場(chǎng)景中的物件成千上萬(wàn),如何組織場(chǎng)景中的物件是一個(gè)非常棘手的問(wèn)題,場(chǎng)景管理一般解決四個(gè)重要問(wèn)題。
- 視錐體剔除
- 遮擋剔除
- 碰撞檢測(cè)
- 鄰近查詢
游戲優(yōu)化會(huì)使用多種裁剪技術(shù)來(lái)減少不必要的渲染。其中視錐體剔除是最重要的裁剪工作,我們只希望把視錐體中的物體傳遞給GPU進(jìn)行渲染,視錐體之外的物體直接丟棄。如果場(chǎng)景中有1萬(wàn)個(gè)物體,簡(jiǎn)單的做法就是在每幀循環(huán)1萬(wàn)次,做1萬(wàn)次立方體與視錐體的包含判斷,如果這么做會(huì)把cpu累死。這時(shí)候就需要場(chǎng)景管理來(lái)優(yōu)化檢查次數(shù),一般的場(chǎng)景管理算法,會(huì)把檢測(cè)次數(shù)由O(n)降低到O(logn),提升非常大。一個(gè)游戲引擎一定會(huì)有非常優(yōu)秀的場(chǎng)景管理算法,這個(gè)是優(yōu)化的重中之重。
碰撞檢查和視錐體剔除一樣都是為了減少檢查的次數(shù),但是碰撞檢查還需要考慮相對(duì)位置關(guān)系,比如子彈射線的檢查,我們除了需要快速剔除之外,還要考慮物體的前后位置關(guān)系,如果先打中后面的物體那么就會(huì)出現(xiàn)判斷錯(cuò)誤。
遮擋剔除是一把雙刃劍,實(shí)時(shí)計(jì)算遮擋剔除會(huì)耗費(fèi)大量cpu時(shí)間,如果gpu做檢查然后將結(jié)果傳遞給cpu,又會(huì)增加cpu等待gpu的時(shí)間。所以在使用遮擋剔除的時(shí)候一直很糾結(jié),用的好可以提升性能,用的不好性能反而會(huì)下降。Gpu driven rendering pipelines,是未來(lái)的發(fā)展方向,現(xiàn)在gpu越來(lái)越強(qiáng)大,將渲染的工作全部交給gpu做吧,cpu已經(jīng)夠累了。
鄰近查詢?cè)诜?wù)器端也會(huì)經(jīng)常使用比如AOI處理,我們也不希望用笨拙的循環(huán)來(lái)查詢是否在區(qū)域中。
場(chǎng)景管理主要解決兩個(gè)問(wèn)題
- 空間劃分
- 潛在可見(jiàn)集
空間劃分的目的是可以快速剔除沒(méi)用的物體,比如我們把空間劃分成眼睛前和眼睛后兩個(gè)空間,視錐體剔除可以快速把眼睛后的空間剔除,那么空間中的全部物件也就被剔除了??臻g劃分算法有bsp,四/八叉樹(shù),kd-tree,BVH樹(shù)(四/八叉樹(shù)算是BVH樹(shù)的一種)等。
潛在可見(jiàn)集就是解決遮擋剔除的問(wèn)題,比如一面墻后面的物體可以不需要渲染,再比如進(jìn)入一個(gè)沒(méi)有窗口的房間,室外場(chǎng)景都不在可見(jiàn)范圍內(nèi)。常用的技術(shù)有PVS,入口,遮擋剔除等。
不同的游戲適合不同的場(chǎng)景管理算法,比如室外場(chǎng)景適合八叉樹(shù),狹長(zhǎng)的室內(nèi)場(chǎng)景適合Bsp。
場(chǎng)景管理分靜態(tài)物件和動(dòng)態(tài)物件,動(dòng)態(tài)物件的管理需要不停的構(gòu)建新的樹(shù),這部分的性能消耗是否值得。
現(xiàn)在場(chǎng)景管理一般都是放到cpu計(jì)算,未來(lái)的趨勢(shì)是gpu計(jì)算,這部分的技術(shù)在轉(zhuǎn)變。
一系列的問(wèn)題等著我們?nèi)ソ鉀Q,如何為項(xiàng)目做出合理的技術(shù)決策。首先我們需要熟悉手中的工具,先把全部的算法做一遍,了解了各個(gè)算法的優(yōu)缺點(diǎn)后,再根據(jù)具體問(wèn)題具體分析。天下沒(méi)有免費(fèi)的午餐,這是唯一的學(xué)習(xí)途徑。
來(lái)源:電子創(chuàng)新網(wǎng)
- 新一代藍(lán)牙最新標(biāo)準(zhǔn)LE Audio音頻技術(shù)
- 基于業(yè)務(wù)目標(biāo)和業(yè)務(wù)場(chǎng)景的語(yǔ)義一致性驗(yàn)證方法 9次下載
- 面向5G網(wǎng)絡(luò)的虛擬化資源分配管理方法 19次下載
- 基于Unity3D游戲引擎的神經(jīng)反饋治療系統(tǒng) 5次下載
- 基于LabVIEW的貪吃蛇游戲源代碼 74次下載
- 病房呼叫管理系統(tǒng)電路圖下載 7次下載
- 管理基于Cortex?-M7的MCU的高速緩存一致性 5次下載
- VxSCADA組態(tài)管理軟件使用手冊(cè)電子版 0次下載
- 一種適用于動(dòng)態(tài)場(chǎng)景的SLAM方法 21次下載
- 游戲場(chǎng)景管理(二)視錐體剔除
- 如何使用一種形式化方法的3D虛擬祭祀場(chǎng)景建模語(yǔ)言與環(huán)境 9次下載
- 《Visual C++游戲編程基礎(chǔ)》電子書.pdf 0次下載
- 幾款HTML5游戲引擎一覽 1次下載
- 傳感器和安全:從汽車到游戲場(chǎng),新的解決方案保護(hù)參與者 1次下載
- 三維游戲場(chǎng)景中動(dòng)態(tài)物體的遮擋剔除算法
- 聊一聊消息隊(duì)列技術(shù)選型的7種消息場(chǎng)景 1416次閱讀
- 分享一個(gè)棋盤游戲電子骰子電路 2593次閱讀
- Python-pygame 游戲開(kāi)發(fā) 1517次閱讀
- Android 游戲性能調(diào)優(yōu)的一些技巧 1674次閱讀
- Android游戲開(kāi)發(fā)工具以及游戲調(diào)試、打包和分發(fā)技巧 2820次閱讀
- 構(gòu)建區(qū)塊鏈游戲的項(xiàng)目有哪一些 517次閱讀
- 黑鯊正式發(fā)布了新一代游戲手機(jī)黑鯊游戲手機(jī)2,黑鯊游戲手機(jī)2的拆解 6395次閱讀
- 論玩小游戲AI不一定比你差 3171次閱讀
- 圖像識(shí)別技術(shù)在模擬器的游戲場(chǎng)景當(dāng)中體現(xiàn)的尤為明顯 4178次閱讀
- 1500r和1800r曲率對(duì)比分析 淺談曲率的變化 19.3w次閱讀
- 基于區(qū)塊鏈的游戲基礎(chǔ)技術(shù)平臺(tái)GES游戲引擎公鏈 3470次閱讀
- 區(qū)塊鏈游戲“狗巴巴”是一款基于以太坊智能合約的完全去中心化的游戲 1858次閱讀
- 繼OpenAI發(fā)布Dota2的團(tuán)戰(zhàn)AI后,DeepMind今天也發(fā)布了自家的最新研究 3517次閱讀
- 區(qū)塊鏈游戲會(huì)成為下一個(gè)生財(cái)好渠道嗎? 535次閱讀
- Vim 的使用技巧—Vim 命令行游戲 2459次閱讀
下載排行
本周
- 1STM32開(kāi)發(fā)板教程之STM32開(kāi)發(fā)指南免費(fèi)下載
- 24.88 MB | 176次下載 | 3 積分
- 2EN60335-1安規(guī)標(biāo)準(zhǔn) 中文版本
- 1.86 MB | 52次下載 | 1 積分
- 3LT7406FJ N溝道增強(qiáng)型功率MOSFET規(guī)格書
- 1.38 MB | 2次下載 | 免費(fèi)
- 4STM32系列產(chǎn)品選型-中文
- 1.81 MB | 1次下載 | 免費(fèi)
- 5LTS6802FJCB N溝道增強(qiáng)型功率MOSFET規(guī)格書
- 1.00 MB | 1次下載 | 免費(fèi)
- 6運(yùn)算放大電路入門教程
- 0.70 MB | 1次下載 | 免費(fèi)
- 7米爾-瑞芯微RK3562核心板開(kāi)發(fā)板,4核CPU,ARM中量級(jí)多面手
- 3.45 MB | 1次下載 | 免費(fèi)
- 8開(kāi)源鴻蒙版真4K顯示器廣告機(jī)主板AIoT-6780SE彩頁(yè)
- 613.79 KB | 1次下載 | 免費(fèi)
本月
- 1STM32開(kāi)發(fā)板教程之STM32開(kāi)發(fā)指南免費(fèi)下載
- 24.88 MB | 176次下載 | 3 積分
- 2DeepSeek:從入門到精通
- 5.36 MB | 92次下載 | 1 積分
- 3EN60335-1安規(guī)標(biāo)準(zhǔn) 中文版本
- 1.86 MB | 52次下載 | 1 積分
- 4OAH0428最新規(guī)格書(中文)
- 2.52 MB | 27次下載 | 10 積分
- 5UHV系列雷電沖擊電壓發(fā)生器試驗(yàn)裝置詳細(xì)說(shuō)明使用
- 1.07 MB | 17次下載 | 免費(fèi)
- 6Altium-常用3D封裝庫(kù)(Step)接插件篇
- 4.95 MB | 14次下載 | 免費(fèi)
- 7介紹一些常用的電子元器件
- 3.20 MB | 7次下載 | 免費(fèi)
- 8麻將機(jī)升降電路
- 0.12 MB | 6次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191371次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183336次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81583次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論