電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>人工智能>游戲場景管理(一)

游戲場景管理(一)

2021-01-29 | pdf | 75.08KB | 次下載 | 2積分

資料介紹

作者:隱士低手

游戲中的場景管理,一個容易被忽視,但是卻和游戲性能息息相關(guān)的問題。現(xiàn)在的手機(jī)游戲越來越重度,比如吃雞,原神,這種大場景開放世界的游戲,場景中的物件成千上萬,如何組織場景中的物件是一個非常棘手的問題,場景管理一般解決四個重要問題。

  • 視錐體剔除
  • 遮擋剔除
  • 碰撞檢測
  • 鄰近查詢

游戲優(yōu)化會使用多種裁剪技術(shù)來減少不必要的渲染。其中視錐體剔除是最重要的裁剪工作,我們只希望把視錐體中的物體傳遞給GPU進(jìn)行渲染,視錐體之外的物體直接丟棄。如果場景中有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)判斷錯誤。

遮擋剔除是一把雙刃劍,實(shí)時計(jì)算遮擋剔除會耗費(fèi)大量cpu時間,如果gpu做檢查然后將結(jié)果傳遞給cpu,又會增加cpu等待gpu的時間。所以在使用遮擋剔除的時候一直很糾結(jié),用的好可以提升性能,用的不好性能反而會下降。Gpu driven rendering pipelines,是未來的發(fā)展方向,現(xiàn)在gpu越來越強(qiáng)大,將渲染的工作全部交給gpu做吧,cpu已經(jīng)夠累了。

鄰近查詢在服務(wù)器端也會經(jīng)常使用比如AOI處理,我們也不希望用笨拙的循環(huán)來查詢是否在區(qū)域中。

場景管理主要解決兩個問題

  • 空間劃分
  • 潛在可見集

空間劃分的目的是可以快速剔除沒用的物體,比如我們把空間劃分成眼睛前和眼睛后兩個空間,視錐體剔除可以快速把眼睛后的空間剔除,那么空間中的全部物件也就被剔除了。空間劃分算法有bsp,四/八叉樹,kd-tree,BVH樹(四/八叉樹算是BVH樹的一種)等。

潛在可見集就是解決遮擋剔除的問題,比如一面墻后面的物體可以不需要渲染,再比如進(jìn)入一個沒有窗口的房間,室外場景都不在可見范圍內(nèi)。常用的技術(shù)有PVS,入口,遮擋剔除等。

不同的游戲適合不同的場景管理算法,比如室外場景適合八叉樹,狹長的室內(nèi)場景適合Bsp。

場景管理分靜態(tài)物件和動態(tài)物件,動態(tài)物件的管理需要不停的構(gòu)建新的樹,這部分的性能消耗是否值得。

現(xiàn)在場景管理一般都是放到cpu計(jì)算,未來的趨勢是gpu計(jì)算,這部分的技術(shù)在轉(zhuǎn)變。

一系列的問題等著我們?nèi)ソ鉀Q,如何為項(xiàng)目做出合理的技術(shù)決策。首先我們需要熟悉手中的工具,先把全部的算法做一遍,了解了各個算法的優(yōu)缺點(diǎn)后,再根據(jù)具體問題具體分析。天下沒有免費(fèi)的午餐,這是唯一的學(xué)習(xí)途徑。


來源:電子創(chuàng)新網(wǎng)

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1491次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費(fèi)
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  4次下載  |  免費(fèi)
  15. 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  16. 0.11 MB  |  4次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537793次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)