欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

單位的尋路方法及裝置與流程

文檔序號:12212616閱讀:282來源:國知局
單位的尋路方法及裝置與流程

本發(fā)明涉及計算機領(lǐng)域,具體而言,涉及一種單位的尋路方法及裝置。



背景技術(shù):

自動尋路作為一種新興的技術(shù),具備便捷、智能化等諸多優(yōu)點,現(xiàn)如今已經(jīng)被應(yīng)用在了各個領(lǐng)域,以游戲領(lǐng)域為例,自動尋路功能是為了滿足從傳統(tǒng)的角色扮演游戲(PRG)向新時代的RPG過度的需求,衍生而來的一項功能。由于新手玩家進(jìn)入游戲后,對游戲的諸多規(guī)則不甚了解,特別是對游戲地圖知之甚少,由此造成了新手玩家對該款游戲上手難度大幅提升,并且也極大地延長了游戲玩家真正獲得游戲核心樂趣的時間。

自動尋路功能的問世,在較大程度上解決了新手玩家在游戲前期難以找到各種類型非玩家控制(NPC),其可以包括但不限于:提供新手指引的NPC、提供商品交易服務(wù)的NPC、提供新手任務(wù)的NPC、提供裝備修理服務(wù)的NPC,同時還難以摸清在游戲地圖上設(shè)置的為新手玩家初期練級的怪物的分布。為了解決新手玩家的上述困惑,自動尋路功能在不影響游戲性能的同時,還會為游戲玩家?guī)砀嗟谋憷?,從而使得游戲玩家盡早熟悉游戲過程,更容易感受到游戲的魅力。

目前,游戲通常所采用的尋路計算過程如下:

第一步、在游戲場景中指定一條完整運動路線,該運動路線上涵蓋了多個預(yù)先設(shè)定的尋路錨點。

第二步、特定游戲單位沿著該指定路徑保持行走狀態(tài)。

第三步、如果該特定游戲單位在尋路過程發(fā)生異常中斷,則需要重新回到尋路路徑上。

通常在游戲畫面中會存在畫面顯示的最大幀數(shù),而為了確保運算效率,坐標(biāo)變換的周期通常為每幀圖像更新一次。然而,在每幀圖像更新過程中,很有可能會發(fā)生從當(dāng)前尋路錨點到相鄰的下一個尋路錨點之間的距離或者在當(dāng)前尋路錨點與相鄰的下一個尋路錨點之間的路段上的特定位置到相鄰的下一個尋路錨點的距離不足一幀圖像對應(yīng)的游戲單位的移動距離,而坐標(biāo)變換的周期又是每幀圖像更新一次時,便會造成游戲單位在運動過程中出現(xiàn)卡頓現(xiàn)象,并且在經(jīng)過拐彎時,游戲單位在游戲畫面中的運行速度是與各個尋路錨點之間的距離相關(guān)的。

針對上述的問題,目前尚未提出有效的解決方案。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供了一種單位的尋路方法及裝置,以至少解決相關(guān)技術(shù)中提供的尋路方式在經(jīng)過尋路錨點時易出現(xiàn)卡頓現(xiàn)象,用戶體驗不流暢的技術(shù)問題。

根據(jù)本發(fā)明實施例的一個方面,提供了一種單位的尋路方法,包括:

在地圖的規(guī)劃路線上選取至少兩個尋路錨點;采用至少兩個尋路錨點確定單位的運動軌跡;從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置。

可選地,從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置包括:計算步驟:根據(jù)單位的移動速度計算單位在當(dāng)前幀圖像的位移變化;處理步驟:采用運動軌跡上與當(dāng)前幀圖像對應(yīng)的起始位置坐標(biāo)和位移變化計算運動軌跡上與當(dāng)前幀圖像對應(yīng)的結(jié)束位置坐標(biāo),控制單位移動至結(jié)束位置坐標(biāo),并將結(jié)束位置坐標(biāo)設(shè)置為運動軌跡上與下一幀圖像對應(yīng)的起始位置坐標(biāo),返回計算步驟。

