freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

外文原文及譯文--3d游戲開發(fā)技術(shù)研究與實(shí)現(xiàn)--游戲界面、圖形渲染、網(wǎng)絡(luò)功能-資料下載頁(yè)

2025-08-22 17:08本頁(yè)面
  

【正文】 景。隨著使用平臺(tái)開發(fā)3D游戲,本文深入研究了碰撞檢測(cè)算法和人工智能技術(shù)在游戲中的應(yīng)用,以龐大的計(jì)算量,使用結(jié)合類保衛(wèi)盒和空間分割段檢測(cè)法來提高碰撞檢測(cè)算法的速度慢、碰撞檢測(cè)計(jì)算不精確,可以有效地提高碰撞算法的精確度和速度。此外,本文完善了游戲路徑搜索算法,提高了長(zhǎng)時(shí)間的搜索問題,搜索速度慢在A*路徑搜索算法的改進(jìn)A*算法的路徑搜索方法,限制搜索范圍和加重的啟發(fā)函數(shù)數(shù)量。1. 碰撞檢測(cè)算法BVH(層次包圍盒的碰撞算法)是一種最為廣泛使用的碰撞檢測(cè)法。BBB的交叉實(shí)驗(yàn)是很簡(jiǎn)單,但是緊密的BBB碰撞測(cè)試卻很復(fù)雜。本文對(duì)包圍體的密實(shí)度和AABB包圍盒的碰撞檢測(cè)算法的檢測(cè)方法進(jìn)行了改進(jìn)。改進(jìn)思想:提高碰撞檢測(cè)算法的核心是實(shí)時(shí)性和精確度。有些游戲會(huì)犧牲一些精確度來的得到實(shí)時(shí)。該系統(tǒng)采用基于AABB包圍盒的碰撞算法,并且使用提高目的碰撞檢測(cè)算法簡(jiǎn)單、快速和精確的方法,一定程度的提高了在AABB包圍盒碰撞檢測(cè)算法中密實(shí)度差、計(jì)算量大的問題。改進(jìn)思想主要包括以下幾個(gè)方面:1)應(yīng)用BSP分解空間場(chǎng)景來減少碰撞檢測(cè)的計(jì)算量;2)優(yōu)化包圍盒;3)提出了段的碰撞檢測(cè)算法,來提高AABB碰撞檢測(cè)的速度。BSP分解場(chǎng)景:精確度和碰撞檢測(cè)速度是游戲的重要屬性。假設(shè)在RPG游戲視圖中有100個(gè)物體,則系統(tǒng)要做出100個(gè)碰撞測(cè)試和1002個(gè)碰撞測(cè)試計(jì)算。如果還有其他的對(duì)象存在系統(tǒng)中,大量的計(jì)算和糟糕的系統(tǒng)是很難被玩家接受的。因此,提高碰撞檢測(cè)的速度是很有必要的。本文主要提出了一下兩種方法來提高碰撞檢測(cè)的速度。首先,如上所述,如果游戲場(chǎng)景中不分解,碰撞測(cè)試就要對(duì)每一個(gè)對(duì)象進(jìn)行碰撞,但是在這些檢測(cè)中,大部分的碰撞測(cè)試時(shí)無用的,一次,寶貴的時(shí)間和資源就在這些工作上浪費(fèi)掉了。那么要如何減緩這種現(xiàn)象呢?從數(shù)據(jù)結(jié)構(gòu)方面考慮,二叉樹的理念可以應(yīng)用到場(chǎng)景的分解中。二叉樹法不僅可以應(yīng)用在管理場(chǎng)景中,還可以應(yīng)用到碰撞檢測(cè)里。二叉樹法可以分為不同的區(qū)域?qū)ο蟆C總€(gè)區(qū)域由小的對(duì)象組成,碰撞測(cè)試可以以區(qū)域?yàn)閱挝贿M(jìn)行。遍歷BSP樹具有三維空間的優(yōu)勢(shì)。對(duì)于每次的循環(huán),50%的對(duì)象不可能在對(duì)象的中心節(jié)點(diǎn)找到符合對(duì)象時(shí)才被樹維空間沖突排除掉。該方法快速簡(jiǎn)單,它只需要log2N一個(gè)公式哪怕N是一個(gè)很復(fù)雜的數(shù)字,就能完成碰撞測(cè)試。因此,在分解場(chǎng)景采用BSP樹有利于碰撞檢測(cè),并且在很大程度上減少了碰撞檢測(cè)的計(jì)算量。其次,可以從空間的角度來提高碰撞檢測(cè)的速度。游戲場(chǎng)景包括靜態(tài)和動(dòng)態(tài)對(duì)象。如果包圍盒不斷更新,這將會(huì)花費(fèi)大量的時(shí)間去計(jì)算包圍盒的所有對(duì)象,這無疑增加了不必要的計(jì)算。由于靜態(tài)的包圍體并沒有改變,所以不需要更新他們的包圍盒。因此,在靜態(tài)場(chǎng)景對(duì)象中已經(jīng)確認(rèn)了它在調(diào)用級(jí)的包圍盒,并沒有更新他們的包圍盒。為了確保碰撞檢測(cè)的精確度,動(dòng)態(tài)的對(duì)象包圍體必須實(shí)時(shí)更新。采用這樣的方法可以很大程度上減少碰撞檢測(cè)算法的計(jì)算量提高游戲運(yùn)行速度。優(yōu)化包圍盒:來提高碰撞檢測(cè)的精確度。但是,游戲場(chǎng)景中包括動(dòng)態(tài)和靜態(tài)對(duì)象,如果每個(gè)物體的包圍盒都實(shí)時(shí)更新,這將增加不必要的時(shí)間來計(jì)算。因此,開發(fā)此游戲時(shí)使用AABB包圍盒對(duì)場(chǎng)景中的對(duì)象進(jìn)行測(cè)試比較適宜。對(duì)于場(chǎng)景中的靜態(tài)對(duì)象如墻、房子、樹和其他規(guī)則形狀的對(duì)象只屬于一個(gè)包圍盒,并不會(huì)實(shí)時(shí)更新,這樣游戲中的碰撞檢測(cè)將會(huì)受到很大的影響。該系統(tǒng)只實(shí)時(shí)更新動(dòng)態(tài)對(duì)象的包圍盒。包圍體的寬度應(yīng)設(shè)為對(duì)象動(dòng)作的最大跨度。如果邊界體積太小,碰撞檢測(cè)是不夠精確的,碰撞顯示也會(huì)有失真的現(xiàn)象;如果邊界體積過大,碰撞實(shí)時(shí)將會(huì)過長(zhǎng),所以設(shè)計(jì)一個(gè)合理的包圍體會(huì)使碰撞檢測(cè)得到事半功倍的效果。動(dòng)態(tài)對(duì)象的活動(dòng)范圍也影響著碰撞檢測(cè)的精確度。如果對(duì)象的活動(dòng)范圍過大,可能會(huì)發(fā)生以下情況:當(dāng)前的幀沒有碰撞到對(duì)象,而下一幀又錯(cuò)過了該對(duì)象,這意味著很容易出現(xiàn)對(duì)象小于活動(dòng)范圍的現(xiàn)象。為了防止漏過,在創(chuàng)建對(duì)象動(dòng)畫的過程中應(yīng)為對(duì)象的活動(dòng)范圍制定一個(gè)適當(dāng)?shù)闹?。分段的碰撞檢測(cè)算法:游戲系統(tǒng)對(duì)碰撞檢測(cè)的要求不高,但對(duì)游戲的運(yùn)行速度有著較高的要求。在游戲場(chǎng)景中,靜態(tài)對(duì)象不需要碰撞檢測(cè),碰撞只是發(fā)生在動(dòng)態(tài)對(duì)象和靜態(tài)對(duì)象間。游戲的場(chǎng)景模型大多是普通的對(duì)象,因此,采用AABB包圍盒足以表達(dá)場(chǎng)景中對(duì)象的近似。兩個(gè)AABB包圍盒之間的碰撞檢測(cè)需要計(jì)算6次,如果在做碰撞之前有M個(gè)碰撞檢測(cè),則在AABB包圍盒需要6M次的計(jì)算。這樣不僅計(jì)算量大,而且浪費(fèi)時(shí)間,因?yàn)槿绻麤]有碰撞只需要計(jì)算M即可。解決方案是在射線和靜態(tài)AABB兩個(gè)物體碰撞之前做交叉測(cè)試。在這過程中,AABB測(cè)發(fā)生沖突是無疑的,不改變動(dòng)態(tài)和靜態(tài)AABB是可能發(fā)生碰撞的,知道兩個(gè)物體將要碰撞時(shí)才會(huì)有碰撞檢測(cè)。然而,機(jī)會(huì)決定AABB包圍盒的移動(dòng)射線從射線和靜態(tài)對(duì)象AABB包圍盒中獲得的距離。用改進(jìn)的碰撞檢測(cè)算法計(jì)算量能減少近一半。該算法描述如下:1)選擇玩家角色包圍盒的中心點(diǎn)S和移動(dòng)距離的矢量V并且以(S,V)作為參照做一個(gè)射線;2)利用BSP樹分解法很快就會(huì)發(fā)現(xiàn)可能是帶碰撞檢測(cè)的區(qū)域;帶碰撞檢測(cè)的射線和靜態(tài)AABB對(duì)象:估計(jì)出射線和靜態(tài)AABB對(duì)象之間的距離和AABB包圍盒可能發(fā)生碰撞,消除不可能發(fā)生,如果達(dá)到設(shè)定的臨界值之后繼續(xù);帶碰撞檢測(cè)的動(dòng)態(tài)AABB和靜態(tài)AABB平面,否則,返回。2. 優(yōu)化算法大面積的空間和緩慢的計(jì)算速度是A*尋路算法的最大不足。本文采用了三種方法來優(yōu)化和提高路徑搜索。隨著路徑搜索分級(jí)法,A*算法體現(xiàn)了NPC在路徑搜索的智能,但有兩個(gè)缺陷:A*算法需要保持啟發(fā)式信息,現(xiàn)節(jié)點(diǎn)和擴(kuò)充節(jié)點(diǎn),它需要擴(kuò)大,為最壞情況下的指數(shù)數(shù)量的內(nèi)存,目的節(jié)點(diǎn)的A*算法的搜索都是靜態(tài)的,但在這個(gè)系統(tǒng)中的玩家角色是動(dòng)態(tài)的,這顯然增加了路徑搜索的復(fù)雜性。A*路徑的搜索難以實(shí)現(xiàn)。因此,有必要改進(jìn)A*尋路算法。通過觀察,我們發(fā)現(xiàn),所有的路線在沒有障礙物的情況下,起始點(diǎn)和終點(diǎn)是直線的。如果有障礙物,每個(gè)轉(zhuǎn)折點(diǎn)必須在障礙物的凸多邊形的峰值。在上述尋路思想的基礎(chǔ)上,本系統(tǒng)采用分級(jí)路徑搜索方法,即非玩家在沒有障礙物的路徑上接近對(duì)象時(shí),A*算法應(yīng)用于尋路時(shí)在非玩家角色和障礙物范圍之間設(shè)置一個(gè)臨界值d ,然后使最有節(jié)點(diǎn)應(yīng)該選擇實(shí)時(shí)改變路徑。對(duì)于另一個(gè)點(diǎn)間的直線運(yùn)動(dòng)而言,延長(zhǎng)節(jié)點(diǎn)是非常小計(jì)算量也會(huì)很小。圖1是分級(jí)尋路法即本文采用的示意圖,其中起點(diǎn)顯示NPC,終點(diǎn)表示玩家的角色。U是NPC的移動(dòng)方向,V是玩家的移動(dòng)方向。從NPC出發(fā)點(diǎn)到節(jié)點(diǎn)采用直線路徑運(yùn)動(dòng)。當(dāng)NPC和障礙物之間的距離是臨界值d時(shí),改進(jìn)好的A*算法應(yīng)用于正規(guī)尋路。分段搜索法將會(huì)大大縮短搜索時(shí)間,并不會(huì)因?yàn)榫嚯x的增加而增加搜索時(shí)間。圖1:段路徑搜索示意圖改進(jìn)算法的步驟:1)讓非玩家角色的調(diào)節(jié)點(diǎn)S作為起始節(jié)點(diǎn),調(diào)節(jié)玩家角色的G點(diǎn)作為目標(biāo)節(jié)點(diǎn);2)計(jì)算d= | GS |;3)如果d<D(人為設(shè)定的臨界值),NPC被激活,否則,返回到1);4)按直線進(jìn)行路徑搜索,玩家角色行動(dòng)沿著射線方向;5)如果在路徑遇到障礙物Q,計(jì)算| QS |;如果| QS |<k(人為設(shè)定的臨界值)即為改進(jìn)的A*算法;否則,返回5);6)返回到4)。重復(fù)操作。3. 實(shí)驗(yàn)結(jié)果和分析碰撞檢測(cè)算法:在這一過程中的作用,行動(dòng)對(duì)碰撞作出反應(yīng)是虛擬角色沿著該物體的邊緣避免碰撞障礙物。在這個(gè)過程中要注意的是D是0. 本實(shí)驗(yàn)采用AABB包圍盒的碰撞檢測(cè)算法及改進(jìn)算法。比較存儲(chǔ)的調(diào)用時(shí)間和2種算法的游戲編譯頻率的實(shí)驗(yàn)數(shù)據(jù),其中100組實(shí)驗(yàn)數(shù)據(jù)進(jìn)行規(guī)定和10組隨機(jī)選擇平均值進(jìn)行了比較。實(shí)驗(yàn)結(jié)果的比較如圖2和圖3所示。圖2 算法訪問量的實(shí)驗(yàn)結(jié)果 圖3 FPS的算法實(shí)驗(yàn)結(jié)果10
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1