日韩欧美国产精品,在线播放国产区,欧美人与物videos另类一,日韩经典欧美一区二区三区,成人午夜视频在线,无毒不卡,香蕉97碰碰视频免费

游戲中的人工智能

上傳人:嘀****l 文檔編號:253307055 上傳時間:2024-12-11 格式:PPT 頁數:29 大?。?2.03MB
收藏 版權申訴 舉報 下載
游戲中的人工智能_第1頁
第1頁 / 共29頁
游戲中的人工智能_第2頁
第2頁 / 共29頁
游戲中的人工智能_第3頁
第3頁 / 共29頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《游戲中的人工智能》由會員分享,可在線閱讀,更多相關《游戲中的人工智能(29頁珍藏版)》請在裝配圖網上搜索。

1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,人工智能,小組成員:,xx,人工智能,游戲中的人工智能,群聚,什么是群聚呢?,群聚,就是多個非玩家角色一起行動,而不是個別行動。比如說:你看到的是一群大雁,它們的飛行是有一定的規(guī)律,而且你完全可以看出來它們會排成一字或者人字,不會是亂糟糟的飛行。那么,我們在游戲中,諸

2、如巡邏小隊之類的移動又是什么樣的呢?,1987,年,,Craig Reynolds,發(fā)表了一篇名為,Flocks,,,Herds and Schools,:,A Distributed Behavial Model,的論文,在這篇論文中,他提出了基本的群聚算法模型,甚至可以這樣說,后續(xù)的一系列群聚算法都有這篇論文的身影。,那么我們來看看,Craig Reynolds,提到的,boids,類鳥群的模擬群體。在這種類鳥群里面,是沒有領導核心,它們都是跟著群體在走,而這個群體似乎是自己有自己的想法。,Reynolds,基本群聚算法核心,群體行為的核心是基本的群聚算法。,“,單位,”(,unit,)指

3、代組成群體的個別實體。,凝聚,:每個單位都往其臨近單位的平均位置行動。,對齊,:每個單位行動時,都要把自己對齊在其臨近單位的平均方向上。,分隔,:每個單位行動時,要避免撞上其臨近單位。,Reynolds,基本群聚算法是沒有,領導核心,的;就,某種意義而言,它們都跟著整個群體移動。,每個單位都必須有行進的能力;每個單位都,必須知道其局部周圍的情況,即鄰近單位位,置、方向以及群體中與自身最靠近的單位之,間的距離。,在仿真物理環(huán)境中可以對仿真中的單位施加轉向,力使其改變方向;在磚塊環(huán)境中可以采用視線方,法讓單位改變方向或朝特定點移動。,為了分析我們這個群聚系統(tǒng),我們需要理解一些基本的概念:,1,,,

4、單位的視野,我們以,r,為單位的視野半徑,以,為視野角度,落在這個圓弧內的所有物體都是可見的。,2,,,避開規(guī)則(,Avoidance rule,),單位不會被彼此撞上。,3,,,凝聚規(guī)則,單位離得太遠就應該靠近一點,這個規(guī)則和避開規(guī)則合在一起,從而形成了群聚。,磚塊環(huán)境中的移動模式,非確定性方法(加入隨機因素):,1,、初始化路徑數組,移動數組,2,、用,Bresenham,線段算法計算不同的移動模式,3,、將模式標準化,4,、設定前進速率,按照設定好的移動模式移動,當到達線段的端點時檢查移動數組,以確定移動方向。,到目前為止,我們討論的群聚規(guī)給大家留下了深刻印象。然而,像這樣的群聚行為如果

5、在游戲中,這些單位以群體形態(tài)移動式,還能避免撞上游戲世界里的物體,那就更實用了。,實際上加入避開障礙物的行為其實相當簡單,我們所要做的就是提供某種機制給那些單位使用,讓他們看到前方,再施加適當的轉向力,使其避開路徑中的障礙物。,首先,我們運算向量,a,,這只是該單位和障礙物位置間的差值,接著,取,a,和,v,的內積,將,a,投射到,v,上,由此可得向量,p,,把向量,p,減去向量,a,,可得向量,b,,現在要測試,v,是否和圓的某處相交,得測試兩種情況。,1.p,的數值必須小于,v,的數值。,2.b,的數值必須小于該障礙物的半徑,r,。如果兩者都是如此,則需要校正轉向力,否則,該單位可繼續(xù)沿當

6、前方向前進。,追隨領頭者,對基本群聚算法的修改不必只限于避開障礙物。因為來自于各種規(guī)則的轉向力都在同一變量中累加,然后一次施加,以控制該單位的方向,所以,我們還可以在考慮過的規(guī)則之上在疊加其他許多有效的規(guī)則。,其中一條有趣的外加規(guī)則,就是跟隨領頭者規(guī)則。如前所述,我們討論的群聚規(guī)則是沒有領頭者的,然而,如果我們把基本群聚算法和某些領頭者,AI,結合起來,就可以在游戲中使用群聚功能時,開啟許多新的可能效果。,如果我們在其中加入領頭者,就能讓群體的移動更有目的性,或者看起來比較有智能。,我們來看看一個實際例子:,另一種群聚方法,簡化集群技術,Reynolds,的群聚算法已經被很好地證明了,而且在生

