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

控制對(duì)象的空間位置確定方法和裝置與流程

文檔序號(hào):11536686閱讀:302來源:國知局
控制對(duì)象的空間位置確定方法和裝置與流程

本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種控制對(duì)象的空間位置確定方法和裝置。



背景技術(shù):

現(xiàn)有技術(shù)中,在網(wǎng)絡(luò)游戲應(yīng)用中,通常涉及多個(gè)應(yīng)用中的np同時(shí)攻擊同一個(gè)目標(biāo)的情況,這種在網(wǎng)絡(luò)游戲中多個(gè)npc(non-playercharacter,非玩家控制角色)的ai(artificialintelligence人工智能控制)同時(shí)攻擊同一個(gè)目標(biāo)(如,玩家角色)時(shí)的站位表現(xiàn),被稱之為ai的合圍機(jī)制。在目前的游戲引擎中,ai的合圍機(jī)制的實(shí)現(xiàn)根據(jù)該游戲引擎是否帶物體碰撞,分為兩種:

1)帶物理碰撞的游戲引擎:單機(jī)游戲(如星際爭霸、魔獸爭霸),網(wǎng)游(如軒轅傳奇)等。這種游戲的特點(diǎn)是游戲中的所有物體(如上述的角色對(duì)象,如npc)在空間上是不可重疊的。因此在此類游戲應(yīng)用中,多個(gè)npc的ai在攻擊同一個(gè)目標(biāo)時(shí),npc會(huì)移動(dòng)到距離目標(biāo)較近的并且沒有其他npc占據(jù)的空間上去。

2)無物理碰撞的游戲引擎:大部分的游戲應(yīng)用都是不帶物理碰撞引擎的,此類游戲的特點(diǎn)是游戲中的物體可以在空間上重疊,如圖1所示的示意圖中,在游戲界面中有4個(gè)npc(圖1中的npc1、npc2、npc3和npc4)在攻擊同一目標(biāo)(如圖1中的目標(biāo)對(duì)象m1),該圖1中4個(gè)npc中有三個(gè)npc(即npc1、npc2和npc3)在空間位置上發(fā)生重疊。因?yàn)闆]有物理碰撞,所以對(duì)某一個(gè)npc來說,游戲場景中的整片空間都是可以占用的,因此所有npc的可以選中同樣的占位點(diǎn),堆疊在一起。這樣給玩家的體驗(yàn)是非常不真實(shí)的。

上述的游戲引擎中,無物理碰撞的引擎中會(huì)產(chǎn)生物體重疊;為了解決該問題,只能直接使用帶理碰撞的游戲引擎,但是帶理碰撞的游戲引擎的開發(fā)成本較高且運(yùn)行效率會(huì)比較低。

針對(duì)上述在不帶物理碰撞的游戲引擎中,使多個(gè)物體在空間位置上不發(fā)生重疊的方案運(yùn)行效率低的問題,目前尚未提出有效的解決方案。



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

本發(fā)明實(shí)施例提供了一種控制對(duì)象的空間位置確定方法和裝置,以至少解決在不帶物理碰撞的游戲引擎中,使多個(gè)物體在空間位置上不發(fā)生重疊的方案運(yùn)行效率低的技術(shù)問題。

根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種控制對(duì)象的空間位置確定方法,該方法包括:游戲應(yīng)用的游戲引擎檢測(cè)到空間位置請(qǐng)求,其中,空間位置請(qǐng)求用于請(qǐng)求根據(jù)游戲應(yīng)用中的第一控制對(duì)象的第一空間位置確定第二控制對(duì)象的第二空間位置,游戲引擎為無物理碰撞引擎;游戲引擎根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,其中,多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置不重疊;游戲引擎將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種控制對(duì)象的空間位置確定裝置,該裝置包括:檢測(cè)單元,用于游戲應(yīng)用的游戲引擎檢測(cè)到空間位置請(qǐng)求,其中,空間位置請(qǐng)求用于請(qǐng)求根據(jù)游戲應(yīng)用中的第一控制對(duì)象的第一空間位置確定第二控制對(duì)象的第二空間位置,游戲引擎為無物理碰撞引擎;第一確定單元,用于游戲引擎根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,其中,多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置不重疊;第二確定單元,用于游戲引擎將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

采用本發(fā)明實(shí)施例,不帶物理碰撞條件的游戲引擎,在檢測(cè)到空間位置請(qǐng)求之后,根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,并將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。由于上述實(shí)施例中的多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置也不重疊,從該多個(gè)空間位置中選取一個(gè)未被占用的位置作為第二控制對(duì)象的第二空間位置,若第二控制對(duì)象為多個(gè),多個(gè)第二控制對(duì)象的位置不會(huì)發(fā)生重疊。通過上述方案,無需使用研發(fā)成本高、運(yùn)行效率低的帶物理碰撞的游戲引擎,即可在不帶物理碰撞的游戲引擎中對(duì)多個(gè)第一控制對(duì)象分配不重疊的空間位置,解決了現(xiàn)有技術(shù)中游戲引擎中多個(gè)物體在空間位置上不產(chǎn)生重疊的方案運(yùn)行效率低的問題。

附圖說明

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

圖1是根據(jù)現(xiàn)有技術(shù)的一種確定物體的空間位置的示意圖;

圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的計(jì)算機(jī)的網(wǎng)絡(luò)環(huán)境示意圖;

圖3是根據(jù)本發(fā)明實(shí)施例的控制對(duì)象的空間位置確定方法的流程圖;

圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的候選空間位置的分布示意圖;

圖5是根據(jù)本發(fā)明實(shí)施例的第二種可選的候選空間位置的分布示意圖;

圖6是根據(jù)本發(fā)明實(shí)施例的第三種可選的候選空間位置的分布示意圖;

圖7是根據(jù)本發(fā)明實(shí)施例的第四種可選的候選空間位置的分布示意圖;

圖8是根據(jù)本發(fā)明實(shí)施例的第五種可選的候選空間位置的分布示意圖;

圖9是根據(jù)本發(fā)明實(shí)施例的一種可選的空間位置請(qǐng)求生成的觸發(fā)條件 示意圖;

