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

一種虛擬角色的移動方法及裝置的制造方法

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

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

[0005]本發(fā)明實施例公開了一種虛擬角色的移動方法及裝置,以能夠動態(tài)得到虛擬角色在移動過程中躲避障礙物的線路,實現(xiàn)智能行為模擬。
[0006]為達到上述目的,本發(fā)明實施例公開了一種虛擬角色的移動方法,在目標(biāo)虛擬角色從第一位置移動到第二位置的過程中,所述方法包括:
[0007]檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個目標(biāo)對象;
[0008]若存在至少一個目標(biāo)對象,則分別根據(jù)所述目標(biāo)虛擬角色與各個目標(biāo)對象之間的移動模式,利用所述目標(biāo)虛擬角色與每個目標(biāo)對象之間的距離計算所述目標(biāo)虛擬角色針對每個目標(biāo)對象的個體動力信息;
[0009]根據(jù)計算得到的個體動力信息,確定所述目標(biāo)虛擬角色的運動速度;
[0010]控制所述目標(biāo)虛擬角色以所述運動速度移動。
[0011]在本發(fā)明的一種具體實現(xiàn)方式中,所述虛擬角色的移動方法還包括:
[0012]在控制所述目標(biāo)虛擬角色移動的過程中,根據(jù)所述運動速度的運動方向分量、所述目標(biāo)虛擬角色的當(dāng)前朝向以及插值因子,按照預(yù)設(shè)的插值算法確定所述目標(biāo)虛擬角色的朝向;
[0013]根據(jù)所確定的朝向調(diào)整所述目標(biāo)虛擬角色的朝向。
[0014]在本發(fā)明的一種具體實現(xiàn)方式中,所述根據(jù)計算得到的個體動力信息,確定所述目標(biāo)虛擬角色的運動速度,包括:
[0015]按照以下表達式,確定所述目標(biāo)虛擬角色針對各個目標(biāo)對象的綜合動力信息P,
[0016]P =+W1^Pn+"*
[0017]其中,^表示所述目標(biāo)虛擬角色針對第η個目標(biāo)對象的個體動力信息,Wn表示Pn的加權(quán)系數(shù);
[0018]根據(jù)所述綜合動力信息P,確定所述目標(biāo)虛擬角色的運動速度。
[0019]在本發(fā)明的一種具體實現(xiàn)方式中,所述根據(jù)所述綜合動力信息P,確定所述目標(biāo)虛擬角色的運動速度,包括:
[0020]根據(jù)所述綜合動力信息P,計算所述目標(biāo)虛擬角色的加速度信息;
[0021]根據(jù)所述加速度信息,確定所述目標(biāo)虛擬角色的運動速度。
[0022]在本發(fā)明的一種具體實現(xiàn)方式中,所述檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個目標(biāo)對象,包括:
[0023]按照預(yù)設(shè)的時間間隔檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個目標(biāo)對象,并在存在至少一個目標(biāo)對象的情況下,收集所檢測到的目標(biāo)對象的信息;
[0024]所述分別根據(jù)所述目標(biāo)虛擬角色與各個目標(biāo)對象之間的移動模式,利用所述目標(biāo)虛擬角色與每個目標(biāo)對象之間的距離計算所述目標(biāo)虛擬角色針對每個目標(biāo)對象的個體動力信息,包括:
[0025]根據(jù)所收集的信息分別獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色的平均朝向?qū)?yīng)的個體動力信息、平均位置對應(yīng)的個體動力信息以及與所述目標(biāo)虛擬角色之間的相對位置矢量對應(yīng)的個體動力信息;
[0026]分別根據(jù)所述目標(biāo)虛擬角色與每個上述檢測到的目標(biāo)對象中除了上述其他虛擬角色以外的剩余對象之間的移動模式,利用所述目標(biāo)虛擬角色與每個剩余對象之間的距離計算所述目標(biāo)虛擬角色針對每個剩余對象的個體動力信息;
[0027]所述根據(jù)計算得到的個體動力信息,確定所述目標(biāo)虛擬角色的運動速度,包括:
[0028]在上述檢測到的目標(biāo)對象中存在與所述目標(biāo)虛擬角色屬于同一角色群體的其他虛擬角色的情況下,根據(jù)所獲得的個體動力信息和計算得到的個體動力信息進行加權(quán)計算,確定所述目標(biāo)虛擬角色的運動速度;
[0029]在上述檢測到的目標(biāo)對象中不存在與所述目標(biāo)虛擬角色屬于同一角色群體的其他虛擬角色的情況下,對計算得到的個體動力信息進行加權(quán)計算,并根據(jù)加權(quán)計算的結(jié)果確定所述目標(biāo)虛擬角色的運動速度。
[0030]在本發(fā)明的一種具體實現(xiàn)方式中,獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色的平均朝向?qū)?yīng)的個體動力信息,包括:
[0031]計算所述目標(biāo)虛擬角色當(dāng)前可視范圍內(nèi)所屬的角色群體中所包含的其它虛擬角色的平均朝向;
[0032]獲得所述平均朝向?qū)?yīng)的個體動力信息。
[0033]在本發(fā)明的一種具體實現(xiàn)方式中,獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色的平均位置對應(yīng)的個體動力信息,包括:
[0034]根據(jù)所述目標(biāo)虛擬角色當(dāng)前可視范圍內(nèi)所屬的角色群體中所包含的其它虛擬角色的位置,計算虛擬角色的平均位置;
[0035]獲得所述平均位置對應(yīng)的個體動力信息。
[0036]在本發(fā)明的一種具體實現(xiàn)方式中,獲得所述目標(biāo)虛擬角色的可視范圍內(nèi)存在的其所屬角色群體中包含的其他虛擬角色與所述目標(biāo)虛擬角色之間的相對位置矢量對應(yīng)的個體動力信息,包括:
[0037]分別獲得從所述目標(biāo)虛擬角色當(dāng)前可視范圍內(nèi)所屬的角色群體中所包含的其他虛擬角色的位置到所述目標(biāo)虛擬角色的位置的個體相對位置矢量;
[0038]計算所獲得的各個個體相對位置矢量的矢量和,得到綜合相對位置矢量;
[0039]獲得所述綜合相對位置矢量對應(yīng)的個體動力信息。
[0040]在本發(fā)明的一種具體實現(xiàn)方式中,所述控制所述目標(biāo)虛擬角色以所述運動速度移動,包括:
[0041]判斷所述目標(biāo)虛擬角色是否采用角色控制器;
[0042]若采用,則利用所述運動速度控制所述角色控制器移動,以使得所述目標(biāo)虛擬角色以所述運動速度移動;
[0043]若未采用,則利用所述運動速度,按照預(yù)設(shè)的時間單位計算增量位移,并利用所述增量位移控制所述目標(biāo)虛擬角色以所述運動速度移動。
[0044]在本發(fā)明的一種具體實現(xiàn)方式中,所述利用所述增量位移控制所述目標(biāo)虛擬角色以所述運動速度移動,包括:
[0045]判斷所述目標(biāo)虛擬角色是否采用非運動學(xué)剛體;
[0046]若采用,則利用所述增量位移控制所述非運動學(xué)剛體移動,以使所述目標(biāo)虛擬角色以所述運動速度移動;
[0047]如果未采用,則利用所述增量位移改變所述目標(biāo)虛擬角色的移動位置,以使所述目標(biāo)虛擬角色以所述運動速度移動。
[0048]在本發(fā)明的一種具體實現(xiàn)方式中,所述分別根據(jù)所述目標(biāo)虛擬角色與各個目標(biāo)對象之間的移動模式,利用所述目標(biāo)虛擬角色與每個目標(biāo)對象之間的距離計算所述目標(biāo)虛擬角色針對每個目標(biāo)對象的個體動力信息,包括:
[0049]在所述目標(biāo)虛擬角色與目標(biāo)對象之間的移動模式為逃避模式的情況下,通過以下步驟計算所述目標(biāo)虛擬角色針對該目標(biāo)對象的個體動力信息:
[0050]判斷所述目標(biāo)虛擬角色與該目標(biāo)對象之間的距離是否小于預(yù)設(shè)的警戒距離;
[0051]若為是,則沿著與從所述目標(biāo)虛擬角色到該目標(biāo)對象的方向相反的方向,計算所述目標(biāo)虛擬角色針對該目標(biāo)對象的個體動力信息。
[0052]在本發(fā)明的一種具體實現(xiàn)方式中,所述分別根據(jù)所述目標(biāo)虛擬角色與各個目標(biāo)對象之間的移動模式,利用所述目標(biāo)虛擬角色與每個目標(biāo)對象之間的距離計算所述目標(biāo)虛擬角色針對每個目標(biāo)對象的個體動力信息,包括:
[0053]在所述目標(biāo)虛擬角色與任一目標(biāo)對象M之間的移動模式為追逐模式的情況下,通過以下步驟計算所述目標(biāo)虛擬角色針對所述目標(biāo)對象M的個體動力信息:
[0054]在所述目標(biāo)虛擬角色的可視范圍內(nèi)只存在一個目標(biāo)對象的情況下,利用所述目標(biāo)虛擬角色與所述目標(biāo)對象M之間的距離,根據(jù)從所述目標(biāo)虛擬角色到所述目標(biāo)對象M運動預(yù)測位置的方向以及所述目標(biāo)虛擬角色的當(dāng)前運動速度,計算所述目標(biāo)虛擬角色針對所述目標(biāo)對象M的個體動力信息;
[0055]在所述目標(biāo)虛擬角色的可視范圍內(nèi)存在多個目標(biāo)對象的情況下,獲得所述目標(biāo)對象M的運動預(yù)測位置,沿著從所述目標(biāo)虛擬角色到所述運動預(yù)測位置的方向以及所述目標(biāo)虛擬角色的當(dāng)前運動速度,計算所述目標(biāo)虛擬角色針對所述目標(biāo)對象M的第一動力信息;確定上述多個目標(biāo)對象中與所述目標(biāo)虛擬角色屬于同一角色群體的第一類目標(biāo)對象,計算第一類目標(biāo)對象的平均朝向?qū)?yīng)的動力信息、平均位置對應(yīng)的動力信息以及與所述目標(biāo)虛擬角色之間的相對位置矢量對應(yīng)的動力信息;在除了所述第一類目標(biāo)對象之外的上述多個目標(biāo)對象中,確定需要躲避的屬于障礙物的第二類目標(biāo)對象,利用所述目標(biāo)虛擬角色與所述第二類目標(biāo)對象之間的距離,分別根據(jù)與從所述目標(biāo)虛擬角色到每個第二類目標(biāo)對象的方向相反的方向,計算所述目標(biāo)虛擬角色針對每個第二類目標(biāo)對象的第二動力信息;對所述第一類動力信息、計算得到的平均朝向?qū)?yīng)的動力信息、平均位置對應(yīng)的動力信息、與所述目標(biāo)虛擬角色之間的相對位置矢量對應(yīng)的動力信息和所述第二動力信息進行加權(quán)計算,根據(jù)加權(quán)計算結(jié)果獲得所述目標(biāo)虛擬角色針對所述目標(biāo)對象M的個體動力信息。
[0056]在本發(fā)明的一種具體實現(xiàn)方式中,所述目標(biāo)虛擬角色,包括:
[0057]根據(jù)用戶在本技術(shù)方案提供的用戶界面UI上定制選擇或輸入的虛擬角色參數(shù)生成的虛擬角色。
[0058]為達到上述目的,本發(fā)明實施例公開了一種虛擬角色的移動裝置,在目標(biāo)虛擬角色從第一位置移動到第二位置的過程中,所述裝置包括:
[0059]目標(biāo)對象檢測模塊,用于檢測所述目標(biāo)虛擬角色的可視范圍內(nèi)是否存在至少一個目標(biāo)對象;
[0060]個體動力信息計算模塊,用于在所述目標(biāo)對象檢測模塊的檢測結(jié)果為是的情況下,則分別根據(jù)所述目標(biāo)虛擬角色與各個目標(biāo)對象之間的移動模式,利用所述目標(biāo)虛擬角色與每個目標(biāo)對象之間的距離計算所述目標(biāo)虛擬角色針對每個目標(biāo)對象的個體動力信息;
[0061]角色運動速度確定模塊,用于根據(jù)計算得到的個體動力信息,確定所述目標(biāo)虛擬角色的運動速度;
[0062]角色移動控制模塊,用于控制所述目標(biāo)虛擬角色以所述運動速度移動。
[0063]在本發(fā)明的一種具體實現(xiàn)方式中,所述虛擬角色的移動裝置還包括:
[0064]角色朝向確定模塊,用于在控制所述目標(biāo)虛擬角色移動的過程中,根據(jù)所述運動速度的運動方向分量、所述目標(biāo)虛擬角色的當(dāng)前朝向以及插值因子,按照預(yù)設(shè)的插值算法確定所述目標(biāo)虛擬角色的朝向;
[0065]角色朝向調(diào)整模塊,用于根據(jù)所確定的朝向調(diào)整所述目標(biāo)虛擬角色的朝向。
[0066]在本發(fā)明的一種具體實現(xiàn)方式中,所述角色運動速度確定模塊,包括:
[0067]綜合動力信息確定子模塊,用于按照以下表達式,確定所述目標(biāo)虛擬角色針對各個目標(biāo)對象的綜合動力信息P,
[0068]P =+W1^Pn+"*+wN*PN,
[0069]其中,^表示所述目標(biāo)虛擬角色針對第η個目標(biāo)對象的個體動力信息,Wn表示Pn的加權(quán)系數(shù);
[0070]角色運動速度確定子模塊,用于根據(jù)所述綜合動力信息P,確定所述目標(biāo)虛擬角色的運動速度。
[0071]在本發(fā)明的一種具體實現(xiàn)方式中,所述角色運動速度確定子模塊,包括:
[0072]加速度計算單元,用于根據(jù)所述綜合動力信息P,計算所述目標(biāo)虛擬角色的加速度信息;
[0073]角色運動速度確定單元,用于根據(jù)所述加速度信息,確定所述目標(biāo)虛擬角色的運動速度。
[0074]在本發(fā)明的一種具體實現(xiàn)方式中,所述目標(biāo)對象檢測
當(dāng)前第1頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
太仓市| 来凤县| 台江县| 凤翔县| 天台县| 宁强县| 扬中市| 沂南县| 正镶白旗| 金寨县| 南澳县| 靖远县| 沙湾县| 于田县| 澎湖县| 剑川县| 滨海县| 灵台县| 乐业县| 措勤县| 开封市| 鲁山县| 宜阳县| 鹤峰县| 西充县| 蒙山县| 嘉义县| 额济纳旗| 江都市| 曲靖市| 武汉市| 泰兴市| 镇康县| 宁武县| 洛南县| 晋中市| 上饶县| 江川县| 莒南县| 育儿| 泰和县|