7、成若干組智能體的逼真動作效果非常好。但是,該算法在計算上的開銷大,尤其是在有大量智能體或者有復雜場景需要探測的時候。因此,他們有時候不適合實時的應用程序,比如電視游戲。,所以我們有必要對集群技術進一步的進行簡化。,群聚算法在模擬少量或中等數量的生物的自然行為時是完美的,尤其當這些生物的運動(而不是生物和生物之間的影響、以及生物和場景之間的互動)是主要的關注焦點的游戲中(例如任天堂的,Pikmin,)。,但是,隨著生物個數的增加,傳統(tǒng)的群聚算法開銷越來越大。在群聚中每個智能體必須檢查其他所有智能體以確定是否因距離太近而產生影響,在這種情況下,如果存在,n,個智能體的場景,需要計算,1/2(n),

8、次獨立的距離計算(給出中間的結果儲存在交互的數組里)。那么分離規(guī)則,隊列規(guī)則和聚合規(guī)則必須對每個智能體計算它附近的每個智能體。另一方面,因為影響是相互的,所以保存中間結果可以使計算量減半。,那么如何對集群技術進行簡化呢?,以下將對如何對集群技術進行簡化給出兩點方法:,1.,從群體初始化方面入手。,2.,從群體運動方面入手。,參考資料:,人工智能游戲編程真言,-,清華大學出版社,游戲開發(fā)中的人工智能,-,東南大學出版社,游戲設計概論,清華大學出版社,參考網站:,http:/ operator,(重載運算符)會替我們做向量加法。,DoUnitAI,()找出鄰近單位并收集信息后,就可以使用群聚規(guī)則了

9、。,此段程序第一件事是檢查鄰近單位數量是否大于,0.,如果是,我們就能繼續(xù)計算鄰近單位的平均位置。做法是以所有鄰近單位位置的向量總和,Pave,除以鄰近單位數量,N,。,最后一行就是實際計算滿足凝聚規(guī)則的轉向力。,凝聚,基本上,累加在,FS.X,的轉向力是當前單位的方向,以及其鄰近單位平均位置向量間的角度的線性函數,也就是說,如果角度大,則轉向力也會相對較大;如果角度小,則轉向力也會相對較小。這正是我們想要的。如果當前單位的方向和鄰近單位的平均位置的方向相距很遠,我們會想讓他做大幅度的轉彎。如果其方向和鄰近單位平均位置的方向不太遠,我們只想對其方向做小范圍的修正。,返回,對齊,對齊意指我們想讓

10、群聚中的所有單位都大致朝相同方向前進。為了滿足這條規(guī)則,每個單位都應該在行進時,試著以等同其鄰近單位平均方向的方向來前進。,中間以粗線表示單位是沿著和其相連的粗箭頭方向進行的。另外和其相連的虛線箭頭則代表其鄰近單位的平均方向。因此,就此而言,以粗線表示的單位必須朝右側行進。,我們可以利用每個單位的速度向量求出其方向。把每個單位的速度向量,換算成單位向量,就可以得出其方位向量。上面收集鄰近單位方向數據的過程,那一行,Vave+=Unitsj.vVelocity;,會把每個鄰近單位的速度向量累加在,Vave,中,其做法類似于,Pave,累加位置過程。,這段代碼計算了每個單位的對齊轉向力。代碼幾乎和

11、上面聚集差聚集規(guī)則一樣。此處不再處理鄰近單位的平均位置,而是把,Vave,除以鄰近單位數量,N,,先求出當前單位鄰近單位的平均方向。所得結果儲存在,u,中,并換算成單位向量,則為平均向量。,返,回,就此例而言,轉向力是當前單位方向,及其鄰近單位平均方向間角度的線性函數。同意的,只要當前單位的方向,和其鄰近單位的平均方向很接近,則只需稍微作調整。,分隔,分隔意指我們想讓每個單位彼此間保持最小距離,即使根據凝聚和對齊規(guī)則,他們會試著靠近一點。我們不想讓那些單位撞在一起,或者更糟的是,在某個巧合地點重合在一起。因此,我們要采用分隔手段,讓每個單位和其視野內的鄰近單位保持某一預定的最小分隔距離,處理分

12、隔的程序和處理凝聚及對齊的只有一點不同,因為就分隔而言,求算適當的轉向力校正值時,我們必須逐一檢視每個鄰近單位,而不是使用所有鄰近單位的某個平均值。,返,回,演講完畢,謝謝觀看!,內容總結,人工智能。比如說:你看到的是一群大雁,它們的飛行是有一定的規(guī)律,而且你完全可以看出來它們會排成一字或者人字,不會是亂糟糟的飛行。1,單位的視野,我們以r為單位的視野半徑,以為視野角度,落在這個圓弧內的所有物體都是可見的。2,避開規(guī)則(Avoidance rule),單位不會被彼此撞上。計算智能體的位置和目標對象的位置之間的差異,給出x,y和z坐標的增量。鄰近單位的平均位置很容易計算,只要找出鄰近單位后,其平均位置就是其各個位置的向量總和,再除以總鄰近單位數?;旧希奂釉贔S.X的轉向力是當前單位的方向,以及其鄰近單位平均位置向量間的角度的線性函數,也就是說,如果角度大,則轉向力也會相對較大。如果當前單位的方向和鄰近單位的平均位置的方向相距很遠,我們會想讓他做大幅度的轉彎。如果其方向和鄰近單位平均位置的方向不太遠,我們只想對其方向做小范圍的修正。另外和其相連的虛線箭頭則代表其鄰近單位的平均方向,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  sobing.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!