圖10是根據(jù)本發(fā)明實(shí)施例的空間位置確定方法生成的游戲界面示意圖;

圖11是根據(jù)本發(fā)明實(shí)施例的控制對(duì)象的空間位置確定裝置的示意圖;以及

圖12是根據(jù)本發(fā)明實(shí)施例的服務(wù)器的內(nèi)部結(jié)構(gòu)框圖。

具體實(shí)施方式

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

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

實(shí)施例1

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

可選地,在本實(shí)施例中,上述控制對(duì)象的空間位置確定方法可以應(yīng)用于如圖2所示的網(wǎng)絡(luò)環(huán)境中。該網(wǎng)絡(luò)環(huán)境包括終端201和服務(wù)器203,其中,終端可以與服務(wù)器通過網(wǎng)絡(luò)建立連接,終端和服務(wù)器上均可以設(shè)置處理器。

上述網(wǎng)絡(luò)包括但不限于:廣域網(wǎng)、城域網(wǎng)或局域網(wǎng)。優(yōu)選地,上述的網(wǎng)絡(luò)為局域網(wǎng);上述終端可以包括個(gè)人計(jì)算機(jī)、移動(dòng)終端(如手機(jī)、平板電腦等)。

圖3是根據(jù)本發(fā)明實(shí)施例的控制對(duì)象的空間位置確定方法的流程圖,如圖3所示,該方法包括如下步驟:

步驟s302:游戲應(yīng)用的游戲引擎檢測(cè)到空間位置請(qǐng)求,其中,空間位置請(qǐng)求用于請(qǐng)求根據(jù)游戲應(yīng)用中的第一控制對(duì)象的第一空間位置確定第二控制對(duì)象的第二空間位置,游戲引擎為無物理碰撞引擎,即,游戲應(yīng)用中的控制對(duì)象在空間位置上被允許重疊;

步驟s304:游戲引擎根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,其中,多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置不重疊;

步驟s306:游戲引擎將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

在確定第二空間位置之后,生成攜帶有第二空間位置的信息的通知,第二控制對(duì)象的ai(如人工智能控制單元)接收到該通知之后,將第二控制對(duì)象自行移動(dòng)至第二空間位置。

采用本發(fā)明實(shí)施例,不帶物理碰撞條件的游戲引擎,在檢測(cè)到空間位置請(qǐng)求之后,根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,并將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。由于上述實(shí)施例中的多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空 間位置也不重疊,從該多個(gè)空間位置中選取一個(gè)未被占用的位置作為第二控制對(duì)象的第二空間位置,若第二控制對(duì)象為多個(gè),多個(gè)第二控制對(duì)象的位置不會(huì)發(fā)生重疊。通過上述方案,無需使用研發(fā)成本高、運(yùn)行效率低的帶物理碰撞的游戲引擎,即可在不帶物理碰撞的游戲引擎中對(duì)多個(gè)第一控制對(duì)象分配不重疊的空間位置,解決了現(xiàn)有技術(shù)中游戲引擎中多個(gè)物體在空間位置上不產(chǎn)生重疊的方案運(yùn)行效率低的問題。

在上述實(shí)施例中的第一控制對(duì)象和第二控制對(duì)象可以為游戲角色,也可以為靜態(tài)的游戲中的物體。上述實(shí)施例中的第二控制對(duì)象可以為人工智能控制的對(duì)象,空間位置請(qǐng)求也是第二控制對(duì)象的人工智能控制單元生成的,上述方法的執(zhí)行主體可以是游戲引擎中的合圍管理器。

例如,第一控制對(duì)象可以為游戲玩家,第二控制對(duì)象可以為npc,該游戲玩家可以為用戶在使用游戲客戶端時(shí)通過輸入操作指令而控制的游戲角色。

通過上述實(shí)施例,在沒有物理碰撞的條件下,為多個(gè)npc分配游戲應(yīng)用的空間中不同的空間位置,且各個(gè)npc的空間位置各不相同,從而可以使ai通過合圍機(jī)制讓npc的站位表現(xiàn)更為真實(shí)和生動(dòng)。

具體地,上述的游戲應(yīng)用可以為網(wǎng)絡(luò)游戲應(yīng)用,用戶可以通過游戲賬號(hào)登錄終端上安裝的游戲客戶端,進(jìn)入游戲應(yīng)用的游戲場景。在進(jìn)入游戲場景之后,該游戲賬號(hào)對(duì)應(yīng)場景中的一個(gè)游戲角色(即上述實(shí)施例中的第一控制對(duì)象)。在游戲引擎接收到終端的游戲客戶端的啟動(dòng)指令之后,響應(yīng)于該啟動(dòng)指令,啟動(dòng)對(duì)應(yīng)的游戲項(xiàng)目。在游戲開始之后,檢測(cè)是否在游戲中出現(xiàn)npc,若出現(xiàn)了npc,檢測(cè)是否生成有空間位置請(qǐng)求,若有空間位置請(qǐng)求,則確定與第一控制對(duì)象的第一空間位置對(duì)應(yīng)的多個(gè)彼此不重疊的候選空間位置,從該多個(gè)空間位置中選取一個(gè)未被占用的候選空間位置確定為npc的第二空間位置,也即將該未被占用的候選空間位置分配至npc,通知該npc為其分配的第二空間位置,npc移動(dòng)至該第二空間位置。

可選地,游戲引擎也可以直接將該npc移動(dòng)至第二空間位置,本發(fā)明對(duì)此不做限定。

在上述實(shí)施例中,已經(jīng)被其他npc鎖定的空間位置不會(huì)被其他npc占用,可以讓多個(gè)npc合圍一個(gè)目標(biāo)的時(shí)候,不產(chǎn)生重疊并盡量使得游戲真實(shí),提高了用戶體驗(yàn)。

圖4示出了一種可選的候選空間位置的分布,如圖4所示的實(shí)施例中,游戲引擎根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置包括:在以第一空間位置為中心的空間區(qū)域內(nèi)確定多個(gè)候選空間位置,其中,每個(gè)候選空間位置與第一空間位置的距離不超過預(yù)設(shè)閾值。

