專利名稱:最優路徑搜索方法及系統的制作方法
技術領域:
本發明涉及路徑搜索技術,具體涉及一種最優路徑搜索方法及系統。
背景技術:
自動尋路是網絡游戲內玩家的一種基本需求,玩家只需要用鼠標選擇地圖上的一個目標節點,計算機通過尋路算法,搜索到一條最短的路徑,引導角色通過這條路徑走到目標節點。搜索最優的路徑往往需要計算機進行一段長時間的計算。在現有技術中,常用的最短路徑搜索算法有深度優先和廣度優先兩種,它們的特點是在給定的空間中進行窮舉,當空間非常大時,這兩種方法的效率就非常低,需要花費很長時間。網絡游戲中常用的是A-Star算法,它對每一個搜索的節點進行評估,得到“最好的節點”,再從這個節點進行搜索直到目標。這樣可以省略大量無用的搜索路徑,提高了效率。A-Star算法的公式是:f (n) = g (n) +h (η),其中,f (η)是節點η從初始節點到目標節點的估價函數,g(n)是在狀態空間中從初始節點到節點η的實際代價,h(n)是從節點η到目標節點最佳路徑的估計代價。h(n)用權值來估算,若h (η)越小,f (η)就越小,則節點η越有可能是“最好節點”。現有A-Atar算法仍然存在以下缺點:1.靈活性差:該算法直接固化在游戲程序中,所以對游戲內所有地圖的處理都是一樣的。地圖中所有節點的權值只有兩種:連通(權值為O),阻擋(權值為I),O表示游戲角色行走時可以經過這些節點,I表示該節點有障礙,不能經過。2.效率低:對于每一個權值為O的節點,A-Star算法根據程序內已經寫好的固定的估價函數對他們進行評估,選擇最好節點。這樣要遍歷搜索的節點仍然很多,效率不高。
發明內容
本發明實施例提供一種最優路徑搜索方法及系統,以提高路徑搜索的靈活性及效率。為此,本發明實施例提供如下技術方案:一種最優路徑搜索方法,包括:設置地圖中角色可以通過的節點的權值;在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價;選取所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點。優選地,所述設置地圖中角色可以通過的節點的權值包括:控制所述地圖中角色移動到所述角色可以通過的節點的位置;觸發所述節點的位置進入編輯狀態;根據所述節點的位置設置所述節點的權值;
將所述節點的位置信息及權值信息映射到對應所述地圖的阻擋圖中。優選地,所述觸發所述節點的位置進入編輯狀態包括:通過快捷鍵觸發所述節點的位置進入編輯狀態。優選地,所述阻擋圖為像素圖,所述地圖中的每個節點與對應所述地圖的像素圖中的一個像素點對應,不同權值的節點對應的像素點的顏色不同。可選地,所述根據所述節點的位置設置所述節點的權值包括:如果所述節點的位置在最優路徑上,則將所述節點的權值設置為小于O ;否則,將所述節點的權值設置為O。可選地,所述權值小于O ;所述根據所述節點的位置設置所述節點的權值包括:如果所述節點的位置在最優路徑上,則將所述節點的權值設置為最小。優選地,所述根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價包括:根據所述初始節點到所述相鄰節點的實際代價、所述相鄰節點到所述目標節點最佳路徑的估計代價、以及所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價。一種最優路徑搜索系統,包括:設置單元,用于設置地圖中角色可以通過的節點的權值;搜索單元,用于在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價;選取單元,用于選取所述搜索單元得到的所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點。優選地,所述設置單元包括:控制子單元,用于控制所述地圖中角色移動到所述角色可以通過的節點的位置;觸發子單元,用于觸發所述節點的位置進入編輯狀態;編輯子單元,用于根據所述節點的位置設置所述節點的權值;映射子單元,用于將所述節點的位置信息及權值信息映射到對應所述地圖的阻擋圖中。優選地,所述觸發子單元,具體用于通過快捷鍵觸發所述節點的位置進入編輯狀態。優選地,所述阻擋圖為像素圖,所述地圖中的每個節點與對應所述地圖的像素圖中的一個像素點對應,不同權值的節點對應的像素點的顏色不同。可選地,所述編輯子單元,具體用于在所述節點的位置在最優路徑上時,將所述節點的權值設置為小于O ;否則,將所述節點的權值設置為O。可選地,所述權值小于O;編輯子單元,具體用于在所述節點的位置在最優路徑上,將所述節點的權值設置為最小。優選地,所述搜索單元,具體用于在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述初始節點到所述相鄰節點的實際代價、所述相鄰節點到所述目標節點最佳路徑的估計代價、以及所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價。
本發明實施例最優路徑搜索方法及系統,通過設置地圖中角色可以通過的節點的權值,使計算機在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價,選取所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點,也就是說,使計算機能得到正確的引導,快速、高效地搜索到最優路徑。
圖1是現有游戲中的一張地圖的示意圖;圖2是利用現有A-Star算法在圖1所不地圖中得到的路徑不意圖;圖3是本發明實施例最優路徑搜索方法的流程圖;圖4是本發明實施例最優路徑搜索方法在圖1所示地圖中得到的路徑示意圖;圖5是本發明實施例中設置節點的權值的一種流程圖;圖6是本發明實施例最優路徑搜索系統的一種結構不意圖;圖7是本發明實施例中設置單元的一種結構示意圖。
具體實施例方式為了使本技術領域的人員更好地理解本發明實施例的方案,下面結合附圖和實施方式對本發明實施例作進一步的詳細說明。 首先,對現有的A-Star尋路原理做簡單說明。假設圖1是游戲中的一張地圖,其中空白部分是游戲中的道路,游戲角色可以自由通過,斜線填充的部分為游戲中的建筑物(即阻擋),游戲角色不可以自由通過。游戲角色需要從A點出發,向東行走,然后向南拐彎一次,最終到達目標節點D。在現有的A-Star算法中,系統會根據A-Star算法遍歷A點周圍的八個節點,如圖2中所示的節點si s8,選擇接下來該走到哪一個節點。A-Star算法公式如下:f (n) = g (n) +h (η)(I)其中,f (η)是節點η從初始節點到目標節點的估價函數,g (η)是在狀態空間中從初始節點到節點η的實際代價,h(n)是從節點η到目標節點最佳路徑的估計代價。上述g(n)和h(n)可以是自定義函數,具體可以根據節點η與初始節點和目標節點的距離來計算,也可以根據節點η的權值來計算。現有技術中,尋路過程如下:如圖2所示,根據上面的公式⑴。g(sl) g(s8)都為1,即A點到達節點si s8的實際代價都為1,但是h(sl) h(s8)中,顯然節點s4距離D點的直線距離比其他7個節點都要短,所以節點s4是所有八個節點中代價最小的。節點s4從初始節點到目標節點的估價函數為:
f (s4) = g(s4)+h(s4) = 1+h (s4) (2)經過這樣一輪的計算后,系統會選擇節點s4作為下一步要到達的點。同理,對于節點s4,系統同樣需要遍歷它周圍的八個節點,按照上面的計算方式,最終會選擇節點rl為下一步要到達的點。
以此類推,最終系統會得出A- > s4- > rl- >...- > r6_ > D這樣的路徑,如圖2中帶底色部分所示。由圖2中所示的路徑可以看出,按照現有的A-Star算法,得到的路徑是沿著道路的邊緣,反映在游戲界面中,游戲角色是沿著道路的邊緣在行走,這樣不夠美觀,如果阻擋建筑物突出的棱角較多,會出現某節點計算各估價值出現相同值,或者應走的路徑的f值過小的情況,這樣會導致角色被卡死在棱角處,無法靈活地使游戲角色行走自如,比如沿著道路走。而且,現有的A-Star算法對所有節點的處理都是相同的,由于需要遍歷的節點很多,不僅效率低,而且靈活性差。為此,本發明實施例最優路徑搜索方法及系統針對上述問題,在制作網絡游戲中的地圖時,通過在地圖中插入一些權值更低的節點,在利用A-Star算法進行尋路時,可以得到正確的引導,優先選擇這些權值更低的節點進行搜索,快速計算出最優路徑。如圖3所示,是本發明實施例最優路徑搜索方法的流程圖,包括以下步驟:步驟301,設置地圖中角色可以通過的節點的權值。該設置過程可以通過計算機預先完成,具體實現過程可根據所述地圖所應用的環境來確定。比如,對于網絡游戲中的地圖,可以在開發調試環境下,登錄一個游戲角色,通過控制所述角色移動到相應的節點位置來設置所述節點的權值,當然,也可以通過其它方式來選擇要設置權值的節點,比如,通過鼠標光標的點選;通過統計無阻擋區域的中軸線位置坐標,每張地圖形成一個中軸線路徑節點集合。在本發明實施例中,可以將地圖中角色不能通過的節點的權值設置為與現有技術相同,即權值為1,將地圖中角色可以通過的節點的權值設置為小于或等于O。如,如果所述節點的位置在最優路徑上,則將所述節點的權值設置為小于O ;否貝U,將所述節點的權值設置為與現有技術相同,即權值為O。在這種情況下,角色可以通過的節點的權值可以只有兩個值。再比如,如果所述節點的位置在最優路徑上,則將所述節點的權值設置為最小。在這種情況下,角色可以通過的節點的權值可以在一定范圍內變化,比如權值的范圍為(-7 -1)。設置不同權值,可以逐步引導角色尋路,使得角色選擇路徑更智能化。當然,還可以采用其它設置方式,只要使最優路徑上的節點的權值小于非最優路徑上的節點的權值,即可保證在后續進行最優路徑搜索時,能夠快速地搜索到最優路徑。步驟302,在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價。具體地,可以按照以下公式計算所述相鄰節點中各節點η從初始節點到目標節點的估計代價f (η):f (η) = g (n) +h (η) +ν (η) (3)其中,g(n)是所述初始節點到節點η的實際代價,h(n)是從節點η到所述目標節點最佳路徑的估計代價,ν (η)是節點η的權值。上述g(n)、h(n)的計算與現有的A-Star算法中相同,具體可以根據節點η與初始節點和目標節點的距離來計算,在此不再詳細描述。當然,如果定義g(n)、h(η)的計算需要考慮節點的權值,則在本發明實施例中,在進行最優路徑搜索時,也可以按照現有的估價函數即前面提到的公式(I)來計算所述相鄰節點中各節點η從初始節點到目標節點的估計代價,對此本發明實施例不做限定。步驟303,選取所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點。下面同樣以圖1所示地圖為例,舉例說明利用本發明實施例最優路徑搜索方法進行最優路徑搜索的過程。同樣,假設游戲角色需要從A點出發,最終到達目標節點D。為了使游戲角色在地圖界面上能夠沿著道路的中軸線移動,即按照S- > S3- >dl- > d2- >...-> d8- > D這樣的路徑來行走,則如圖4所示,可以將路徑S- > s3- >dl- > d2- >...-> d8- > D上各節點的權值設為-5,而游戲角色可以自由通過的其它節點的權值設為O。在進行最優路徑搜索時,系統遍歷A點周圍的八個節點,如圖4中所示的節點si s8,選擇接下來該走到哪一個節點。由于g(sl) g(s8)都為1,即A點到達節點Si s8的實際代價都為1,而v(s3)= -5,v(s4) =0,因此,按照上述公式(3),可以得到:f (s3) = g (s3) +h (s3) +v (s3) = 1+h (s3) + (-5);f (s4) = g (s4) +h (s4) +v (s4) = l+h(s4)+0。由于h(s3)和h(s4)相差不大,因此f(s3)的值要比f(s4)的值小。因此,系統會優先選擇節點s3點作為下一個點。同理,對于節點S3,系統同樣需要遍歷它周圍的八個點,按照上面的計算方式,最終會選擇節點dl作為下一步要到達的點。依此類推,最終系統會選擇A- > s3- > dl- >...d4- > d6- > d7_ > d8_ > D作為尋路的結果,從而達到期望的游戲角色走在道路中間的目的。可見,本發明實施例最優路徑搜索方法,通過設置地圖中角色可以通過的節點的權值,使計算機在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價,選取所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點,也就是說,使計算機能得到正確的引導,快速、高效地搜索到最優路徑。需要說明的是,本發明實施例最優路徑搜索方法可以應用于針對各種地圖上路徑的搜索,比如,網絡游戲地圖、導航電子地圖、景區電子地圖等。比如,對于一款網絡游戲,往往會有幾十張地圖,每張地圖的地形都各不相同,因此,利用本發明實施例的方法,可以根據每一張地圖的地形特點,將希望游戲角色通過的最優路徑上的節點的權值設置為較低權值,可以保證每一張地圖最優路徑搜索的高效性。再比如,對于導航電子地圖,可以根據各路段實時擁堵信息,將擁堵路段上的節點的權值設置為較高權值,從而可以使導航系統自動、快速地計算出最優路徑,避開擁堵路段。再比如,對于景區電子地圖,可以將各景點作為路徑中的節點,根據不同景點的位置及游客選擇的游覽順序設置不同節點的權值,從而為游客提供最優游覽路徑。前面提到,在本發明實施例中,可以通過控制地圖中角色的移動來設置節點的權值,下面對此詳細說明。如圖5所示,是本發明實施例中設置節點的權值的一種流程圖,包括以下步驟:步驟501,控制所述地圖中角色移動到所述角色可以通過的節點的位置。步驟502,觸發所述節點的位置進入編輯狀態。具體地,可以通過快捷鍵觸發所述節點的位置進入編輯狀態。比如,快捷鍵Fl,也可以是其它快捷鍵。當然,也可以通過鼠標點選的方式觸發所述節點的位置進入編輯狀態。比如,先將鼠標光標移動到相應的位置,然后,點擊左鍵進入對所述位置的編輯狀態。在所述編輯狀態下,可以通過不同的快捷鍵完成一系列的編輯操作,比如,可以有以下操作:Fl:關閉編輯節點;F2:設置權值的大小;F3:設置編輯的范圍,比如設置范圍為3,則和角色距離為3以內的所有節點都會被設置權值。可以編輯角色所在位置的權值,如果角色移動,則該角色所經過的所有節點都會設置上相應的權值;F4:刪除角色所在位置的權值;F5:保存編輯過的節點;F6:顯示編輯的所有節點。在具體應用時,還可以在觸發所述節點的位置進入編輯狀態后,在當前界面中(比如,窗口最下方等位置)顯示上述各種操作的提示,以方便開發設計人員的設置操作。步驟503,根據所述節點的位置設置所述節點的權值。具體地,可以根據所述節點的位置是否在期望的最優路徑上來設置該節點的權值。比如,如果所述節點的位置在最優路徑上,則將所述節點的權值設置為小于O ;否則,將所述節點的權值設置為O。或者,如果所述節點的位置在最優路徑上,則將所述節點的權值設置為最小。當然,期望的最優路徑可以根據各地圖中的實際地形及環境來確定,并不僅限于前面提到的設置在道路中間。步驟504,將所述節點的位置信息及權值信息映射到對應所述地圖的阻擋圖中。可以控制角色在地圖中不同節點間移動,則通過上述過程,角色所經過的所有節點都可以設置上相應的權值。在本發明實施例中,所述阻擋圖可以是像素圖,其中保存了對應的地圖中所有節點的權值信息,所述地圖中的每個節點與對應所述地圖的像素圖中的一個像素點對應。當然,所述阻擋圖也可以是其它格式,比如,可以將txt文件格式,文件中記錄每個點的坐標和權值。為了使所述阻擋圖中各權值的顯示更清楚、直觀,可以通過不同的顏色來表示不同的權值,也就是說,不同權值的節點對應的像素點的顏色不同。比如,阻擋圖中建筑物為紅色,可行走區域為黑色,設置的節點有黃色、綠色、藍色。其中,按照權值大小,降序排列為黃色、綠色、藍色。利用上述設置方式,可以使網絡游戲的開發更靈活方便,比如,可以不需要程序開發人員,而是由策劃或其他非專業人員就能完成節點權值的設置,而且,每一個節點權值的設置只需要通過簡單的鍵盤快捷鍵的操作即可完成。另外,地圖中每個節點權值的設置可根據地形及周圍環境靈活設置,從而使系統在進行路徑搜索計算時,能夠快速、高效地搜索到期望的最優路徑。相應地,本發明實施例還提供一種最優路徑搜索系統,如圖6所示,是該系統的一種結構示意圖。在該實施例中,所述系統包括:設置單元601,用于設置地圖中角色可以通過的節點的權值;搜索單元602,用于在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價;選取單元603,用于選取所述搜索單元得到的所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點。在本發明實施例中,設置單元601可以向用戶提供設置接口,使用戶通過該接口設置地圖中角色可以通過的節點的權值。具體地,通過設置單元601,可以將地圖中角色不能通過的節點的權值設置為與現有技術相同,即權值為1,將地圖中角色可以通過的節點的權值設置為小于或等于O。比如,如果所述節點的位置在最優路徑上,則將所述節點的權值設置為小于O ;否貝U,將所述節點的權值設置為與現有技術相同,即權值為O。在這種情況下,角色可以通過的節點的權值可以只有兩個值。再比如,如果所述節點的位置在最優路徑上,則將所述節點的權值設置為最小。在這種情況下,角色可以通過的節點的權值可以在一定范圍內變化,比如權值的范圍為(-7 -1)。當然,還可以采用其它設置方式,只要使最優路徑上的節點的權值小于非最優路徑上的節點的權值,即可保證在后續進行最優路徑搜索時,能夠快速地搜索到最優路徑。所述搜索單元602在進行最優路徑搜索時,需要遍歷當前節點周圍的相鄰節點,然后按照前面所述的公式(3)計算所述相鄰節點中各節點η從初始節點到目標節點的估計代價,具體過程可參照前面的描述,在此不再贅述。本發明實施例最優路徑搜索系統,通過設置地圖中角色可以通過的節點的權值,使計算機在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價,選取所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點,也就是說,使計算機能得到正確的引導,快速、高效地搜索到最優路徑。在本發明實施例中,所述設置單元可以通過多種方式實現,比如,通過控制地圖中的一個角色移動到相應的節點位置來設置所述節點的權值,當然,也可以通過其它方式來選擇要設置權值的節點,比如,通過鼠標光標的點選。如圖7所示,是本發明實施例中設置單元的一種結構示意圖。在該實施例,所述設置單元包括:控制子單元701,用于控制所述地圖中角色移動到所述角色可以通過的節點的位置;
觸發子單元702,用于觸發所述節點的位置進入編輯狀態;編輯子單元703,用于根據所述節點的位置設置所述節點的權值;映射子單元704,用于將所述節點的位置信息及權值信息映射到對應所述地圖的阻擋圖中。在該實施例中,所述觸發子單元702可以通過快捷鍵觸發所述節點的位置進入編輯狀態。當然,也可以通過其它方式觸發所述節點的位置進入編輯狀態。所述編輯子單元703可以在所述節點的位置在最優路徑上時,將所述節點的權值設置為小于O ;否則,將所述節點的權值設置為O。或者,在所述節點的位置在最優路徑上,將所述節點的權值設置為最小。當然,地圖中每個節點權值的設置可根據地形及周圍環境靈活設置,從而使系統在進行路徑搜索計算時,能夠快速、高效地搜索到期望的最優路徑。在本發明實施例中,所述阻擋圖可以是像素圖,其中保存了對應的地圖中所有節點的權值信息,所述地圖中的每個節點與對應所述地圖的像素圖中的一個像素點對應。當然,所述阻擋圖也可以是其它格式,比如,可以將txt文件格式,文件中記錄每個點的坐標和權值。為了使所述阻擋圖中各權值的顯示更清楚、直觀,可以通過不同的顏色來表示不同的權值,也就是說,不同權值的節點對應的像素點的顏色不同。利用本發明實施例最優路徑搜索系統,可以簡單、方便地設置地圖中角色可以通過的節點的權值,將期望的最優路徑上的節點設置較低的權值,從而使系統在計算最優路徑時,可以得到正確的引導,快速計算出最優路徑。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于設備實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。以上對本發明實施例進行了詳細介紹,本文中應用了具體實施方式
對本發明進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及設備;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種最優路徑搜索方法,其特征在于,包括: 設置地圖中角色可以通過的節點的權值; 在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價; 選取所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點。
2.根據權利要求1所述的方法,其特征在于,所述設置地圖中角色可以通過的節點的權值包括: 控制所述地圖中角色移動到所述角色可以通過的節點的位置; 觸發所述節點的位置進入編輯狀態; 根據所述節點的位置設置所述節點的權值; 將所述節點的位置信息及權值信息映射到對應所述地圖的阻擋圖中。
3.根據權利要求2所述的方法,其特征在于,所述觸發所述節點的位置進入編輯狀態包括: 通過快捷鍵觸發所述節點的位置進入編輯狀態。
4.根據權利要求2所述的方法,其特征在于,所述阻擋圖為像素圖,所述地圖中的每個節點與對應所述地圖的像素圖中的一個像素點對應,不同權值的節點對應的像素點的顏色不同。
5.根據權利要求2所述的方`法,其特征在于,所述根據所述節點的位置設置所述節點的權值包括: 如果所述節點的位置在最優路徑上,則將所述節點的權值設置為小于O ;否則,將所述節點的權值設置為O。
6.根據權利要求2所述的方法,其特征在于,所述權值小于O;所述根據所述節點的位置設置所述節點的權值包括: 如果所述節點的位置在最優路徑上,則將所述節點的權值設置為最小。
7.根據權利要求1至6任一項所述的方法,其特征在于,所述根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價包括: 根據所述初始節點到所述相鄰節點的實際代價、所述相鄰節點到所述目標節點最佳路徑的估計代價、以及所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價。
8.一種最優路徑搜索系統,其特征在于,包括: 設置單元,用于設置地圖中角色可以通過的節點的權值; 搜索單元,用于在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價; 選取單元,用于選取所述搜索單元得到的所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點。
9.根據權利要求8所述的系統,其特征在于,所述設置單元包括: 控制子單元,用于控制所述地圖中角色移動到所述角色可以通過的節點的位置; 觸發子單元,用于觸發所述節點的位置進入編輯狀態; 編輯子單元,用于根據所述節點的位置設置所述節點的權值;映射子單元,用于將所述節點的位置信息及權值信息映射到對應所述地圖的阻擋圖中。
10.根據權利要求9所述的系統,其特征在于, 所述觸發子單元,具體用于通過快捷鍵觸發所述節點的位置進入編輯狀態。
11.根據權利要求9所述的系統,其特征在于,所述阻擋圖為像素圖,所述地圖中的每個節點與對應所述地圖的像素圖中的一個像素點對應,不同權值的節點對應的像素點的顏色不同。
12.根據權利要求9所述的系統,其特征在于, 所述編輯子單 元,具體用于在所述節點的位置在最優路徑上時,將所述節點的權值設置為小于O ;否則,將所述節點的權值設置為O。
13.根據權利要求9所述的系統,其特征在于,所述權值小于O; 編輯子單元,具體用于在所述節點的位置在最優路徑上,將所述節點的權值設置為最小。
14.根據權利要求1至13任一項所述的系統,其特征在于, 所述搜索單元,具體用于在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述初始節點到所述相鄰節點的實際代價、所述相鄰節點到所述目標節點最佳路徑的估計代價、以及所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價。
全文摘要
本發明涉及路徑搜索技術領域,公開了一種最優路徑搜索方法及系統,該方法包括設置地圖中角色可以通過的節點的權值;在進行最優路徑搜索時,遍歷當前節點周圍的相鄰節點,并根據所述相鄰節點的權值計算所述相鄰節點從初始節點到目標節點的估計代價;選取所述相鄰節點中估計代價最小的一個節點作為所述最優路徑的下一個節點。利用本發明,可以提高路徑搜索的靈活性及效率。
文檔編號G06F19/00GK103186710SQ20111046069
公開日2013年7月3日 申請日期2011年12月31日 優先權日2011年12月31日
發明者高經緯 申請人:北京金山軟件有限公司, 北京金山數字娛樂科技有限公司