麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種尋路方法以及裝置與流程

文檔序號:11676845閱讀:432來源:國知局
本發明涉及地圖尋路技術,尤其涉及到一種尋路方法以及裝置。
背景技術
::a*搜尋算法俗稱a星算法,這是一種在圖形平面上從多個節點的路徑中求出最低通過成本的算法。常用于游戲中的玩家角色(英文全稱:playercharacter,縮寫:pc)的移動計算,或線上游戲的機器人(robot)的移動計算上?,F有技術中存在導航網格尋路技術,是將游戲地圖中的行走區域劃分成若干導航網格,然后使用a星算法實現尋路。該a星算法將尋路區域分成多個相連的多邊形網格(例如三角形),每個多邊形網格是尋路的節點。從起點到目標點的導航網格尋路,就是計算從起點所在的網格,到目標點所在的網格,中間需要經過哪些網格路徑。想要得到這些網格路徑列表,現有技術中一般采用a星算法計算出需要經過的導航網格路徑列表,得出需要經過的導航網格路徑列表后,再計算通行的路徑點列表,將路徑點連線,即是最終確定出的尋路路徑。然而,在現有技術中每次進行尋路都會應用a星算法,由于a星算法比較耗時,導致計算尋路路徑的過程比較耗時。技術實現要素:本發明實施例提供了一種尋路方法以及裝置,用于根據目標對象的起始點與目標點之間所處的尋路地形,采用對應的尋路策略,在包含多種尋路地形的游戲場景地圖的情況下,可以有效地減少在尋路過程中使用a星算法,從而減少計算尋路路徑的時間。有鑒于此,本發明實施例第一方面提供了一種尋路方法,該尋路方法包括:確定目標對象的起始點以及目標點;根據所述起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形;根據所述尋路地形的類型對所述目標對象采取與所述類型對應的尋路策略,其中,不同類型的尋路地形配置有不同的尋路策略。本發明實施例第二方面提供了一種尋路裝置,包括:第一確定模塊,用于確定目標對象的起始點以及目標點;第二確定模塊,用于根據所述第一確定模塊確定的所述起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形;尋路模塊,用于根據所述第二確定模塊確定的所述尋路地形的類型對所述目標對象采取與所述類型對應的尋路策略,其中,不同類型的尋路地形配置有不同的尋路策略。從以上技術方案可以看出,本發明實施例提出了一種尋路方法,確定目標對象的起始點以及目標點,根據所述起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形,根據所述尋路地形的類型對所述目標對象采取與所述類型對應的尋路策略,其中,不同類型的尋路地形配置有不同的尋路策略。即在本發明實施例中,不是采用的一刀切的方式,即不是每次尋路,都會應用a星算法這一尋路策略進行尋路,而是根據目標對象的起始點與目標點之間所處的尋路地形,在采用尋路地形的類型對應的尋路策略,在包含多種尋路地形的地圖的情況下,可以有效地減少在尋路過程中使用a星算法,從而減少計算尋路路徑的時間。附圖說明為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域技術人員來講,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例一種尋路方法中一個游戲場景地圖示意圖;圖2為本發明實施例一種尋路方法中另一游戲場景地圖示意圖;圖3為本發明實施例一種尋路方法中管道尋路地形一個索引方式示意圖;圖4為本發明實施例一種尋路方法另一游戲場景地圖示意圖;圖5為本發明實施例一種尋路方法一個實施例流程示意圖;圖6為本發明實施例一種尋路方法另一實施例流程示意圖;圖7為本發明實施例一種尋路裝置另一實施例結構示意圖;圖8為本發明實施例一種尋路裝置另一實施例結構示意圖。具體實施方式本發明實施例提供了一種尋路方法以及裝置,用于根據目標對象的起始點與目標點之間所處的尋路地形采用對應的尋路策略,在包含多種尋路地形的地圖的情況下,可以有效地減少在尋路過程中使用a星算法,從而減少計算尋路路徑的時間。為了使本
技術領域
:的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例?;诒景l明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的實施例能夠以除了在這里圖示或描述的內容以外的順序實施。此外,術語“包括”和以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。為了便于理解本發明實施例,下面先將介紹下本發明實施例涉及到的一些基本概念以及總的核心思想。本發明實施例將游戲場景地圖劃分為可行走區域以及不可行走區域,其中,游戲場景地圖中的可行走區域又劃分成若干個導航網格,具體將可行走區域劃分為多少個導航網格由實際游戲場景地圖以及所采用的導航網格生成方式確定,具體此處不做限定。導航網格生成方式可以是通過手動方式生成導航網格,即通過人工配置生成,手動生成方式常用于游戲場景地圖比較小,簡單的情況下使用。也可以是通過自動方式生成導航網格,即通過一些導航網格自動生成算法,例如點集的三角剖分算法(delaunaytriangulationalgorithm)等算法,自動生成方式常用于游戲場景地圖比較大,復雜的情況下使用,可以減少手動生成方式帶來的繁瑣操作。本發明實施例核心點在于首先根據目標對象,即游戲場景地圖中的控制對象在可行走區域中的起始點以及目標點的位置,識別出目標對象本次尋路是否出現本發明實施例指定的特殊地形,如果有,則避開使用a星算法,針對具體的特殊地形,采用該特殊地形的類型相應的尋路策略。如果沒有本發明實施例指定的特殊地形,則使用a星算法,尋找起始點到目標點所要經過的一系列導航網格,最后生成尋路路徑。為了便于理解,下面將結合具體的游戲場景圖對本發明實施中的游戲場景地圖的劃分以及本發明實施例所提的特殊地形先做介紹:如圖1所示的,圖1為本發明實施例一種尋路方法一個游戲場景地圖示意圖,本發明實施例中將圖1所示的游戲場景地圖劃分為可行走區域以及不可行走區域,粗黑線外的區域為不可行走區域(在游戲場景中為建筑物等障礙),在不可行走區域中沒有劃分導航網格,粗黑線表示游戲場景地圖中目標對象的不可通過邊,粗黑線內的區域為可行走區域,本發明實施例中將可行走區域劃分為若干個導航網格,生成對應的導航網格數據。其中,導航網格優選地劃分三個角形導航網格,為了便于說明,下面在本發明實施例中所描述的導航網格均以三角形導航網格進行描述,如圖1中的細黑線所構成的三角形導航網格。另外需要說明的是,在本發明實施例中,可行走區域中的導航網格還可以是其他的多邊形,例如四邊形等,具體在本發明實施例中不做限定。如圖2所示,圖2為本發明實施例一種尋路方法另一游戲場景地圖示意圖,在本發明實施例中,將游戲場景地圖的可行走區域的尋路地形劃分為如下三類尋路地形:1、特殊地形一:直線尋路地形,直線尋路地形是指目標對象在起始點到目標點可直線行走的地形,則說明目標對象的在起始點到目標點之間的尋路地形為直線尋路地形。比如在圖2中,目標對象的起始點為a點,目標點為b點,而a點到b點之間可直線行走(無障礙物),則說明目標對象在a點到b點在游戲場景地圖的尋路地形為直線尋路地形。2、特殊地形二:管道尋路地形,管道尋路地形是指目標對象在起始點至目標點的地形不是直線可行走地形,呈現“管道式”形狀,管道內的三角形導航網格序列具有連續的導航索引,管道周圍的邊為不可通過邊,管道內的每個三角形導航網格有且僅有一個邊是不可通過邊,且延管道的任一方向,三角形導航網格的索引值是連續的,比如上圖2所示,目標對象從a點到b點的尋路地形即是管道尋路地形。在本發明實施例中,通過游戲設計人員人為勾出出管道尋路地形,在起始點往目標點方向,為管道尋路地形中的三角形導航網格進行索引編號,生成三角形導航網格序列索引值,并記錄生成的索引值,具體如圖3所示,圖3為本發明實施例一種尋路方法中管道尋路地形一個索引方式示意圖。需要說明的是,圖3所示的導航網格序列索引方式在這里只是舉例說明,在實際應用中可以有多種索引方式,具體此處不做限定。3、地形三:將不是上述直線尋路地形,以及不是上述管道尋路地形的尋路地形在本發明實施例中定義為地形三,具體如圖4所示,圖4為本發明實施例一種尋路方法另一游戲場景地圖示意圖,目標對象(許翠柏)從當前位置,尋路到孫鐵匠處,有上下兩條路線,中間的假山,即為障礙物。這種地形,說明既不是上述描述中的可直線行走的地形,也不是上述描述中的管道尋路地形。在本發明實施例中,通過識別游戲場景地圖中的控制對象在可行走區域中的起始點以及目標點的位置,識別本次尋路是否出現本發明實施例指定的直線尋路地形以及管道尋路地形,如果有,則避開使用a星算法,針對具體尋路地形,采用尋路地形的類型相應的尋路策略。下面通過具體的實施例對本發明實施例進行描述:請參閱圖5,圖5為本發明實施例一種尋路方法一個實施例流程示意圖,包括:101、確定目標對象的起始點以及目標點。在用戶操作目標對象,即操作游戲場景中的被控制對象時,一般會通過點擊目標點,在本發明實施例,可以確定目標對象在游戲場景地圖中的起始點以及目標點。本發明實施例主要適用于安裝有游戲應用的終端設備中,例如,該終端設備可以是包括,但不局限于電腦,手機,筆記本,個人數字助理(英文全稱:personaldigitalassistant,縮寫:pda)等終端設備,具體此處不做限定。另外需要說明的是,本發明實施例適用于各種各樣的游戲應用中,比如游戲應用泛指各種各樣的角色扮演游戲(role-playinggame)類的單機游戲或網頁游戲等,例如以手機游戲為例,具體可以是指王者榮耀、王者之劍,等新御劍天涯手機游戲,具體此處不做任何限定。102、根據所述起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形。當確定了目標對象的起始點以及目標點之后,根據起始點以及目標點確定目標對象在游戲場景地圖上的尋路地形。103、根據所述尋路地形的類型對所述目標對象采取與所述類型對應的尋路策略。在本發明實施例中,當根據目標對象的起始點以及目標點確定了目標對象的在游戲場景地圖上的尋路地形后,根據尋路地形的類型對目標對象采取與尋路地形的類型對應的尋路策略,其中,不同的尋路地形的類型配置有不同的尋路策略。從以上技術方案可以看出,本發明實施例提出了一種尋路方法,通過確定目標對象的起始點以及目標點,根據所述起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形,根據所述尋路地形的類型對所述目標對象采取與所述類型對應的尋路策略,其中,不同類型的尋路地形配置有不同的尋路策略。即在本發明實施例中,不是采用的一刀切的方式,即不是每次尋路,都會應用a星算法這一尋路策略進行尋路,而是根據目標對象的起始點與目標點之間所處的尋路地形是不是本發明實施中描述的特殊地形,再根據尋路地形的類型采用對應的尋路策略,可以有效地減少在尋路過程中使用a星算法,從而減少計算尋路路徑的時間。其中,在本發明實施例中,所述游戲場景地圖被劃分出可行走區域,所述可行走區域被劃分為至少2個導航網格,其中,具體的可行走區域被劃分為多少個導航網格由實際的游戲場景地圖確定,具體此處不做限定。另外,優選地,在本發明實施例中,導航網格優選為三角形導航網格,還可以是其他的多邊形導航網格,例如四變形等,具體此處不做限定。所述根據起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形,包括:a、確定所述目標點是否在第一導航網格內,若所述目標點在所述第一導航網格內,則確定所述尋路地形為所述直線尋路地形,其中,所述第一導航網格為所述起始點所在的導航網格,應理解,起始點與目標點在同一導航網格內,則起始點與目標點必定在同一平面上,即起始點與目標點必定能直線行走,起始點到目標點在游戲場景地圖中的尋路地形為直線尋路地形。b、若所述目標點不在所述第一導航網格內,則確定所述第一導航網格是否有可通過邊與目標射線相交,所述目標射線為所述起始點到所述目標點的射線;c、若確定所述第一導航網格有可通過邊與所述目標射線相交,則將所述第二導航網格作為所述第一導航網格,所述第二導航網格為所述可通過邊相鄰的導航網格;d、重新執行步驟a至c,直至確定所述第一導航網格無可通過邊與所述目標射線相交;e、若確定所述第一導航網格無可通過邊與所述目標射線相交,則確定所述尋路地形不是所述直線尋路地形。即在本發明實施例中,首先通過確定起始點與目標點是否同在一導航網格內,若在則說明起始點與目標點之間肯定在同一個平面上,目標對象從起始點往目標點可直線行走,說明目標對象在起始點與目標點之前的尋路地形為直線尋路地形。若起始點與目標點不在同一導航網格內,此時則通過起始點與目標點之間的射線,判斷目標對象在始點與目標點之間的尋路地形是否為直線尋路地形。在本發明實施例中,在一種可能的實現中,所述游戲場景地圖中的可行走區域的2導航網格作為導航網格序列,其中,所述導航網格序列中的導航網格相鄰,本發明實施例中的導航網格序列為前述描述中,人為配置的管道尋路地形中的導航網格序列,導航網格序列配置有對應的索引值。所述根據所述起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形,還包括:當確定所述尋路地形不是所述直線尋路地形時,確定所述第一導航網格與第三導航網格是否在同一導航網格序列中,其中,所述第三導航網格為所述目標點所在的導航網格;若是,則確定所述尋路地形為管道尋路地形;若否,則確定所述尋路地形不是所述管道尋路地形。即上述提出了一種確定起始點到目標點在游戲場景地圖中是否為直線尋路地形,以及是否為管道尋路地形的方法,增加了方案的可實施性。為了便于理解上述描述的確定尋路地形是否為直線尋路地形以及管道尋路地形的方式,下面通過具體例子對直線尋路地形以及管道尋路地形的識別過程分別進行舉例說明;一、關于直線尋路地形識別過程:1、假設在本發明實施例中,游戲場景地圖中可行走區域被劃分為三角形導航網格數據為data1,在該data1中包含每個三角形導航網格的對應的索引值,假設目標對象的起始點為a,目標點為b,從a點到b點打一條射線,記為r。2、設三角形導航網格t1為a所在的三角形導航網格。3、檢測目標點b是否在t1內,如果檢測到目標點b在t1內,說明a以及b在同一個三角形導航網內,則算法結束,說明從a點到b點可直線行走,即a點到b點在游戲場景地圖上的地形為直線尋路地形。4、若在步驟2中確定出目標點b不在t1內,則比較t1是否有可通過邊與r相交,如果t1沒有可通過邊與r相交,則算法結束,說明a點到b點之間直線行走時存在障礙物,即從a點到b點不可直線行走。如果t1有可通過邊與r相交,則從data1取出該t1可通過邊的相鄰三角形導航網格,記為t2;5、將t2賦給t1,即t1=t2,重新執行上述步驟。通過上述步驟可以判斷出起始點a與目標點b之間在游戲場景地圖上的尋路地形是否為直線尋路地形。其中,需要說明的是,在本發明實施例,確定一個點是否在一個三角形導航網格內有多種方法,例如,以上述例子為例,確定目標點b是否在t1內有多種檢測方法,比如通過以下向量法的方式進行計算:假設三角形為t,三角形的三個頂點分別為p1、p2以及p3。計算向量p1p2和向量p1b的叉乘,記為v1,計算向量p2p3和向量p2b的叉乘,記為v2,計算向量p3p1和向量p3b的叉乘,記為v3。其中,上述v1、v2、v3是三維向量,記他們的三維值分別為z1、z2、z3。比較z1、z2、z3符號,如果都相同,則說明b點在t1內,有不相同的,則說明b點不在t1內。需要說明的是,確定一個點是否在一個三角形內可以有多種方法,具體此處不做限定。比如面積法,例如通過面積法確定一個點是否在一個三角形內,例如,如果三角形bp1p2、bp1p3和bp2p3的面積之和與三角形p1p2p3的面積相等,則可確定點b在三角形p1p2p3內。又比如,還可以通過線段法確定一個點是否在一個三角形導航網格內,例如以下一個簡單的線段法:如果線段bp1與線段bp3、或者線段bp2與線段p1cp3、或者線段p2p3與線段p1p2有交點,則可確定點b在三角形p1p2p2之外,反之,則可確定b點在三角形p1p2p2內。二、關于管道尋路地形識別過程:1、假設人為配置的管道尋路地形中的導航網格序列數據為data2,當確定尋路地形不是直線尋路地形后,確定a點所在的三角形導航網格,從data1中取出a點所在的三角形導航網格對應的索引值,記為m1;確定b點所在的三角形導航網格,從data1中取出b點所在的三角形導航網格的索引值,記為m2。2、遍歷本發明實施例游戲地圖場景中所有的data2數據,如果m1和m2都屬于某一data2數據的三角形導航網格序列中的值,則a點到b點尋路的尋路地形是個管道尋路地形,否則不是。在本發明實施例中,所述根據所述尋路地形采用對應的尋路策略,包括:當所述尋路地形為所述直線尋路地形時,則將所述起始點以及目標點的直線連接路徑作為所述目標對象的尋路路徑進行尋路;當所述尋路地形為所述管道尋路地形時,則將所述起始點與所述目標點之間的導航網格序列作為所述目標對象的尋路路徑進行尋路。比如,假設起始點所處的三角形導航網格索引值是t0,目標點所處的三角形導航網索引值是tn,則[t0,tn]的三角形導航網格序列的索引區間,即是尋路路徑對應的三角形導航網格序列。當所述尋路地形不是所述直線尋路地形,并且不是所述管道尋路地形時,則根據a星算法計算所述目標對象的尋路路徑進行尋路。即在本發明實施例中,不是采用的一刀切的方式,即不是每次尋路,都會應用a星算法這一尋路策略進行尋路,而是根據目標對象的起始點與目標點之間所處的尋路地形是不是本發明實施中的特殊地形,再根據尋路地形的類型采用對應的尋路策略,可以有效地減少在尋路過程中使用a星算法,從而減少計算尋路路徑的時間。在本發明實施例中,所述根據a星算法計算所述目標對象的尋路路徑進行尋路,包括:將所述第一導航網格的邊上的中點到所述目標點的直線距離作為所述a星算法的估值函數;根據所述估值函數,通過所述a星算法計算所述目標對象的尋路路徑進行尋路。即在本發明實施例中,如果直線尋路地形以及管道尋路地形都沒有識別出來,則采用優化后的a星算法對a點到b點進行尋路,其中優化的部分是估值函數。為了便于理解,下面先對a星算法做個簡單的介紹:由前述
背景技術
:描述可知,a星算法,是一種啟發式的算法,是對于一個有多個尋路節點的地圖上找到起始點到達目標點的算法。假設從尋路起始點到地圖中任何節點的距離表示為g(m),該任何節點至尋路目標點距離設為h(m),那么本算法的公式可以表示為:f(m)=g(m)+h(m);其中,a星算法的步驟可以概括為:1、假設尋路地圖存在有很多節點(node),包括尋路的起始點s和尋路目標點e。2、將與尋路起始點s相鄰的所有節點依次加入一個表,記為open_table。3、遍歷open_table表中所有的node,依次求出每個node的f(m)值,即open_table表中每個node到尋路目標點e的距離,設f(m)值最小的node是p,則將p從open_table表去除,并加入到另一個表closed_table中。4、遍歷與上述節點p相鄰的所有節點,如果遍歷的節點在closed_table中,則不做任何處理,如果遍歷的節點在上述open_table中,假設遍歷出的節點為節點1,則求出節點1到達目標點的f(m)值,若節點1到達目標點的f(m)值小于已有的f(m)值,則更新該節點1的f(m)值為最新的f(m)值。如果遍歷出的節點1不在上述open_table表中,則把節點1加到open_table中。5、重復執行步驟3和步驟4,直到發現節點p相鄰的所有節點中,有節點為尋路目標點e,則尋路結束。6、如果步驟5中找到尋路目標點e,則依次遍歷節點p的路徑節點,得到到達目標點所要經過的節點列表。在本發明實施例中,三角形導航網格的邊,即為上述a星算法介紹中的節點,估值函數h(m),即為三角形導航網格的邊的中點至目標點的距離。即本方案采用三角形邊的中點到目標點的直線距離,作為估值函數的值,而不是三角形導航網格三角形的頂點至目標點的距離作為估值函數的值,經這一優化后,大大降低了目標對象在尋路采用a星算法時發生繞遠情況的發生。至此,本發明實施例方法部分介紹完畢,下面結合具體圖6所示的流程圖對本發明實施例的完整流程進行簡要概括:相關美術人員制作游戲場景的完整場景圖,美術人員將該場景圖導入3dsmax軟件中,并將不可行走區域進行“勾邊”,使用3dsmax軟件自身的功能,生成三角形導航網格數據,在生成的三角形導航網格中,通過人為方式識別出管道尋路地形,當從起始點a點向目標點b點尋路時,a點到b點是否屬于直線尋路地形,若是則從a到b的直線連接路徑作為尋路路徑進行尋路;若不是直線尋路地形,則識別a點到b點是否屬于管道尋路地形,若識別a點到b點是管道尋路地形,則從a到b的導航網格序列作為尋路路徑進行尋路,若識別a點到b點不是管道尋路地形,則采用本發明實施例中優化后的a星算法進行描述,具體細節詳見上述實施例中對應的描述。上面對本發明實施例中一種尋路方法進行了介紹,下面對本發明實施例中的尋路裝置進行介紹:請參閱圖7,圖7為本發明實施例一種尋路裝置一個實施例結構示意圖,包括:第一確定模塊101,用于確定目標對象的起始點以及目標點;第二確定模塊102,用于根據所述第一確定模塊101確定的所述起始點以及目標點確定所述目標對象在游戲場景地圖上的尋路地形;尋路模塊103,用于根據所述第二確定模塊102確定的所述尋路地形的類型對所述目標對象采取與所述類型對應的尋路策略,其中,不同類型的尋路地形配置有不同的尋路策略。在一種可能的實現中,所述游戲場景地圖被劃分出可行走區域,所述可行走區域被劃分為至少2個導航網格;所述第二確定模塊102具體用于:a、確定所述目標點是否在第一導航網格內,若所述目標點在所述第一導航網格內,則確定所述尋路地形為所述直線尋路地形,所述第一導航網格為所述起始點所在的導航網格;b、若所述目標點不在所述第一導航網格內,則確定所述第一導航網格是否有可通過邊與目標射線相交,所述目標射線為所述起始點到所述目標點的射線;c、若確定所述第一導航網格有可通過邊與所述目標射線相交,則將所述第二導航網格作為所述第一導航網格,所述第二導航網格為所述可通過邊相鄰的導航網格;d、重新執行步驟a至c,直至確定所述第一導航網格無可通過邊與所述目標射線相交;e、若確定所述第一導航網格無可通過邊與所述目標射線相交,則確定所述尋路地形不是所述直線尋路地形。在一種可能的實現中,所述游戲場景地圖中的至少2導航網格作為導航網格序列,所述導航網格序列中的導航網格相鄰;所述第二確定模塊102具體還用于:當確定所述尋路地形不是所述直線尋路地形時,確定所述第一導航網格與第三導航網格是否在同一導航網格序列中,所述第三導航網格為所述目標點所在的導航網格;若是,則確定所述尋路地形為管道尋路地形;若否,則確定所述尋路地形不是所述管道尋路地形。在一種可能的實現中,所述尋路模塊具體用于:當所述尋路地形為所述直線尋路地形時,則將所述起始點以及目標點的直線連接路徑作為所述目標對象的尋路路徑進行尋路;當所述尋路地形為所述管道尋路地形時,則將所述起始點與所述目標點之間的導航網格序列作為所述目標對象的尋路路徑進行尋路;當所述尋路地形不是所述直線尋路地形,并且不是所述管道尋路地形時,則根據a星算法計算所述目標對象的尋路路徑進行尋路。在一種可能的實現中,所述尋路模塊具體用于包括:當所述尋路地形不是所述直線尋路地形,并且不是所述管道尋路地形時,將所述第一導航網格的邊上的中點到所述目標點的直線距離作為所述a星算法的估值函數;根據所述估值函數,通過所述a星算法計算所述目標對象的尋路路徑進行尋路。上面從模塊化功能的角度對本申請實施例中的尋路裝置進行了描述,下面從硬件處理的角度對本申請實施例中的尋路裝置進行描述,如圖8所示,為了便于說明,僅示出了與本申請實施例相關的部分,具體技術細節未揭示的,請參照本申請實施例對應的方法部分,請參閱圖8,本申請實施例提供的一種尋路裝置另一實例結構示意圖,該尋路裝置200包括處理器201、存儲器202和通信接口203。其中,處理器201、存儲器202和通信接口203之間通過總線204相互連接。處理器201是尋路裝置200的控制中心,利用各種接口和線路連接整個尋路裝置各個部分,例如通過總線的方式進行連接,通過運行或執行存儲在存儲器202內的軟件程序和/或模塊,以及調用存儲在存儲器202內的數據,執行尋路裝置的各種功能和處理數據,可選的,處理器201可包括一個或多個處理單元;優選的,處理器201可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信。可以理解的是,上述調制解調處理器也可以不集成到處理器201中。其中,處理器201可以是中央處理器(英文全稱:centralprocessingunit,縮寫:cpu),網絡處理器(英文全稱:networkprocessor,縮寫:np)或者cpu和np的組合。處理器還可以進一步包括硬件芯片,具體可以是專用集成電路(英文全稱:application-specificintegratedcircuit,縮寫:asic),可編程邏輯器(英文全稱:programmablelogicdevice,縮寫:pld)或其組合。另外pld可以是復雜可編程邏輯器件(英文全稱:complexprogrammablelogicdevice,縮寫:cpld),現場可編程邏輯門陣列(英文全稱:field-programmablegatearray,縮寫:fpga),通用陣列邏輯(英文全稱:genericarraylogic,縮寫:gal)或其任意組合,在本發明實施例中不做任何限定。存儲器202可以包括易失性存儲器(英文全稱:volatilememory),例如隨機存取存儲器(英文全稱:random-accessmemory,縮寫:ram);存儲器也可以包括非易失性存儲器(英文全稱:non-volatilememory),例如快閃存儲器(英文全稱:flashmemory),硬盤(英文全稱:harddiskdrive,縮寫:hdd)或固態硬盤(英文全稱:solid-statedrive,縮寫:ssd);存儲器還可以包括上述種類的存儲器的組合??偩€204可以是外設部件互連標準(英文全稱:peripheralcomponentinterconnect,縮寫:pci)總線或擴展工業標準結構(英文全稱:extendedindustrystandardarchitecture,縮寫:eisa)總線等。所述總線還可以分為地址總線、數據總線、控制總線等。為便于表示,圖8僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。其中,通信接口203用于發送或者接收上述對應方法實施例中所用到的指令或者信息,例如接收用戶的對游戲場景地圖中,目標對象的操作指令,從而本發明實施例中的尋路裝置可以確定出目標對象尋路的起始點以及目標點。另外,本發明實施例中的尋路裝置,還可以包括射頻(rf)電路,通過rf電路實現通信接口203的功能更,可用于測試消息的接收和發送,此外,rf電路還可以通過無線通信與網絡和其他設備通信。上述無線通信可以使用任一通信標準或協議,包括但不限于全球移動通訊系統(英文全稱:globalsystemofmobilecommunication,縮寫:gsm)、通用分組無線服務(英文全稱:generalpacketradioservice,縮寫:gprs)、碼分多址(英文全稱:codedivisionmultipleaccess,縮寫:cdma)、寬帶碼分多址(英文全稱:widebandcodedivisionmultipleaccess,縮寫:wcdma)、長期演進(英文全稱:longtermevolution,縮寫:lte)、電子郵件、短消息服務(英文全稱:shortmessagingservice,縮寫:sms)等。存儲器202可以存儲程序代碼205,還可以存儲上述方法實施例中尋路裝置所用到的數據206,例如數據206可以是上述方法實施例描述到數據,生成的導航網格數據。處理器201可以調用該存儲器中存儲的程序代碼205,執行上述方法實施例中對應的步驟,使得最終尋路裝置可以實現上述方法實施例中的行為或功能。其中,在本發明實施例中,處理器201被配置用于執行以下功能:確定目標對象的起始點以及目標點;根據起始點以及目標點確定目標對象在游戲場景地圖上的尋路地形;根據尋路地形的類型對目標對象采取與類型對應的尋路策略,其中,不同類型的尋路地形配置有不同的尋路策略。在一種可能的實現中,游戲場景地圖被劃分出可行走區域,可行走區域被劃分為至少2個導航網格;處理器201還用于:a、確定目標點是否在第一導航網格內,若目標點在第一導航網格內,則確定尋路地形為直線尋路地形,第一導航網格為起始點所在的導航網格;b、若目標點不在第一導航網格內,則確定第一導航網格是否有可通過邊與目標射線相交,目標射線為起始點到目標點的射線;c、若確定第一導航網格有可通過邊與目標射線相交,則將第二導航網格作為第一導航網格,第二導航網格為可通過邊相鄰的導航網格;d、重新執行步驟a至c,直至確定第一導航網格無可通過邊與目標射線相交;e、若確定第一導航網格無可通過邊與目標射線相交,則確定尋路地形不是直線尋路地形。3、根據權利要求2的方法,其特征在于,游戲場景地圖中的至少2導航網格作為導航網格序列,導航網格序列中的導航網格相鄰;根據起始點以及目標點確定目標對象在游戲場景地圖上的尋路地形,還包括:當確定尋路地形不是直線尋路地形時,確定第一導航網格與第三導航網格是否在同一導航網格序列中,第三導航網格為目標點所在的導航網格;若是,則確定尋路地形為管道尋路地形;若否,則確定尋路地形不是管道尋路地形。在一種可能的實現中,處理器201還用于:當尋路地形為直線尋路地形時,則將起始點以及目標點的直線連接路徑作為目標對象的尋路路徑進行尋路;當尋路地形為管道尋路地形時,則將起始點與目標點之間的導航網格序列作為目標對象的尋路路徑進行尋路;當尋路地形不是直線尋路地形,并且不是管道尋路地形時,則根據a星算法計算目標對象的尋路路徑進行尋路。在一種可能的實現中,處理器201還用于:將第一導航網格的邊上的中點到目標點的直線距離作為a星算法的估值函數;根據估值函數,通過a星算法計算目標對象的尋路路徑進行尋路。資源處理裝置200還包括給各個部件供電的電源207(比如電池),優選的,電源可以通過電源管理系統與處理器201邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。另外,進一步地,本發明實施例中的尋路裝置還包括輸入單元、觸控面板以及其他的輸入設備,顯示單元等顯示裝置。需要說明的是,圖8中示出的尋路裝置系統結構并不構成對本發明實施例中的尋路裝置構成限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置,在此不一一贅述。本發明實施例中由尋路裝置200所執行的步驟可以基于該圖8所示的尋路裝置的結構示意圖,具體可以參考前述方法實施例的對應過程,在此不再贅述。在本發明實施例所提供的幾個實施例中,應該理解到,所揭露的系統,模塊和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。另外,在本發明各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。所述集成的模塊果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(英文全稱:read-onlymemory,縮寫:rom)、(英文全稱:ramdomaccessmemory,縮寫:ram)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本申請進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本申請各實施例技術方案的范圍。當前第1頁12當前第1頁12
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 建湖县| 黄浦区| 广汉市| 昭通市| 大冶市| 女性| 肇庆市| 郓城县| 本溪市| 若羌县| 长汀县| 仲巴县| 汝州市| 阿巴嘎旗| 阿克苏市| 辽源市| 巨鹿县| 崇阳县| 饶河县| 卓尼县| 青阳县| 商洛市| 永丰县| 仁布县| 恭城| 厦门市| 高州市| 调兵山市| 大方县| 灵丘县| 耒阳市| 贵阳市| 准格尔旗| 乐昌市| 凤庆县| 运城市| 沽源县| 连云港市| 娄底市| 那曲县| 昌吉市|