如圖4所示,以第一空間位置為中心,以預(yù)設(shè)閾值為半徑,確定一個(gè)圓形的空間區(qū)域,在該圓形的空間區(qū)域中隨機(jī)設(shè)置多個(gè)候選空間位置,則每個(gè)候選空間位置與該第一空間位置的距離不超過預(yù)設(shè)閾值,且該多個(gè)候選空間位置包圍該第一空間位置。

因?yàn)椋谟螒驊?yīng)用中第二控制對(duì)象需對(duì)第一控制對(duì)象執(zhí)行操作(如合圍、攻擊等操作),將候選空間位置確定在距離第一空間位置不超過預(yù)設(shè)距離的范圍內(nèi),可以更好的實(shí)現(xiàn)游戲的合圍或攻擊功能。

在一個(gè)可選的實(shí)施例中,在以第一空間位置為中心的空間區(qū)域內(nèi)確定多個(gè)候選空間位置可以包括:在空間區(qū)域內(nèi),在以第一空間位置為中心的合圍圈上設(shè)置多個(gè)候選空間位置。

具體地,合圍圈為n個(gè),其中,在以第一空間位置為中心的合圍圈上設(shè)置多個(gè)候選空間位置包括:在n個(gè)合圍圈中的每個(gè)合圍圈上設(shè)置一組候選空間位置,其中,第i個(gè)合圍圈上設(shè)置有第i組候選空間位置,n為自然數(shù),i為小于等于n的自然數(shù)。

可以以第一空間位置為圓心設(shè)置n個(gè)合圍圈,每個(gè)合圍圈的半徑不同,每個(gè)合圍圈上設(shè)置一組候選空間位置,即,第i個(gè)合圍圈上設(shè)置有第i組候選空間位置,這樣減少了候選空間位置設(shè)置的隨機(jī)性,提高了處理器的 性能;并且,每個(gè)合圍圈上的候選空間位置距離一致,在選取第二空間位置時(shí),可以一個(gè)合圍圈一個(gè)合圍圈的選取,如先選取第一個(gè)合圍圈上的候選空間位置,若第一個(gè)合圍圈上沒有合適的位置,再選取第二個(gè)合圍圈上的位置,以此類推。該方案與隨機(jī)設(shè)置候選空間位置相比,設(shè)置時(shí)有規(guī)律、選取時(shí)也有規(guī)律,從而可以提高處理速度。

按照上述實(shí)施例設(shè)置候選空間位置時(shí),第i組候選空間位置在第i個(gè)合圍圈上均勻分布,每組候選空間位置的個(gè)數(shù)均不相同。

如圖5所示,可以在確定的空間區(qū)域內(nèi),設(shè)置3個(gè)合圍圈,三個(gè)合圍圈的半徑分別為r1、r2和r3,三個(gè)合圍圈的半徑不同,每個(gè)合圍圈上設(shè)置一組候選空間位置,每組候選空間位置的個(gè)數(shù)也不同。圖5中的第一組候選空間位置為5個(gè)、第二組候選空間位置為9個(gè),第三組候選空間位置為13個(gè),且每個(gè)合圍圈上的候選空間位置均勻分布。

需要說明的是,本申請(qǐng)實(shí)施例中的合圍圈僅是一個(gè)虛擬概念,可以按照半徑距離直接設(shè)置候選空間位置,而不設(shè)置合圍圈,也即在以第一控制對(duì)象為中心,按照不同的半徑距離設(shè)置n組候選空間位置,每組候選空間位置距離第一控制對(duì)象的距離可以相同。

在一種可選的實(shí)施例中,在以第一空間位置為中心的合圍圈上設(shè)置多個(gè)候選空間位置可以包括:按照第一控制對(duì)象和第二控制對(duì)象的屬性信息設(shè)置下述至少之一:第i個(gè)合圍圈與第一控制對(duì)象的距離、第i組候選空間位置的個(gè)數(shù)、以及第i組候選空間位置的分布方式。

在該可選的實(shí)施例中,可以按照第一控制對(duì)象和第二控制對(duì)象的屬性確定合圍圈的個(gè)數(shù)、每個(gè)合圍圈與第一控制對(duì)象的距離、每組候選空間位置的個(gè)數(shù)、以及候選空間位置的分布方式(如均勻分布或不均勻分布)。

為了讓多個(gè)npc合圍同一個(gè)目標(biāo)的時(shí)候不產(chǎn)生重疊并盡量能夠真實(shí),本申請(qǐng)實(shí)施例將多個(gè)候選空間位置稱之為“陣形”。如圖6所示,一個(gè)陣形是目標(biāo)(即第一控制對(duì)象)周圍一系列虛擬的點(diǎn)(即候選空間位置)。

在設(shè)置候選空間位置時(shí),多個(gè)候選空間位置中的各個(gè)候選空間位置與目標(biāo)對(duì)象(即第一控制對(duì)象)所在的第一空間位置的連接互不重合,以使處于每個(gè)候選空間位置上的npc對(duì)象均可直接對(duì)目標(biāo)對(duì)象執(zhí)行操作,也即,每個(gè)候選空間位置均被設(shè)置為可直接對(duì)目標(biāo)對(duì)象執(zhí)行操作的位置。

在一個(gè)可選的實(shí)現(xiàn)方案中,可以按照任意兩個(gè)候選空間位置和第一空間位置確定的夾角來設(shè)置每個(gè)候選空間位置,該夾角以第一空間位置為頂點(diǎn),以任意兩個(gè)候選空間位置中一個(gè)候選空間位置與頂點(diǎn)的連線作為一條邊,以任意兩個(gè)候選空間位置中另一個(gè)候選空間位置與頂點(diǎn)的連線作為另一條邊。