可選地,上述單位在高度方向上高于地圖內(nèi)設(shè)置的全部場景物件的高度。

可選地,在從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置之后,還包括:當(dāng)單位因特定事件偏離運動軌跡時,沿運動軌跡的運動方向獲取單位待回歸的尋路錨點;控制單位移動至待回歸的尋路錨點。

可選地,當(dāng)待回歸的尋路錨點是與單位的偏離位置坐標(biāo)距離最近的尋路錨點時,沿運動軌跡的運動方向獲取單位待回歸的尋路錨點包括:獲取與單位所在偏離位置距離最近的第一尋路錨點以及在運動方向上與第一尋路錨點相鄰的第二尋路錨點;計算第一尋路錨點與第二尋路錨點之間的第一距離以及偏離位置與第二尋路錨點之間的第二距離;當(dāng)?shù)谝痪嚯x大于第二距離時,則將第二尋路錨點設(shè)置為待回歸的尋路錨點;當(dāng)?shù)谝痪嚯x小于第二距離時,則將第一尋路錨點設(shè)置為待回歸的尋路錨點。

可選地,在從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置之后,還包括:當(dāng)單位移動至運動軌跡的終點位置時,保持與終點位置對應(yīng)的高度方向上的坐標(biāo)繼續(xù)移動,直至在重新回到運動軌跡的起始位置后,將與終點位置對應(yīng)的高度方向上的坐標(biāo)調(diào)整為與運動軌跡的起始位置對應(yīng)的高度方向上的坐標(biāo)。

根據(jù)本發(fā)明實施例的另一方面,還提供了一種單位的尋路裝置,包括:

選取模塊,用于在地圖的規(guī)劃路線上選取至少兩個尋路錨點;確定模塊,用于采用至少兩個尋路錨點確定單位的運動軌跡;第一獲取模塊,用于從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置。

可選地,第一獲取模塊包括:第二計算單元,用于根據(jù)單位的移動速度計算單位在當(dāng)前幀圖像的位移變化;第一處理單元,用于采用運動軌跡上與當(dāng)前幀圖像對應(yīng)的起始位置坐標(biāo)和位移變化計算運動軌跡上與當(dāng)前幀圖像對應(yīng)的結(jié)束位置坐標(biāo),控制單位移動至結(jié)束位置坐標(biāo),并將結(jié)束位置坐標(biāo)設(shè)置為運動軌跡上與下一幀圖像對應(yīng)的起始位置坐標(biāo),返回第二計算單元。

可選地,上述單位在高度方向上高于地圖內(nèi)設(shè)置的全部場景物件的高度。

可選地,上述裝置還包括:第二獲取模塊,用于當(dāng)單位因特定事件偏離運動軌跡時,沿運動軌跡的運動方向獲取單位待回歸的尋路錨點;控制模塊,用于控制單位移動至待回歸的尋路錨點。

可選地,第二獲取模塊包括:獲取單元,用于當(dāng)待回歸的尋路錨點是與單位的偏離位置坐標(biāo)距離最近的尋路錨點時,獲取與單位所在偏離位置距離最近的第一尋路錨點以及在運動方向上與第一尋路錨點相鄰的第二尋路錨點;第三計算單元,用于計算第一尋路錨點與第二尋路錨點之間的第一距離以及偏離位置與第二尋路錨點之間的第二距離;第二處理單元,用于當(dāng)?shù)谝痪嚯x大于第二距離時,則將第二尋路錨點設(shè)置為待回歸的尋路錨點;當(dāng)?shù)谝痪嚯x小于第二距離時,則將第一尋路錨點設(shè)置為待回歸的尋路錨點。

可選地,上述裝置還包括:處理模塊,用于當(dāng)單位移動至運動軌跡的終點位置時,保持與終點位置對應(yīng)的高度方向上的坐標(biāo)繼續(xù)移動,直至在重新回到運動軌跡的起始位置后,將與終點位置對應(yīng)的高度方向上的坐標(biāo)調(diào)整為與運動軌跡的起始位置對應(yīng)的高度方向上的坐標(biāo)。

