两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種虛擬角色的移動(dòng)方法及裝置的制造方法

文檔序號(hào):9337278閱讀:236來源:國知局
一種虛擬角色的移動(dòng)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)通信技術(shù)領(lǐng)域,特別涉及一種虛擬角色的移動(dòng)方法及裝置。
【背景技術(shù)】
[0002]目前,大部分的MMO(Massively Multiplayer Online,大型多人在線)游戲都具有自動(dòng)尋路功能。其中,當(dāng)虛擬角色位于游戲場景上的位置A時(shí),如果玩家點(diǎn)擊游戲場景上的位置B,則虛擬角色就會(huì)自動(dòng)尋路,從位置A移動(dòng)到位置B。進(jìn)一步的,在虛擬角色從位置A移動(dòng)到位置B的過程中,可能會(huì)有很多的障礙物,虛擬角色能夠自動(dòng)繞過這些障礙物,最終達(dá)到位置B。
[0003]現(xiàn)有技術(shù),例如,尋路插件Navmesh所采用的尋路方法和A*尋路方法中,為了使虛擬角色能夠自動(dòng)繞過障礙物,會(huì)根據(jù)障礙物的位置預(yù)先計(jì)算出一條靜態(tài)的可行走路線,并基于靜態(tài)的可行走路線自動(dòng)繞過障礙物。例如,根據(jù)位置A與位置B之間的障礙物的位置預(yù)先計(jì)算出一條靜態(tài)的位置A與位置B之間的可行走路線,基于此位置A與位置B之間的可行走路線,虛擬角色能夠自動(dòng)繞過位置A與位置B之間的障礙物,從位置A移動(dòng)到位置B。
[0004]在上述方式中,需要根據(jù)位置A與位置B之間的障礙物的位置預(yù)先計(jì)算出一條靜態(tài)的可行走路線,這就要求在位置A與位置B之間的障礙物的位置不會(huì)發(fā)生變化。如果在位置A與位置B之間的障礙物的位置發(fā)生變化,則虛擬角色無法自動(dòng)繞過位置發(fā)生變化的障礙物。而且,如果在位置A與位置B之間增加了新的障礙物,則虛擬角色無法自動(dòng)繞過新增加的障礙物。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實(shí)施例公開了一種虛擬角色的移動(dòng)方法及裝置,以能夠動(dòng)態(tài)得到虛擬角色在移動(dòng)過程中躲避障礙物的線路,實(shí)現(xiàn)智能行為模擬。
[0006]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種虛擬角色的移動(dòng)方法,在目標(biāo)虛擬角色從第一位置移動(dòng)到第二位置的過程中,所述方法包括:
[0007]檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個(gè)目標(biāo)對(duì)象;
[0008]若存在至少一個(gè)目標(biāo)對(duì)象,則分別根據(jù)所述目標(biāo)虛擬角色與各個(gè)目標(biāo)對(duì)象之間的移動(dòng)模式,利用所述目標(biāo)虛擬角色與每個(gè)目標(biāo)對(duì)象之間的距離計(jì)算所述目標(biāo)虛擬角色針對(duì)每個(gè)目標(biāo)對(duì)象的個(gè)體動(dòng)力信息;
[0009]根據(jù)計(jì)算得到的個(gè)體動(dòng)力信息,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度;
[0010]控制所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng)。
[0011]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述虛擬角色的移動(dòng)方法還包括:
[0012]在控制所述目標(biāo)虛擬角色移動(dòng)的過程中,根據(jù)所述運(yùn)動(dòng)速度的運(yùn)動(dòng)方向分量、所述目標(biāo)虛擬角色的當(dāng)前朝向以及插值因子,按照預(yù)設(shè)的插值算法確定所述目標(biāo)虛擬角色的朝向;
[0013]根據(jù)所確定的朝向調(diào)整所述目標(biāo)虛擬角色的朝向。
[0014]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述根據(jù)計(jì)算得到的個(gè)體動(dòng)力信息,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度,包括:
[0015]按照以下表達(dá)式,確定所述目標(biāo)虛擬角色針對(duì)各個(gè)目標(biāo)對(duì)象的綜合動(dòng)力信息P,
[0016]P =+W1^Pn+"*
[0017]其中,^表示所述目標(biāo)虛擬角色針對(duì)第η個(gè)目標(biāo)對(duì)象的個(gè)體動(dòng)力信息,Wn表示Pn的加權(quán)系數(shù);
[0018]根據(jù)所述綜合動(dòng)力信息P,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度。
[0019]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述根據(jù)所述綜合動(dòng)力信息P,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度,包括:
[0020]根據(jù)所述綜合動(dòng)力信息P,計(jì)算所述目標(biāo)虛擬角色的加速度信息;
[0021]根據(jù)所述加速度信息,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度。
[0022]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個(gè)目標(biāo)對(duì)象,包括:
[0023]按照預(yù)設(shè)的時(shí)間間隔檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個(gè)目標(biāo)對(duì)象,并在存在至少一個(gè)目標(biāo)對(duì)象的情況下,收集所檢測到的目標(biāo)對(duì)象的信息;
[0024]所述分別根據(jù)所述目標(biāo)虛擬角色與各個(gè)目標(biāo)對(duì)象之間的移動(dòng)模式,利用所述目標(biāo)虛擬角色與每個(gè)目標(biāo)對(duì)象之間的距離計(jì)算所述目標(biāo)虛擬角色針對(duì)每個(gè)目標(biāo)對(duì)象的個(gè)體動(dòng)力信息,包括:
[0025]根據(jù)所收集的信息分別獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色的平均朝向?qū)?yīng)的個(gè)體動(dòng)力信息、平均位置對(duì)應(yīng)的個(gè)體動(dòng)力信息以及與所述目標(biāo)虛擬角色之間的相對(duì)位置矢量對(duì)應(yīng)的個(gè)體動(dòng)力信息;
[0026]分別根據(jù)所述目標(biāo)虛擬角色與每個(gè)上述檢測到的目標(biāo)對(duì)象中除了上述其他虛擬角色以外的剩余對(duì)象之間的移動(dòng)模式,利用所述目標(biāo)虛擬角色與每個(gè)剩余對(duì)象之間的距離計(jì)算所述目標(biāo)虛擬角色針對(duì)每個(gè)剩余對(duì)象的個(gè)體動(dòng)力信息;
[0027]所述根據(jù)計(jì)算得到的個(gè)體動(dòng)力信息,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度,包括:
[0028]在上述檢測到的目標(biāo)對(duì)象中存在與所述目標(biāo)虛擬角色屬于同一角色群體的其他虛擬角色的情況下,根據(jù)所獲得的個(gè)體動(dòng)力信息和計(jì)算得到的個(gè)體動(dòng)力信息進(jìn)行加權(quán)計(jì)算,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度;
[0029]在上述檢測到的目標(biāo)對(duì)象中不存在與所述目標(biāo)虛擬角色屬于同一角色群體的其他虛擬角色的情況下,對(duì)計(jì)算得到的個(gè)體動(dòng)力信息進(jìn)行加權(quán)計(jì)算,并根據(jù)加權(quán)計(jì)算的結(jié)果確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度。
[0030]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色的平均朝向?qū)?yīng)的個(gè)體動(dòng)力信息,包括:
[0031]計(jì)算所述目標(biāo)虛擬角色當(dāng)前可視范圍內(nèi)所屬的角色群體中所包含的其它虛擬角色的平均朝向;
[0032]獲得所述平均朝向?qū)?yīng)的個(gè)體動(dòng)力信息。
[0033]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色的平均位置對(duì)應(yīng)的個(gè)體動(dòng)力信息,包括:
[0034]根據(jù)所述目標(biāo)虛擬角色當(dāng)前可視范圍內(nèi)所屬的角色群體中所包含的其它虛擬角色的位置,計(jì)算虛擬角色的平均位置;
[0035]獲得所述平均位置對(duì)應(yīng)的個(gè)體動(dòng)力信息。
[0036]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色與所述目標(biāo)虛擬角色之間的相對(duì)位置矢量對(duì)應(yīng)的個(gè)體動(dòng)力信息,包括:
[0037]分別獲得從所述目標(biāo)虛擬角色當(dāng)前可視范圍內(nèi)所屬的角色群體中所包含的其他虛擬角色的位置到所述目標(biāo)虛擬角色的位置的個(gè)體相對(duì)位置矢量;
[0038]計(jì)算所獲得的各個(gè)個(gè)體相對(duì)位置矢量的矢量和,得到綜合相對(duì)位置矢量;
[0039]獲得所述綜合相對(duì)位置矢量對(duì)應(yīng)的個(gè)體動(dòng)力信息。
[0040]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述控制所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng),包括:
[0041]判斷所述目標(biāo)虛擬角色是否采用角色控制器;
[0042]若采用,則利用所述運(yùn)動(dòng)速度控制所述角色控制器移動(dòng),以使得所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng);
[0043]若未采用,則利用所述運(yùn)動(dòng)速度,按照預(yù)設(shè)的時(shí)間單位計(jì)算增量位移,并利用所述增量位移控制所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng)。
[0044]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述利用所述增量位移控制所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng),包括:
[0045]判斷所述目標(biāo)虛擬角色是否采用非運(yùn)動(dòng)學(xué)剛體;
[0046]若采用,則利用所述增量位移控制所述非運(yùn)動(dòng)學(xué)剛體移動(dòng),以使所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng);
[0047]如果未采用,則利用所述增量位移改變所述目標(biāo)虛擬角色的移動(dòng)位置,以使所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng)。
[0048]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述分別根據(jù)所述目標(biāo)虛擬角色與各個(gè)目標(biāo)對(duì)象之間的移動(dòng)模式,利用所述目標(biāo)虛擬角色與每個(gè)目標(biāo)對(duì)象之間的距離計(jì)算所述目標(biāo)虛擬角色針對(duì)每個(gè)目標(biāo)對(duì)象的個(gè)體動(dòng)力信息,包括:
[0049]在所述目標(biāo)虛擬角色與目標(biāo)對(duì)象之間的移動(dòng)模式為逃避模式的情況下,通過以下步驟計(jì)算所述目標(biāo)虛擬角色針對(duì)該目標(biāo)對(duì)象的個(gè)體動(dòng)力信息:
[0050]判斷所述目標(biāo)虛擬角色與該目標(biāo)對(duì)象之間的距離是否小于預(yù)設(shè)的警戒距離;
[0051]若為是,則沿著與從所述目標(biāo)虛擬角色到該目標(biāo)對(duì)象的方向相反的方向,計(jì)算所述目標(biāo)虛擬角色針對(duì)該目標(biāo)對(duì)象的個(gè)體動(dòng)力信息。
[0052]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述分別根據(jù)所述目標(biāo)虛擬角色與各個(gè)目標(biāo)對(duì)象之間的移動(dòng)模式,利用所述目標(biāo)虛擬角色與每個(gè)目標(biāo)對(duì)象之間的距離計(jì)算所述目標(biāo)虛擬角色針對(duì)每個(gè)目標(biāo)對(duì)象的個(gè)體動(dòng)力信息,包括:
[0053]在所述目標(biāo)虛擬角色與任一目標(biāo)對(duì)象M之間的移動(dòng)模式為追逐模式的情況下,通過以下步驟計(jì)算所述目標(biāo)虛擬角色針對(duì)所述目標(biāo)對(duì)象M的個(gè)體動(dòng)力信息:
[0054]在所述目標(biāo)虛擬角色的可視范圍內(nèi)只存在一個(gè)目標(biāo)對(duì)象的情況下,利用所述目標(biāo)虛擬角色與所述目標(biāo)對(duì)象M之間的距離,根據(jù)從所述目標(biāo)虛擬角色到所述目標(biāo)對(duì)象M運(yùn)動(dòng)預(yù)測位置的方向以及所述目標(biāo)虛擬角色的當(dāng)前運(yùn)動(dòng)速度,計(jì)算所述目標(biāo)虛擬角色針對(duì)所述目標(biāo)對(duì)象M的個(gè)體動(dòng)力信息;
[0055]在所述目標(biāo)虛擬角色的可視范圍內(nèi)存在多個(gè)目標(biāo)對(duì)象的情況下,獲得所述目標(biāo)對(duì)象M的運(yùn)動(dòng)預(yù)測位置,沿著從所述目標(biāo)虛擬角色到所述運(yùn)動(dòng)預(yù)測位置的方向以及所述目標(biāo)虛擬角色的當(dāng)前運(yùn)動(dòng)速度,計(jì)算所述目標(biāo)虛擬角色針對(duì)所述目標(biāo)對(duì)象M的第一動(dòng)力信息;確定上述多個(gè)目標(biāo)對(duì)象中與所述目標(biāo)虛擬角色屬于同一角色群體的第一類目標(biāo)對(duì)象,計(jì)算第一類目標(biāo)對(duì)象的平均朝向?qū)?yīng)的動(dòng)力信息、平均位置對(duì)應(yīng)的動(dòng)力信息以及與所述目標(biāo)虛擬角色之間的相對(duì)位置矢量對(duì)應(yīng)的動(dòng)力信息;在除了所述第一類目標(biāo)對(duì)象之外的上述多個(gè)目標(biāo)對(duì)象中,確定需要躲避的屬于障礙物的第二類目標(biāo)對(duì)象,利用所述目標(biāo)虛擬角色與所述第二類目標(biāo)對(duì)象之間的距離,分別根據(jù)與從所述目標(biāo)虛擬角色到每個(gè)第二類目標(biāo)對(duì)象的方向相反的方向,計(jì)算所述目標(biāo)虛擬角色針對(duì)每個(gè)第二類目標(biāo)對(duì)象的第二動(dòng)力信息;對(duì)所述第一類動(dòng)力信息、計(jì)算得到的平均朝向?qū)?yīng)的動(dòng)力信息、平均位置對(duì)應(yīng)的動(dòng)力信息、與所述目標(biāo)虛擬角色之間的相對(duì)位置矢量對(duì)應(yīng)的動(dòng)力信息和所述第二動(dòng)力信息進(jìn)行加權(quán)計(jì)算,根據(jù)加權(quán)計(jì)算結(jié)果獲得所述目標(biāo)虛擬角色針對(duì)所述目標(biāo)對(duì)象M的個(gè)體動(dòng)力信息。
[0056]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述目標(biāo)虛擬角色,包括:
[0057]根據(jù)用戶在本技術(shù)方案提供的用戶界面UI上定制選擇或輸入的虛擬角色參數(shù)生成的虛擬角色。
[0058]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種虛擬角色的移動(dòng)裝置,在目標(biāo)虛擬角色從第一位置移動(dòng)到第二位置的過程中,所述裝置包括:
[0059]目標(biāo)對(duì)象檢測模塊,用于檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個(gè)目標(biāo)對(duì)象;
[0060]個(gè)體動(dòng)力信息計(jì)算模塊,用于在所述目標(biāo)對(duì)象檢測模塊的檢測結(jié)果為是的情況下,則分別根據(jù)所述目標(biāo)虛擬角色與各個(gè)目標(biāo)對(duì)象之間的移動(dòng)模式,利用所述目標(biāo)虛擬角色與每個(gè)目標(biāo)對(duì)象之間的距離計(jì)算所述目標(biāo)虛擬角色針對(duì)每個(gè)目標(biāo)對(duì)象的個(gè)體動(dòng)力信息;
[0061]角色運(yùn)動(dòng)速度確定模塊,用于根據(jù)計(jì)算得到的個(gè)體動(dòng)力信息,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度;
[0062]角色移動(dòng)控制模塊,用于控制所述目標(biāo)虛擬角色以所述運(yùn)動(dòng)速度移動(dòng)。
[0063]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述虛擬角色的移動(dòng)裝置還包括:
[0064]角色朝向確定模塊,用于在控制所述目標(biāo)虛擬角色移動(dòng)的過程中,根據(jù)所述運(yùn)動(dòng)速度的運(yùn)動(dòng)方向分量、所述目標(biāo)虛擬角色的當(dāng)前朝向以及插值因子,按照預(yù)設(shè)的插值算法確定所述目標(biāo)虛擬角色的朝向;
[0065]角色朝向調(diào)整模塊,用于根據(jù)所確定的朝向調(diào)整所述目標(biāo)虛擬角色的朝向。
[0066]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述角色運(yùn)動(dòng)速度確定模塊,包括:
[0067]綜合動(dòng)力信息確定子模塊,用于按照以下表達(dá)式,確定所述目標(biāo)虛擬角色針對(duì)各個(gè)目標(biāo)對(duì)象的綜合動(dòng)力信息P,
[0068]P =+W1^Pn+"*+wN*PN,
[0069]其中,^表示所述目標(biāo)虛擬角色針對(duì)第η個(gè)目標(biāo)對(duì)象的個(gè)體動(dòng)力信息,Wn表示Pn的加權(quán)系數(shù);
[0070]角色運(yùn)動(dòng)速度確定子模塊,用于根據(jù)所述綜合動(dòng)力信息P,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度。
[0071]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述角色運(yùn)動(dòng)速度確定子模塊,包括:
[0072]加速度計(jì)算單元,用于根據(jù)所述綜合動(dòng)力信息P,計(jì)算所述目標(biāo)虛擬角色的加速度信息;
[0073]角色運(yùn)動(dòng)速度確定單元,用于根據(jù)所述加速度信息,確定所述目標(biāo)虛擬角色的運(yùn)動(dòng)速度。
[0074]在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述目標(biāo)對(duì)象檢測
當(dāng)前第1頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
蚌埠市| 麦盖提县| 长沙县| 海丰县| 德昌县| 韶关市| 沙河市| 昭觉县| 海阳市| 阜城县| 团风县| 永嘉县| 繁峙县| 吴江市| 明溪县| 大埔县| 苏尼特左旗| 天祝| 如皋市| 江陵县| 万山特区| 鄂伦春自治旗| 津南区| 安康市| 任丘市| 兴国县| 湟源县| 建始县| 金阳县| 平江县| 武冈市| 大邑县| 安阳市| 犍为县| 汕头市| 白河县| 泰安市| 昌乐县| 平和县| 清流县| 满城县|