具體地,先將目標(biāo)對(duì)象周圍的空間(即上述實(shí)施例中的空間區(qū)域)離目標(biāo)對(duì)象的距離遠(yuǎn)近分n個(gè)“合圍圈”(如圖6所示為三個(gè)合圍圈,三個(gè)合圍圈可以為半徑分別為r1,r2,以及r3的三個(gè)圓周),在合圍圈上的合適的角度上分配一個(gè)“合圍點(diǎn)”(即候選空間位置),該合適的角度可以基于游戲應(yīng)用的場景自定義,也可以根據(jù)目標(biāo)對(duì)象和npc對(duì)象的屬性設(shè)置,如圖6所示,h1和h2的夾角、h3和h4的夾角、h5和h6的夾角分別為a1、a2和a3)。其中合圍圈的半徑r和數(shù)量n,每一合圍圈上合圍點(diǎn)的數(shù)量(此變量也可通過合圍點(diǎn)的夾角a確定)均可根據(jù)業(yè)務(wù)需要自行定義。同樣的,合圍點(diǎn)的分布方式也不一定是合圍圈的方式,可以是任意的形狀。

需要進(jìn)一步說明的是,為了使多個(gè)候選空間位置的合圍效果更加逼真,可以對(duì)多個(gè)候選空間位置的相對(duì)位置按照偏移向量進(jìn)行調(diào)整,如圖7所示,可以對(duì)合圍點(diǎn)的相對(duì)位置進(jìn)行一些距離和角度上的隨機(jī)偏移,造成參差不齊的效果,也即,調(diào)整后合圍圈與第一控制對(duì)象的距離可以不變,每個(gè)合圍圈上的候選空間位置發(fā)生變化,變化后的候選空間位置可以不再位于合圍圈上。

上述實(shí)施例中確定第二空間位置時(shí),可以按照預(yù)先定義的優(yōu)先級(jí)選取方式選取,如按照距離最短優(yōu)先的選取方式、距離相鄰的候選空間位置最遠(yuǎn)的選取方式等,該預(yù)先定義的優(yōu)先級(jí)選取方式也可根據(jù)業(yè)務(wù)需要自行定 義,一般來說可以遵循最短距離優(yōu)先原則,也就是給npc(如怪物)分配一個(gè)距離目標(biāo)對(duì)象較近的合圍圈上離自己當(dāng)前位置最近的合圍點(diǎn)。

也即,游戲引擎將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置可以包括:將多個(gè)候選空間位置中一個(gè)距離第一空間位置最近、且未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

具體地,在確定第一空間位置之后,獲取距離第一空間位置最近的合圍圈,從當(dāng)前獲取的合圍圈中選取未被占用的候選空間位置,若該當(dāng)前獲取的合圍圈中的候選空間位置均被占用,則獲取下一個(gè)距離最近的合圍圈,以此類推,直至找到被占用的合圍圈。

在上述實(shí)施例中,若同一個(gè)合圍圈中有幾個(gè)未被占用的候選空間位置,則可以隨機(jī)從該未被占用的候選空間位置中選取一個(gè)作為第二空間位置;也可以從該未被占用的候選空間位置中選取一個(gè)距離第二控制對(duì)象當(dāng)前位置最近的位置作為第二空間位置;若第二控制對(duì)象的當(dāng)前位置為空(也即,第二控制對(duì)象尚未存在于該游戲空間中),則可以隨機(jī)選取。

在本發(fā)明的上述實(shí)施例中,每個(gè)候選空間位置可以具有一個(gè)狀態(tài)標(biāo)志,該狀態(tài)標(biāo)志用于指示候選空間位置是否被占用,也即,可以通過狀態(tài)標(biāo)志確定對(duì)應(yīng)的候選空間位置是否被占用。在將多個(gè)候選空間位置中一個(gè)距離第一空間位置最近、且未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置之后,將距離第一空間位置最近、且未被占用的候選空間位置的狀態(tài)修改為被占用狀態(tài)。

每次確定好第二空間位置之后,把確定的第二空間位置的狀態(tài)修改為被占用狀態(tài),同理,在每次npc消失之后,將消失的npc的空間位置的狀態(tài)再修改回未被占用的狀態(tài),以下次選取空間位置時(shí)可以保證準(zhǔn)確確定第二控制對(duì)象的空間位置。

下面結(jié)合圖8詳述本發(fā)明上述實(shí)施例,如圖8所示,在檢測(cè)到位置確 定請(qǐng)求之后,確定第一控制對(duì)象的第一空間位置的多個(gè)候選空間位置(該候選空間位置的確定可以采用上述任意一種實(shí)施例中的確定方式),如圖8所示的實(shí)施例中,確定的候選空間位置有些已經(jīng)被占用,如圖8中第一個(gè)合圍圈中的h11、h12、h13和h14已經(jīng)被占用,第二個(gè)合圍圈中的h23已經(jīng)被占用,按照上述的選取方案,可以選取第一個(gè)合圍圈中未被占用的候選空間位置h15,并將h15確定為第二空間位置,游戲引擎生成攜帶有第二空間位置的信息的通知,將該通知發(fā)送至第二控制對(duì)象的人工控制單元,該人工控制單元自行將第二控制對(duì)象移動(dòng)至該第二空間位置,以對(duì)第一控制對(duì)象執(zhí)行攻擊等操作。

圖8中被涂黑的候選空間位置表示被占用的候選空間位置。

本發(fā)明上述實(shí)施例中,游戲應(yīng)用的游戲引擎檢測(cè)到空間位置請(qǐng)求可以包括:若游戲引擎接收到第二控制對(duì)象對(duì)第一控制對(duì)象的操作指令,則確定檢測(cè)到空間位置請(qǐng)求;或者,在第一控制對(duì)象位于第三空間位置、且第一控制對(duì)象被多個(gè)位于第四空間位置的第二控制對(duì)象包圍的情況下,若檢測(cè)到第一控制對(duì)象移動(dòng)至第一空間位置、且第一空間位置與第三空間位置的距離超過預(yù)設(shè)距離,則確定檢測(cè)到空間位置請(qǐng)求。