在本發(fā)明實施例中,采用在地圖的規(guī)劃路線上選取多個尋路錨點并利用上述多個尋路錨點確定單位的運動軌跡的方式,通過從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置,達(dá)到了避免在尋路過程中因每幀圖像刷新導(dǎo)致的在尋路錨點上出現(xiàn)明顯卡頓的目的,從而實現(xiàn)了提高畫面的流暢度、提升用戶體驗的技術(shù)效果,進(jìn)而解決了相關(guān)技術(shù)中提供的尋路方式在經(jīng)過尋路錨點時易出現(xiàn)卡頓現(xiàn)象,用戶體驗不流暢的技術(shù)問題。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:

圖1是根據(jù)本發(fā)明實施例的單位的尋路方法的流程圖;

圖2是根據(jù)本發(fā)明優(yōu)選實施例一的在運動軌跡上獲取下一個即將抵達(dá)的尋路錨點的示意圖;

圖3是根據(jù)本發(fā)明優(yōu)選實施例二的在運動軌跡上獲取下一個即將抵達(dá)的尋路錨點的示意圖;

圖4是根據(jù)本發(fā)明實施例的單位的尋路裝置的結(jié)構(gòu)框圖;

圖5是根據(jù)本發(fā)明實施例的單位的尋路裝置的結(jié)構(gòu)框圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。

需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

根據(jù)本發(fā)明實施例,提供了一種單位的尋路方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

圖1是根據(jù)本發(fā)明實施例的單位的尋路方法的流程圖,如圖1所示,該方法包括如下步驟:

步驟S10,在地圖的規(guī)劃路線上選取至少兩個尋路錨點;

步驟S12,采用至少兩個尋路錨點確定單位的運動軌跡;

步驟S14,從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置。

通過上述步驟,可以采用在地圖的規(guī)劃路線上選取多個尋路錨點并利用上述多個尋路錨點確定單位的運動軌跡的方式,通過從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置,達(dá)到了避免在尋路過程中因每幀圖像刷新導(dǎo)致的在尋路錨點上出現(xiàn)明顯卡頓的目的,從而實現(xiàn)了提高畫面的流暢度、提升用戶體驗的技術(shù)效果,進(jìn)而解決了相關(guān)技術(shù)中提供的尋路方式在經(jīng)過尋路錨點時易出現(xiàn)卡頓現(xiàn)象,用戶體驗不流暢的技術(shù)問題。

需要說明的是,為了對本發(fā)明實施例提供的單位的尋路方法的具體實施過程作進(jìn)一步詳細(xì)說明,下文中僅以游戲場景中的游戲單位(例如:玩家控制的游戲角色)的自動尋路過程為例加以描述,但其并不構(gòu)成對本發(fā)明的不當(dāng)限定,上述單位的尋路方法仍然可以應(yīng)用于除游戲領(lǐng)域之外的其他可以適用該技術(shù)方案的領(lǐng)域。

為了實現(xiàn)特定游戲單位沿一條指定軌跡在道路上運動,需要設(shè)置一定數(shù)量的尋路錨點。而由于在不同的游戲地圖中,地形與道具的配置方式存在差異,因此,需要運行地圖編輯器,在整條道路上選取尋路錨點。此處,需要注意以下幾點:

(1)在兩個尋路錨點之間需要保持路段通暢,不能存在阻礙游戲單位前行的設(shè)置。換言之,即便游戲引擎配置有自動生成尋路功能,但是如果兩個尋路錨點之間中存在阻礙游戲單位前行的障礙物,則會發(fā)生游戲單位對墻體進(jìn)行剮蹭的異常表現(xiàn)效果,并且如果游戲地圖本身的地形較為復(fù)雜,則還有可能會造成游戲單位在尋路過程中直接卡在阻礙游戲單位前行的設(shè)置處,進(jìn)而造成整個尋路過程中斷。

