一種實現游戲人工智能真實感視覺的方法
【技術領域】
[0001] 本發明涉及一種實現游戲人工智能真實感視覺的方法,屬于計算機游戲領域。
【背景技術】
[0002] 游戲人工智能的表現在游戲中是重要的一部分,它與玩家進行直接的交互,直接 關系到玩家的游戲體驗,一個好的人工智能夠的提升游戲品質。
[0003] 隨著游戲的迅速發展,玩家們期望人工智能角色可以更逼真、更精細地感知游戲 世界。然而作為人工智能的核心部分,傳統游戲中的人工智能角色視覺模型是十分簡單的, 通常使用視距、視錐和視線檢查的組合。雖然這些基本的人工智能角色視覺模型功能十分 高效并且易于編寫,但它們對游戲玩家來說太過透明并且太過簡單。比如當人工智能角色 使用離散的距離來檢查視覺時,在超出一個特定的距離之后將會有絕對的盲區。玩家熟悉 這個漏洞后將會用它來操縱敵人的人工智能。比如玩家通過重復緩慢向前再跑開來從敵人 群體中引誘單獨的敵人。
[0004] 圖1為通常人工智能的視距、視錐、視線測試圖,目前大部分游戲中使用的三種核 心視覺計算分別是視距、視錐和視線。為了使這三種檢查具有效率通常會按順序來計算。這 是因為范圍測試十分高效,而視線測試的游戲資源消耗會比較大。圖2內容如下所示: 第一,簡單的視距檢查計算。測試距離的平方而不是真正的距離會更有效率,因為它避 免了平方根操作。可以計算向量的點乘來和視距的平方做比較。之所以可以應用距離平方 優化,是因為只關心相對的距離,而不是確切的距離。
[0005] 第二個,視錐測試。先將人工智能角色的向前向量歸一化,同樣將從人工智能角色 到玩家的向量歸一化,然后對它們進行點乘操作。如果結果大于0°角,玩家就在人工智能 角色的180°角的視錐中。如果結果大于0.5,玩家就在人工智能角色的120°角的視錐中。 作為優化,如果只需要測試180°角的視錐,則沒有必要歸一化向量,這樣可以排除掉兩個 平方根計算。
[0006] 第三,視線測試,這個執行最為耗費時間。測試會從人工智能角色的眼睛的水平髙 度向玩家的位置射出一條射線。如果在它碰到玩家之前碰到了任何幾何體,人工智能角色 就無法看到玩家。這種測試可以通過使用關卡幾何體的包圍盒來進行優化,而不是對單獨 的多邊形進行測試。為了測試世界中的物體,可以使用物體最低級別的LOD和包圍盒。這 三種測試是視覺模型的基礎。但這種簡單的視覺測試并不能很好地為人類視覺建模,特別 是視錐有很多缺點,具體如下所示:人工智能角色不可能看到它正后方的物體;視覺敏銳 度在視野的中心最高并隨著距離衰減,而視錐模型過分地估計了遠處的視覺區域,而對近 處的視覺區域估計不足;為了避免視覺遠處過大的區域,游戲開發人員會讓視距不真實地 變短。
【發明內容】
[0007] 針對現有技術人工智能視覺開發上的缺陷,對一般游戲人工智能視覺模型的現狀 與造成原因進行分析,總結了一種實現游戲人工智能真實感視覺的方法,使得游戲人工智 能角色的人工智能顯著提高,玩家的游戲體驗更好,使用橢圓區域構建人工智能同時也增 加了游戲的趣味性和娛樂性。
[0008] 本發明解決技術問題所采用的技術方案包括以下步驟: A、 調取游戲程序中人工智能角色與被檢測的物體及角色之間的距離信息,建立第一橢 圓區域,對第一橢圓區域配置所述距離信息,并且布置人工智能角色位于第一橢圓區域的 橢圓長軸的端點處; B、 檢測所述人工智能角色之外的物體及角色的位置,根據配置的距離信息計算物體及 角色處的區域位置,保存區域位置信息; C、 建立第二橢圓區域,對所述第二橢圓區域配置所述區域位置,使所述人工智能角色 位于第一橢圓區域中的橢圓焦點上,并且使人工智能角色的正前方遍布所述第二橢圓區 域,然后在第二橢圓區域的基礎上,進一步建立半圓區域,使人工智能角色位于所述半圓區 域的圓心上,并且使該人工智能角色的正前方遍布所述半圓區域; D、 采用離散測試方法對所述第二橢圓區域和所述半圓區域組合成的組合區域劃分為 多個子區域,并且對每個子區域分配用于辨識所述人工智能角色之外的物體及角色的辨識 概率值; E、 當等待辨識的物體及角色和/或所述人工智能角色的行為狀態和游戲屬性發生變 化時,動態修改與所述人工智能角色關聯的子區域中的辨識概率。進一步,該游戲人工智能 真實感視覺實現方法還包括:對二維游戲或三維游戲使用該二維橢圓曲線構造人工智能角 色視覺模型,如果游戲中對高度要求重要,則可以使用三維的橢圓曲線構造人工智能角色 視覺模型;對于正在識別物體、角色,當其距離變遠時,動態調整橢圓的軸長和人工智能角 色的視角角度,模擬視覺因距離變化導致的視覺缺口。
[0009] 進一步,所述游戲人工智能真實感視覺的方法步驟A包括:調取游戲程序中人工 智能角色與被檢測的物體及角色之間的距離信息,所述距離信息包括人工智能角色與被檢 測物體及角色的位置、距離長度、角度,還包括人工智能角色的視錐、視距、視角數據。
[0010] 進一步,所述游戲人工智能真實感視覺的方法步驟B包括:根據所述的距離信息, 檢測所述人工智能角色之外的物體及角色,計算人工智能角色之外的物體及角色到第一橢 圓區域兩個焦點的距離和,如果所述的距離和大于第一橢圓區域的長軸則表示物體及角色 在人工智能角色視距之外,此時則不進行下一步行為實施,如果所述距離和小于或等于第 一橢圓區域長軸則表示物體及角色在人工智能角色視距之內,此時可以進行下一步行為實 施。
[0011] 進一步,所述游戲人工智能真實感視覺的方法步驟C包括:使所述的第二橢圓區 域和半圓區域形成組合區域,所述組合區域為人工智能角色的辨識區域。
[0012] 進一步,所述游戲人工智能真實感視覺的方法步驟D包括:根據不同的視覺敏銳 度檢測效果,對每個子區域分配相應的不同的辨識概率值,因此對每個區域標記不同的辨 識概率,所述辨識概率為人工智能角色辨識物體及角色的概率,并且以高于上限閾值表示 完全被人工智能角色辨識,而以低于下限閾值則不會引起人工智能角色采取任何行為。
[0013] 優選地,所述游戲人工智能真實感視覺方法的步驟D還包括:所述的上限閾值為 100%,下限閾值為50%,在閾值為50%至100%中包含多個閾值段,在所述閾值段內人工智能 角色辨識成功后均會采取對應的行動。
[0014] 進一步,所述游戲人工智能真實感視覺的方法步驟E包括:當檢測到的物體及角 色的行為、所處區域、狀態發生變化時,根據物體及角色的行為、所處區域、狀態的不同,動 態修改人工智能角色辨識物體與角色的概率,當人工智能角色行為狀態發生變化時,也會 變動修改人工智能角色對物體及角色的辨識概率。
[0015] 進一步,所述游戲人工智能真實感視覺的方法步驟E還包括:對于處于特定的行 為或狀態的物體及角色,人工智能角色對物體及角色辨識概率會固定的變化,并且人工智 能角色所處的游戲環境變化,也會動態修改人工智能角色的辨識概率;對于處于第二橢圓 區域且在人工智能角色前方的物體及角色,會被人工智能角色完全辨識,處于第二橢圓區 域且在人工智能角色眼睛后方的物體及角色,并不會被完全辨識,以達到真實感視覺;對于 所述的人工智能角色的視覺,角度和距離的衰減而引起的人工智能角色的辨識率下降,符 合人類的視覺規則。
[0016] 進一步,所述游戲人工智能真實感視覺的方法還包括:對于所述步驟B,當人工智 能角色在檢測物體及角色過程中,物體及角色因移動導致其離開了人工智能的視距,此時 動態修改第一橢圓區域的人工智能角色視角大小和第一橢圓區域軸長長度以及時恢復對 物體及角色的檢測。
[0017] 進一步,所述游戲人工智能真實感視覺的方法還包括:在游戲中默認使用二維圖 元構造人工智能角色視覺的圖形區域,如果游戲對高度的要求重要,則使用三維圖元域構 造人工智能角色視覺圖形區域。
[0018] 本發明的有益效果為:橢圓區域構造的視覺模型對游戲人工智能角色連貫并詳細 的對游戲世界的認識。很多十分吸引人的特性被引入這個模型,這將會帶來十分豐富有趣 的游戲玩法。當玩家更好地理解了底層的視覺模型時,他們就可以設計創新的方法來操縱 人工智能角色,這會大大提高游戲體驗的質量。這種視覺模型給游戲NPC帶來更多的細節 以及真實感。同時它是一個十分靈活的模型,可以創建自己的視覺模型來配合并增強特定 的游戲設計,以達到增強游戲人工智能角色的真實感與人工智能的智能程度,增強游戲的 表現力與玩家的代入感,提高游戲的樂趣與游戲性的目的。
【附圖說明】
[0019]圖1所示為通常人工智能的視距、視錐、視線圖; 圖2所示為根據本發明實施方式的總體流程圖; 圖3所示為根據本發明實施方式的橢圓區域構造的人工智能視覺模型圖; 圖4所示為根據本發明實施方式的人工智能角色的辨識概率圖。
【具體實施方式】
[0020] 為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對 本發明進行詳細描述。本發明的一種實現游戲人工智能真實感視覺的方法適用于單機游 戲、手機游戲、網頁游戲等游戲的開發,尤其使用在非玩家角色(即人工智能角色)的人工 智能的游戲。
[0021] 圖1所示為根據本發明實施的流程圖,所述的流程為:使用可自定義編輯的橢圓 曲線構造人工智能角色的視覺模型;初始化橢圓曲線構造的人工智能角色的視覺模型,解 析并加載人工智能角色與所發現的物體、角色距離相關屬性,智能計算物體、角色是否進入 人工智能角色的可視范圍內;使用離散測試方法,檢測環境物體、角色,模擬人類真實視覺,