可選地,在第一控制對(duì)象位于第三空間位置、且第一控制對(duì)象被多個(gè)位于第四空間位置的第二控制對(duì)象包圍的情況下,方法還包括:在檢測(cè)到第一控制對(duì)象移動(dòng)至第一空間位置的情況下,若第一空間位置與第三空間位置的距離未超過預(yù)設(shè)距離,則基于第一空間位置和第三空間位置確定第一控制對(duì)象的移動(dòng)向量;按照移動(dòng)向量,將第二控制對(duì)象從第二空間位置平移至第五空間位置。也即,若第一控制對(duì)象的移動(dòng)幅度不大,則基于第一控制對(duì)象的移動(dòng),平移第二控制對(duì)象,而無需重新生成一個(gè)空間位置請(qǐng)求,以節(jié)省資源。

在一個(gè)可選的實(shí)施例中,在啟動(dòng)游戲功能之后,當(dāng)?shù)诙刂茖?duì)象攻擊第一控制對(duì)象時(shí),生成操作指令,如攻擊指令、圍攻指令等,并生成空間位置請(qǐng)求,則游戲引擎可以檢測(cè)到該空間位置請(qǐng)求;在一個(gè)可選的實(shí)施例 中,若檢測(cè)到npc生成該操作指令,則確定檢測(cè)到空間位置請(qǐng)求。

在另一個(gè)可選的實(shí)施例中,在啟動(dòng)游戲功能之后,第一控制對(duì)象位于第三空間位置、且第一控制對(duì)象被多個(gè)位于第四空間位置的第二控制對(duì)象包圍,在第一控制對(duì)象處于上述的狀態(tài)時(shí),若游戲引擎檢測(cè)到第一控制對(duì)象的位置移動(dòng)至第一空間位置,且該次移動(dòng)幅度很大,如第三控制位置移動(dòng)的距離超出預(yù)設(shè)距離范圍,則npc生成空間位置請(qǐng)求,以重新獲取pc的空間位置。

下面結(jié)合圖9詳述本發(fā)明實(shí)施例,當(dāng)?shù)谝豢刂茖?duì)象位于第三空間位置,且有3個(gè)位于第四空間位置的第二控制對(duì)象包圍著第一控制對(duì)象,若第一控制對(duì)象發(fā)生移動(dòng),且移動(dòng)距離較遠(yuǎn),則npc的ai生成空間位置請(qǐng)求,重新申請(qǐng)空間位置。

當(dāng)npc攻擊該目標(biāo)時(shí),首先從多個(gè)候選空間位置中申請(qǐng)一個(gè)合圍點(diǎn)(即第二空間位置)作為該npc的站位點(diǎn),并在合圍點(diǎn)上記錄當(dāng)前狀態(tài),已經(jīng)被其他npc鎖定的合圍點(diǎn)不能再被其他npc占用,如被涂黑的候選空間位置所示,剩余的npc只能從剩余的未被占用的合圍點(diǎn)中選取。

合圍點(diǎn)選取的優(yōu)先級(jí)算法也可根據(jù)業(yè)務(wù)需要自行定義,一般來說遵循最短距離優(yōu)先原則,也就是給怪物(即第二控制對(duì)象)分配一個(gè)距離目標(biāo)較近的合圍圈上離自己當(dāng)前位置最近的合圍點(diǎn),如圖中的第二空間位置。

由于合圍目標(biāo)不一定是靜止不動(dòng)的,當(dāng)目標(biāo)在不斷移動(dòng)時(shí),整個(gè)“陣形”也會(huì)基于目標(biāo)不斷整體平移,也就是每個(gè)合圍點(diǎn)絕對(duì)坐標(biāo)會(huì)不斷變化。因此npc申請(qǐng)到合圍點(diǎn)以后,ai需要不斷對(duì)合圍點(diǎn)當(dāng)前的坐標(biāo)進(jìn)行判定,如果發(fā)現(xiàn)自己和合圍點(diǎn)偏離較遠(yuǎn),就向新坐標(biāo)發(fā)起移動(dòng)。同時(shí),如果目標(biāo)一次性移動(dòng)較原始坐標(biāo)偏離較遠(yuǎn)(如圖9所示的狀態(tài)),導(dǎo)致合圍的npc的相對(duì)位置發(fā)生較大改變,也可以一次性重置所有合圍點(diǎn),讓npc重新發(fā)起申請(qǐng)。

如圖10所示,通過本發(fā)明上述實(shí)施例生成的游戲場景(如圖10中的 游戲界面)中若有4個(gè)第二控制對(duì)象(npc1、npc2、npc3和npc4)和一個(gè)第一控制對(duì)象(即目標(biāo)對(duì)象m1),則四個(gè)第二控制對(duì)象對(duì)第一控制對(duì)象生成合圍之勢(shì),與圖1相比,四個(gè)npc的空間位置沒有重疊。

通過本發(fā)明上述實(shí)施例,在不帶物理碰撞的游戲中,怪物合圍也可以模擬出有碰撞的效果,從而使怪物表現(xiàn)更為真實(shí)。

需要說明的是,對(duì)于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。

實(shí)施例2

根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述控制對(duì)象的空間位置確定方法,如圖11所示,該裝置可以包括:

可選地,在本實(shí)施例中,上述控制對(duì)象的空間位置確定方法也可以應(yīng)用于如圖2所示的網(wǎng)絡(luò)環(huán)境中。

如圖11所示,該控制對(duì)象的空間位置確定裝置包括如下:檢測(cè)單元111、第一確定單元113和第二確定單元115。

其中,檢測(cè)單元,用于游戲應(yīng)用的游戲引擎檢測(cè)到空間位置請(qǐng)求,其 中,空間位置請(qǐng)求用于請(qǐng)求根據(jù)游戲應(yīng)用中的第一控制對(duì)象的第一空間位置確定第二控制對(duì)象的第二空間位置,游戲引擎為無物理碰撞引擎,如,游戲應(yīng)用中的控制對(duì)象在空間位置上被允許重疊;

第一確定單元,用于游戲引擎根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,其中,多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置不重疊;

第二確定單元,用于游戲引擎將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