(2)在設(shè)計游戲場景時,應(yīng)當(dāng)盡量避免平滑的曲線拐彎的路面設(shè)計,其原因在于:此種設(shè)計方式一方面會導(dǎo)致需要選取過多的尋路錨點,特定游戲單位在自動尋路過程中,會加大用戶終端或服務(wù)器的負(fù)載壓力;另一方面,頻繁選取尋路錨點易造成載具在拐彎過程中頻繁地發(fā)生轉(zhuǎn)動,為此,還需要設(shè)計特定程序來處理拐彎行為,否則會在游戲過程中給游戲玩家?guī)磉`和感。

如果在游戲過程中,確實存在特殊需求需要使得尋路過程看起來更加平滑,此時,可以選取一定數(shù)量的尋路錨點,同時還需要設(shè)定經(jīng)由這些尋路錨點進(jìn)行尋路的過程中,游戲單位需要進(jìn)行平滑尋路。然后,再將選取的尋路錨點帶入方程求根公式中進(jìn)行計算,如果選取兩個尋路錨點,那么通過兩個尋路錨點,可以確定出軌跡為一條直線,則需要建立二元一次方程;如果選取三個尋路錨點,可以確定出軌跡為一條曲線,則需要建立二元二次方程。例如:當(dāng)前選取三個尋路錨點,其中,尋路錨點A的坐標(biāo)為(1,1)、尋路錨點B的坐標(biāo)為(1,-1),尋路錨點C的坐標(biāo)為(2,1)將這三個尋路錨點帶入aX2+b*X+c=Y(jié)的曲線函數(shù)中可以計算得出系數(shù)a、b和c的取值分別為:a=2,b=-4,c=1,進(jìn)而得到軌跡函數(shù)為Y=2X2-4X+1。最終,游戲單位將在Y=2X2-4X+1的軌跡上進(jìn)行自動尋路。

需要注意的是,上述計算過程的復(fù)雜度以及需要消耗的硬件資源會隨著尋路錨點選取數(shù)量的增多而不斷加大,為此,需要控制尋路錨點的選取數(shù)量,以避免計算復(fù)雜度過高,同時還需要避免消耗過多的硬件資源。

可選地,在步驟S14中,從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置可以包括以下執(zhí)行步驟:

步驟S141,根據(jù)單位的移動速度計算單位在當(dāng)前幀圖像的位移變化;

步驟S142,采用運動軌跡上與當(dāng)前幀圖像對應(yīng)的起始位置坐標(biāo)和位移變化計算運動軌跡上與當(dāng)前幀圖像對應(yīng)的結(jié)束位置坐標(biāo),控制單位移動至結(jié)束位置坐標(biāo),并將結(jié)束位置坐標(biāo)設(shè)置為運動軌跡上與下一幀圖像對應(yīng)的起始位置坐標(biāo),返回步驟S141,如此,則實現(xiàn)了將所述單位沿著所述運動軌跡依次移動至所述每一幀圖像對應(yīng)的結(jié)束位置。

在優(yōu)選實施過程中,上述單位在高度方向上高于游戲地圖內(nèi)設(shè)置的全部場景物件的高度。

根據(jù)上述計算得到的自動尋路軌跡確定特定游戲單位在每一幀圖像中發(fā)生的位移變化,即該特定游戲單位在每一幀圖像開始播放時對應(yīng)的在自動尋路軌跡上的起始位置至結(jié)束位置的積分運算結(jié)果等于起始位置與結(jié)束位置之間的線段長度,由此,可以最終計算得到結(jié)束位置的坐標(biāo)。然后再結(jié)合第三步計算得到的與每幀圖像對應(yīng)的從起始位置至結(jié)束位置的運動變化過程,在游戲畫面中加以顯示。

不同于相關(guān)技術(shù)中提供的在尋路過程中僅尋找相鄰的下一個尋路錨點,而是為滿足平滑拐彎的需求,假設(shè)在當(dāng)前存在的尋路錨點A的基礎(chǔ)上預(yù)先加載另外三個尋路錨點,即尋路錨點B,尋路錨點C和尋路錨點D。

如果從當(dāng)前所在的尋路錨點A至下一個相鄰的尋路錨點B之間的距離無法滿足不足一幀圖像變化的需求時,采用尋路錨點B到達(dá)下一個相鄰的尋路錨點C之間的部分移動軌跡來補齊,具體使用以下規(guī)則:

(1)假設(shè)完整的尋路路徑為:尋路錨點A→尋路錨點B→尋路錨點C→尋路錨點D,且游戲單位當(dāng)前位于尋路錨點A;

(2)通過采用游戲單位當(dāng)前位于的尋路錨點A的坐標(biāo)以及游戲單位自身的移動速度計算出與一幀圖像播放結(jié)束后對應(yīng)的目標(biāo)位置坐標(biāo)。如果在游戲單位達(dá)到尋路錨點B時,尚未達(dá)到一幀圖像播放結(jié)束后對應(yīng)的目標(biāo)位置坐標(biāo),則計算出的目標(biāo)位置坐標(biāo)可能位于尋路錨點B→尋路錨點C的軌跡上;

(3)通過計算出的目標(biāo)位置坐標(biāo)確定在尋路錨點B→尋路錨點C軌跡上的實際位置并將游戲單位移動至該目標(biāo)位置坐標(biāo)。

另外,特定游戲單位能夠進(jìn)行循環(huán)移動的充分且必要條件在于:尋路錨點需要構(gòu)成首尾相連的環(huán)形線路。

當(dāng)特定游戲單位在程序邏輯中被設(shè)定為普通單位時,會導(dǎo)致該特定游戲單位遭受到諸多限制,例如:被空氣墻阻擋、被怪獸碰撞阻擋,因此,需要通過設(shè)計特定程序以使得特定游戲單位可以無視這些障礙物而正常徑直移動。

當(dāng)游戲場景中的碰撞事件是通過該游戲場景中各個游戲單位的碰撞體積進(jìn)行計算時,處于循環(huán)移動狀態(tài)下的游戲單位會在一定程度上穿越無法正常通過的區(qū)域。此時,該游戲單位在游戲場景中的碰撞規(guī)則需要進(jìn)行以下修改:該游戲單位需要能夠無視游戲場景中其他游戲單位的碰撞,能夠穿透所有游戲單位,而且該游戲單位只需要保持在高度方向上(Y軸)高于除交互對象單位(例如:怪獸、NPC)之外的場景物件(例如:樹木、路障、拱橋)的最大高度,便能夠完成在不可行走區(qū)域進(jìn)行循環(huán)移動。

可選地,在步驟S14,從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置之后,還可以包括以下執(zhí)行步驟:

步驟S15,當(dāng)單位因特定事件偏離運動軌跡時,沿運動軌跡的運動方向獲取單位待回歸的尋路錨點;

步驟S16,控制單位移動至待回歸的尋路錨點。

如果在游戲過程中開啟游戲單位自動尋路過程,并且在尋路過程中因遇到特定事件(例如:脫離運動軌跡去擊殺不定時刷出的怪物以獲取裝備和經(jīng)驗值),則在成功擊殺怪物后,需要回歸至原有的運動軌跡。此時,需要在運動軌跡上獲取下一個即將抵達(dá)的尋路錨點。

可選地,在步驟S15中,當(dāng)待回歸的尋路錨點是與單位的偏離位置坐標(biāo)距離最近的尋路錨點時,沿運動軌跡的運動方向獲取單位待回歸的尋路錨點可以包括以下執(zhí)行步驟:

步驟S151,獲取與單位所在偏離位置距離最近的第一尋路錨點以及在運動方向上與第一尋路錨點相鄰的第二尋路錨點;

步驟S152,計算第一尋路錨點與第二尋路錨點之間的第一距離以及偏離位置與第二尋路錨點之間的第二距離;

步驟S153,當(dāng)?shù)谝痪嚯x大于第二距離時,則將第二尋路錨點設(shè)置為待回歸的尋路錨點;當(dāng)?shù)谝痪嚯x小于第二距離時,則將第一尋路錨點設(shè)置為待回歸的尋路錨點。

獲取特定游戲單位在相鄰兩個尋路錨點之間的實際行走距離,分別計算出從該特定游戲單位從當(dāng)前尋路錨點到其余尋路錨點之間的距離,并尋找出與當(dāng)前尋路錨點之間距離最小的下一個尋路錨點。

圖2是根據(jù)本發(fā)明優(yōu)選實施例一的在運動軌跡上獲取下一個即將抵達(dá)的尋路錨點的示意圖。如圖2所示,a為所有尋路錨點中距離游戲單位當(dāng)前所在偏離位置的距離最近的尋路錨點B與游戲單位所在偏離位置之間的距離,b為尋路錨點B沿運動軌跡的運動方向上到下一個尋路錨點C之間的距離,c為游戲單位所在偏離位置到尋路錨點C之間的距離。當(dāng)b<c時,游戲單位所在偏離位置當(dāng)前所要前往的尋路錨點為尋路錨點B。

圖3是根據(jù)本發(fā)明優(yōu)選實施例二的在運動軌跡上獲取下一個即將抵達(dá)的尋路錨點的示意圖。如圖3所示,a為所有尋路錨點中距離游戲單位當(dāng)前所在偏離位置的距離最近的尋路錨點B與游戲單位所在偏離位置之間的距離,b為尋路錨點B沿運動軌跡的運動方向上到下一個尋路錨點C之間的距離,c為游戲單位所在偏離位置到尋路錨點C之間的距離。當(dāng)b>c時,游戲單位所在偏離位置當(dāng)前所要前往的尋路錨點為尋路錨點C。

上述功能同樣適用于:當(dāng)游戲玩家從手動操控狀態(tài)切換至游戲單位自動戰(zhàn)斗時,如果游戲單位需要使用自動尋路功能,則需要存在一個待抵達(dá)的尋路錨點,并在每次到達(dá)尋路錨點后,需要將該尋路錨點的行進(jìn)方向指向下一個尋路錨點。

可選地,在步驟S14,從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置之后,還可以包括以下執(zhí)行步驟:

步驟S17,當(dāng)單位移動至運動軌跡的終點位置時,保持與終點位置對應(yīng)的高度方向上的坐標(biāo)繼續(xù)移動,直至在重新回到運動軌跡的起始位置后,將與終點位置對應(yīng)的高度方向上的坐標(biāo)調(diào)整為與運動軌跡的起始位置對應(yīng)的高度方向上的坐標(biāo)。

當(dāng)游戲場景使用的是游戲單位的碰撞體積而并非游戲單位的實際體積時,該游戲場景的尋路過程需要進(jìn)行以下的處理:

(1)如果游戲單位運動至不可行走區(qū)域,則只需要保持該游戲單位原來的高度方向上的Y軸坐標(biāo),等待該游戲單位重新進(jìn)入可行走區(qū)域后,再將其坐標(biāo)調(diào)整為當(dāng)前尋路的Y軸坐標(biāo)高度。例如:游戲單位在重新進(jìn)入可行走區(qū)時,該游戲單位保持的高度是20米,而剛進(jìn)入尋路區(qū)域的地面高度只有5米,就需要將該游戲單位的高度調(diào)整為5米。

(2)如果游戲單位碰撞到空氣墻,則只需要無視碰撞即可,其中,空氣墻特指在游戲場景中生成的臨時墻,以使游戲單位無法正常經(jīng)過。

(3)如果要使游戲單位不與其它最近刷新的被攻擊對象單位(例如:副本內(nèi)的怪獸)重合,需要在經(jīng)過這類單位時,通過尋路路徑繞開這類單位,而不與這類單位發(fā)生碰撞重合,并且還可以無視不可行走區(qū)域。

例如:當(dāng)車輛開過來時,其最佳的視角是車輛迎面開來,為了保證車輛始終都是迎面開來,并且一個車輛是循環(huán)移動,而并非從初始點移動到達(dá)終點之后即被銷毀,所以需要進(jìn)行上述配置。

根據(jù)本發(fā)明實施例,提供了一種單位的尋路裝置的實施例,圖4是根據(jù)本發(fā)明實施例的單位的尋路裝置的結(jié)構(gòu)框圖,如圖4所示,該裝置包括:選取模塊10,用于在地圖的規(guī)劃路線上選取多個尋路錨點;確定模塊20,用于采用多個尋路錨點確定單位的運動軌跡;第一獲取模塊30,用于從運動軌跡的起始位置開始根據(jù)單位在每一幀圖像的位移變化從運動軌跡上獲取與每一幀圖像對應(yīng)的結(jié)束位置。

可選地,第一獲取模塊30包括:第二計算單元(圖中未示出),用于根據(jù)單位的移動速度計算單位在當(dāng)前幀圖像的位移變化;第一處理單元(圖中未示出),用于采用運動軌跡上與當(dāng)前幀圖像對應(yīng)的起始位置坐標(biāo)和位移變化計算運動軌跡上與當(dāng)前幀圖像對應(yīng)的結(jié)束位置坐標(biāo),控制單位移動至結(jié)束位置坐標(biāo),并將結(jié)束位置坐標(biāo)設(shè)置為運動軌跡上與下一幀圖像對應(yīng)的起始位置坐標(biāo),返回第二計算單元。

在優(yōu)選實施過程中,上述單位在高度方向上高于地圖內(nèi)設(shè)置的全部場景物件的高度。

可選地,圖5是根據(jù)本發(fā)明實施例的單位的尋路裝置的結(jié)構(gòu)框圖,如圖5所示,上述裝置還可以包括:第二獲取模塊40,用于當(dāng)單位因特定事件偏離運動軌跡時,沿運動軌跡的運動方向獲取單位待回歸的尋路錨點;控制模塊50,用于控制單位移動至待回歸的尋路錨點。

可選地,第二獲取模塊40包括:獲取單元(圖中未示出),用于獲取與單位所在偏離位置距離最近的第一尋路錨點以及在運動方向上與第一尋路錨點相鄰的第二尋路錨點;第三計算單元(圖中未示出),用于計算第一尋路錨點與第二尋路錨點之間的第一距離以及偏離位置與第二尋路錨點之間的第二距離;第二處理單元(圖中未示出),用于當(dāng)?shù)谝痪嚯x大于第二距離時,則將第二尋路錨點設(shè)置為待回歸的尋路錨點;當(dāng)?shù)谝痪嚯x小于第二距離時,則將第一尋路錨點設(shè)置為待回歸的尋路錨點。

可選地,如圖5所示,上述裝置還可以包括:處理模塊60,用于當(dāng)單位移動至運動軌跡的終點位置時,保持與終點位置對應(yīng)的高度方向上的坐標(biāo)繼續(xù)移動,直至在重新回到運動軌跡的起始位置后,將與終點位置對應(yīng)的高度方向上的坐標(biāo)調(diào)整為與運動軌跡的起始位置對應(yīng)的高度方向上的坐標(biāo)。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。

在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
海阳市| 宁武县| 张北县| 金华市| 泰州市| 常州市| 彩票| 太白县| 昭觉县| SHOW| 沙湾县| 甘孜县| 邛崃市| 镇平县| 彭山县| 亳州市| 宁陕县| 卓资县| 花垣县| 普定县| 龙川县| 芦山县| 永善县| 建宁县| 井陉县| 重庆市| 合江县| 翼城县| 宜良县| 北京市| 南陵县| 靖边县| 扬州市| 花垣县| 青浦区| 福建省| 博湖县| 富锦市| 翼城县| 从江县| 改则县|