在確定第二空間位置之后,生成攜帶有第二空間位置的信息的通知,第二控制對(duì)象的ai(如人工智能控制單元)接收到該通知之后,將第二控制對(duì)象自行移動(dòng)至第二空間位置。

該實(shí)施例中的裝置可以安裝在游戲應(yīng)用的游戲引擎中,該游戲引擎可以位于該游戲應(yīng)用對(duì)應(yīng)的服務(wù)器上。

采用本發(fā)明實(shí)施例,不帶物理碰撞條件的游戲引擎,在檢測(cè)到空間位置請(qǐng)求之后,根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,并將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。由于上述實(shí)施例中的多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置也不重疊,從該多個(gè)空間位置中選取一個(gè)未被占用的位置作為第二控制對(duì)象的第二空間位置,若第二控制對(duì)象為多個(gè),多個(gè)第二控制對(duì)象的位置不會(huì)發(fā)生重疊。通過上述方案,無需使用研發(fā)成本高、運(yùn)行效率低的帶物理碰撞的游戲引擎,即可在不帶物理碰撞的游戲引擎中對(duì)多個(gè)第一控制對(duì)象分配不重疊的空間位置,解決了現(xiàn)有技術(shù)中游戲引擎中多個(gè)物體在空間位置上不產(chǎn)生重疊的方案運(yùn)行效率低的問題。

在上述實(shí)施例中的第一控制對(duì)象和第二控制對(duì)象可以為游戲角色,也可以為靜態(tài)的游戲中的物體。上述實(shí)施例中的第二控制對(duì)象可以為人工智 能控制的對(duì)象,空間位置請(qǐng)求也是第二控制對(duì)象的人工智能控制單元生成的,上述方法的執(zhí)行主體可以是游戲引擎中的合圍管理器。

例如,第一控制對(duì)象可以為游戲玩家,第二控制對(duì)象可以為npc,該游戲玩家可以為用戶在使用游戲客戶端時(shí)通過輸入操作指令而控制的游戲角色。

通過上述實(shí)施例,在沒有物理碰撞的條件下,為多個(gè)npc分配游戲應(yīng)用的空間中不同的空間位置,且各個(gè)npc的空間位置各不相同,從而可以使ai通過合圍機(jī)制讓npc的站位表現(xiàn)更為真實(shí)和生動(dòng)。

根據(jù)本發(fā)明的上述實(shí)施例,第一確定單元可以包括:確定模塊,用于在以第一空間位置為中心的空間區(qū)域內(nèi)確定多個(gè)候選空間位置,其中,每個(gè)候選空間位置與第一空間位置的距離不超過預(yù)設(shè)閾值。

以第一空間位置為中心,以預(yù)設(shè)閾值為半徑,確定一個(gè)圓形的空間區(qū)域,在該圓形的空間區(qū)域中隨機(jī)設(shè)置多個(gè)候選空間位置,則每個(gè)候選空間位置與該第一空間位置的距離不超過預(yù)設(shè)閾值,且該多個(gè)候選空間位置包圍該第一空間位置。

因?yàn)?,在游戲?yīng)用中第二控制對(duì)象需對(duì)第一控制對(duì)象執(zhí)行操作(如合圍、攻擊等操作),將候選空間位置確定在距離第一空間位置不超過預(yù)設(shè)距離的范圍內(nèi),可以更好的實(shí)現(xiàn)游戲的合圍或攻擊功能。

在一個(gè)可選的實(shí)施例中,確定模塊可以包括:設(shè)置子模塊,用于在空間區(qū)域內(nèi),在以第一空間位置為中心的合圍圈上設(shè)置多個(gè)候選空間位置。

具體地,合圍圈為n個(gè),其中,設(shè)置子模塊包括:第一位置設(shè)置子模塊,用于在n個(gè)合圍圈中的每個(gè)合圍圈上設(shè)置一組候選空間位置,其中,第i個(gè)合圍圈上設(shè)置有第i組候選空間位置,n為自然數(shù),i為小于等于n的自然數(shù)。

可以以第一空間位置為圓心設(shè)置n個(gè)合圍圈,每個(gè)合圍圈的半徑不同,每個(gè)合圍圈上設(shè)置一組候選空間位置,即,第i個(gè)合圍圈上設(shè)置有第i組 候選空間位置,這樣減少了候選空間位置設(shè)置的隨機(jī)性,提高了處理器的性能;并且,每個(gè)合圍圈上的候選空間位置距離一致,在選取第二空間位置時(shí),可以一個(gè)合圍圈一個(gè)合圍圈的選取,如先選取第一個(gè)合圍圈上的候選空間位置,若第一個(gè)合圍圈上沒有合適的位置,再選取第二個(gè)合圍圈上的位置,以此類推。該方案與隨機(jī)設(shè)置候選空間位置相比,設(shè)置時(shí)有規(guī)律、選取時(shí)也有規(guī)律,從而可以提高處理速度。

按照上述實(shí)施例設(shè)置候選空間位置時(shí),第i組候選空間位置在第i個(gè)合圍圈上均勻分布,每組候選空間位置的個(gè)數(shù)均不相同。

可選地,第i組候選空間位置在第i個(gè)合圍圈上也可以不均勻分布,每組候選空間位置的個(gè)數(shù)也可以相同。

需要說明的是,本申請(qǐng)實(shí)施例中的合圍圈僅是一個(gè)虛擬概念,可以按照半徑距離直接設(shè)置候選空間位置,而不設(shè)置合圍圈,也即在以第一控制對(duì)象為中心,按照不同的半徑距離設(shè)置n組候選空間位置,每組候選空間位置距離第一控制對(duì)象的距離可以相同。

在另一種可選的實(shí)現(xiàn)方式中,設(shè)置子模塊包括:第二位置設(shè)置子模塊,用于按照第一控制對(duì)象和第二控制對(duì)象的屬性信息設(shè)置下述至少之一:第i個(gè)合圍圈與第一控制對(duì)象的距離、第i組候選空間位置的個(gè)數(shù)、以及第i組候選空間位置的分布方式。

在該可選的實(shí)施例中,可以按照第一控制對(duì)象和第二控制對(duì)象的屬性確定合圍圈的個(gè)數(shù)、每個(gè)合圍圈與第一控制對(duì)象的距離、每組候選空間位置的個(gè)數(shù)、以及候選空間位置的分布方式(如均勻分布或不均勻分布)。

在設(shè)置候選空間位置時(shí),多個(gè)候選空間位置中的各個(gè)候選空間位置與目標(biāo)對(duì)象(即第一控制對(duì)象)所在的第一空間位置的連接互不重合,以使處于每個(gè)候選空間位置上的npc對(duì)象均可直接對(duì)目標(biāo)對(duì)象執(zhí)行操作,也即,每個(gè)候選空間位置均被設(shè)置為可直接對(duì)目標(biāo)對(duì)象執(zhí)行操作的位置。

上述實(shí)施例中確定第二空間位置時(shí),可以按照預(yù)先定義的優(yōu)先級(jí)選取 方式選取,如按照距離最短優(yōu)先的選取方式、距離相鄰的候選空間位置最遠(yuǎn)的選取方式等,該預(yù)先定義的優(yōu)先級(jí)選取方式也可根據(jù)業(yè)務(wù)需要自行定義,一般來說可以遵循最短距離優(yōu)先原則,也就是給npc(如怪物)分配一個(gè)距離目標(biāo)對(duì)象較近的合圍圈上離自己當(dāng)前位置最近的合圍點(diǎn)。

也即,第二確定單元包括的位置選取模塊,用于將多個(gè)候選空間位置中一個(gè)距離第一空間位置最近、且未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

具體地,在確定第一空間位置之后,獲取距離第一空間位置最近的合圍圈,從當(dāng)前獲取的合圍圈中選取未被占用的候選空間位置,若該當(dāng)前獲取的合圍圈中的候選空間位置均被占用,則獲取下一個(gè)距離最近的合圍圈,以此類推,直至找到被占用的合圍圈。

在本發(fā)明的上述實(shí)施例中,每個(gè)候選空間位置可以具有一個(gè)狀態(tài)標(biāo)志,該狀態(tài)標(biāo)志用于指示候選空間位置是否被占用,也即,可以通過狀態(tài)標(biāo)志確定對(duì)應(yīng)的候選空間位置是否被占用。在將多個(gè)候選空間位置中一個(gè)距離第一空間位置最近、且未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置之后,通過狀態(tài)修改單元將距離第一空間位置最近、且未被占用的候選空間位置的狀態(tài)修改為被占用狀態(tài)。

本發(fā)明上述實(shí)施例中,檢測(cè)單元包括:第一檢測(cè)模塊,用于在接收到第二控制對(duì)象對(duì)第一控制對(duì)象的操作指令時(shí),確定檢測(cè)到空間位置請(qǐng)求;或者,第二檢測(cè)模塊,用于在第一控制對(duì)象位于第三空間位置、且第一控制對(duì)象被多個(gè)位于第四空間位置的第二控制對(duì)象包圍的情況下,若檢測(cè)到第一控制對(duì)象移動(dòng)至第一空間位置、且第一空間位置與第三空間位置的距離超過預(yù)設(shè)距離,則確定檢測(cè)到空間位置請(qǐng)求。

上述的兩種為觸發(fā)生成空間位置請(qǐng)求的觸發(fā)條件。

可選地,第二檢測(cè)模塊還用于在檢測(cè)到第一控制對(duì)象移動(dòng)至第一空間位置的情況下,若第一空間位置與第三空間位置的距離未超過預(yù)設(shè)距離, 則基于第一空間位置和第三空間位置確定第一控制對(duì)象的移動(dòng)向量;按照移動(dòng)向量,將第二控制對(duì)象從第二空間位置平移至第五空間位置。

由于合圍目標(biāo)不一定是靜止不動(dòng)的,當(dāng)目標(biāo)在不斷移動(dòng)時(shí),整個(gè)“陣形”也會(huì)基于目標(biāo)不斷整體平移,也就是每個(gè)合圍點(diǎn)絕對(duì)坐標(biāo)會(huì)不斷變化。因此npc申請(qǐng)到合圍點(diǎn)以后,ai需要不斷對(duì)合圍點(diǎn)當(dāng)前的坐標(biāo)進(jìn)行判定,如果發(fā)現(xiàn)自己和合圍點(diǎn)偏離較遠(yuǎn),就向新坐標(biāo)發(fā)起移動(dòng)。同時(shí),如果目標(biāo)一次性移動(dòng)較原始坐標(biāo)偏離較遠(yuǎn)(如圖8所示的狀態(tài)),導(dǎo)致合圍的npc的相對(duì)位置發(fā)生較大改變,也可以一次性重置所有合圍點(diǎn),讓npc重新發(fā)起申請(qǐng)。

通過本發(fā)明上述實(shí)施例,在不帶物理碰撞的游戲中,怪物合圍也可以模擬出有碰撞的效果,從而使怪物表現(xiàn)更為真實(shí)。

本實(shí)施例中所提供的各個(gè)模塊與方法實(shí)施例對(duì)應(yīng)步驟所提供的使用方法相同、應(yīng)用場景也可以相同。當(dāng)然,需要注意的是,上述模塊涉及的方案可以不限于上述實(shí)施例中的內(nèi)容和場景,且上述模塊可以運(yùn)行在計(jì)算機(jī)終端或移動(dòng)終端,可以通過軟件或硬件實(shí)現(xiàn)。

實(shí)施例3

根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述控制對(duì)象的空間位置確定方法的服務(wù)器。

如圖12所示,該服務(wù)器包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器1201、存儲(chǔ)器1203、以及傳輸裝置1205(如上述實(shí)施例中的發(fā)送裝置),如圖12所示,該終端還可以包括輸入輸出設(shè)備1207。

其中,存儲(chǔ)器1203可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的控制對(duì)象的空間位置確定方法和裝置對(duì)應(yīng)的程序指令/模塊,處理器1201通過運(yùn)行存儲(chǔ)在存儲(chǔ)器1203內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的控制對(duì)象的空間位置確定方法。存儲(chǔ)器1203可包括高速隨機(jī)存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,如一個(gè) 或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器1203可進(jìn)一步包括相對(duì)于處理器1201遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至終端。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。

上述的傳輸裝置1205用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù),還可以用于處理器與存儲(chǔ)器之間的數(shù)據(jù)傳輸。上述的網(wǎng)絡(luò)具體實(shí)例可包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置1205包括一個(gè)網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置1205為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。

其中,具體地,存儲(chǔ)器1203用于存儲(chǔ)應(yīng)用程序。

處理器1201可以通過傳輸裝置1205調(diào)用存儲(chǔ)器1203存儲(chǔ)的應(yīng)用程序,以執(zhí)行下述步驟:

s1,游戲應(yīng)用的游戲引擎檢測(cè)到空間位置請(qǐng)求,其中,空間位置請(qǐng)求用于請(qǐng)求根據(jù)游戲應(yīng)用中的第一控制對(duì)象的第一空間位置確定第二控制對(duì)象的第二空間位置,游戲引擎為無物理碰撞引擎,如,游戲應(yīng)用中的控制對(duì)象在空間位置上被允許重疊;

s2,游戲引擎根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,其中,多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置不重疊;

s3,游戲引擎將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

處理器1201可以通過傳輸裝置1205調(diào)用存儲(chǔ)器1203存儲(chǔ)的應(yīng)用程序,以執(zhí)行下述步驟:

在以第一空間位置為中心的空間區(qū)域內(nèi)確定多個(gè)候選空間位置,其中, 每個(gè)候選空間位置與第一空間位置的距離不超過預(yù)設(shè)閾值。

采用本發(fā)明實(shí)施例,不帶物理碰撞條件的游戲引擎,在檢測(cè)到空間位置請(qǐng)求之后,根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,并將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。由于上述實(shí)施例中的多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置也不重疊,從該多個(gè)空間位置中選取一個(gè)未被占用的位置作為第二控制對(duì)象的第二空間位置,若第二控制對(duì)象為多個(gè),多個(gè)第二控制對(duì)象的位置不會(huì)發(fā)生重疊。通過上述方案,無需使用研發(fā)成本高、運(yùn)行效率低的帶物理碰撞的游戲引擎,即可在不帶物理碰撞的游戲引擎中對(duì)多個(gè)第一控制對(duì)象分配不重疊的空間位置,解決了現(xiàn)有技術(shù)中游戲引擎中多個(gè)物體在空間位置上不產(chǎn)生重疊的方案運(yùn)行效率低的問題。

可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例中所描述的示例,本實(shí)施例在此不再贅述。

需要進(jìn)一步說明的是,寄存區(qū)域?yàn)橄到y(tǒng)的內(nèi)存和系統(tǒng)處理器中的寄存器。

本領(lǐng)域普通技術(shù)人員可以理解,圖12所示的結(jié)構(gòu)僅為示意,終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖12其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,終端還可包括比圖12中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖12所示不同的配置。

本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取器(randomaccessmemory,ram)、磁盤或光盤等。

實(shí)施例4

本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于存儲(chǔ)執(zhí)行控制對(duì)象的空間位置確定方法的程序代碼。

可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于圖2所示的網(wǎng)絡(luò)中的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備。

可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:

s1,游戲應(yīng)用的游戲引擎檢測(cè)到空間位置請(qǐng)求,其中,空間位置請(qǐng)求用于請(qǐng)求根據(jù)游戲應(yīng)用中的第一控制對(duì)象的第一空間位置確定第二控制對(duì)象的第二空間位置,游戲引擎為無物理碰撞引擎,如,游戲應(yīng)用中的控制對(duì)象在空間位置上可重疊;

s2,游戲引擎根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,其中,多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置不重疊;

s3,游戲引擎將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。

可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:

在以第一空間位置為中心的空間區(qū)域內(nèi)確定多個(gè)候選空間位置,其中,每個(gè)候選空間位置與第一空間位置的距離不超過預(yù)設(shè)閾值。

采用本發(fā)明實(shí)施例,不帶物理碰撞條件的游戲引擎,在檢測(cè)到空間位置請(qǐng)求之后,根據(jù)第一控制對(duì)象的第一空間位置確定多個(gè)候選空間位置,并將多個(gè)候選空間位置中的一個(gè)未被占用的候選空間位置確定為第二控制對(duì)象的第二空間位置。由于上述實(shí)施例中的多個(gè)候選空間位置包圍第一空間位置,且多個(gè)候選空間位置彼此不重疊,多個(gè)候選空間位置與第一空間位置也不重疊,從該多個(gè)空間位置中選取一個(gè)未被占用的位置作為第二 控制對(duì)象的第二空間位置,若第二控制對(duì)象為多個(gè),多個(gè)第二控制對(duì)象的位置不會(huì)發(fā)生重疊。通過上述方案,無需使用研發(fā)成本高、運(yùn)行效率低的帶物理碰撞的游戲引擎,即可在不帶物理碰撞的游戲引擎中對(duì)多個(gè)第一控制對(duì)象分配不重疊的空間位置,解決了現(xiàn)有技術(shù)中游戲引擎中多個(gè)物體在空間位置上不產(chǎn)生重疊的方案運(yùn)行效率低的問題。

可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以包括但不限于:u盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例中所描述的示例,本實(shí)施例在此不再贅述。

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

上述實(shí)施例中的集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在上述計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)或多臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。

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

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

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

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

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

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
北碚区| 朝阳区| 尚志市| 八宿县| 潞城市| 东至县| 扶余县| 阳新县| 西乡县| 衢州市| 兴隆县| 西乌珠穆沁旗| 鹤峰县| 龙海市| 天镇县| 宁波市| 越西县| 秦皇岛市| 阜新市| 竹山县| 永善县| 阳原县| 大丰市| 山丹县| 来宾市| 东明县| 青岛市| 定日县| 余姚市| 永川市| 唐河县| 安图县| 稻城县| 金阳县| 合江县| 榆林市| 江北区| 深水埗区| 景德镇市| 达拉特旗| 宜都市|