System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本專利技術涉及游戲?qū)ぢ泛陀螒騽赢嬵I域,具體涉及一種基于姿態(tài)距離匹配的動畫尋路方法及系統(tǒng)。
技術介紹
1、近年來,隨著游戲行業(yè)的快速發(fā)展,游戲行業(yè)市場規(guī)模不斷擴展,游戲用戶也指數(shù)級增長,成了許多人工作學習之余的消遣活動,不僅創(chuàng)造了很多就業(yè)崗位,還帶來了許多巨大的經(jīng)濟價值。而隨著游戲開發(fā)技術的提高以及游戲硬件設備的發(fā)展,游戲玩家們對于游戲的品質(zhì)要求越來越高,其中,游戲動畫品質(zhì)是很重要的一塊,例如rockstar?san?diego工作室制作的《荒野大鏢客2》,日本游戲開發(fā)商from?software制作的《只狼:影逝二度》、《艾爾登法環(huán)》等游戲都以其流暢高效的動畫表現(xiàn)和出眾的游戲玩法出名,吸引了大批的游戲玩家,如何使得動畫有更流暢更高質(zhì)量的表現(xiàn),成為游戲開發(fā)中的重要板塊,大型游戲公司都有專門的動畫團隊去專門設計制作游戲動作,在此基礎上衍生出了許多動畫制作技術,去解決動畫生產(chǎn)制作中的問題。而其中一個很大的問題就是滑步問題,滑步經(jīng)常出現(xiàn)在真實人體動畫里,特別是在行走動畫里,人們對于滑步現(xiàn)象特別敏感,只要出現(xiàn)一點點的滑步現(xiàn)象,整個動畫就完全失去了原有的逼真性,所以要有一個高效的動畫表現(xiàn),必須避免滑步現(xiàn)象的出現(xiàn)。此外,許多游戲中,都涉及自動尋路的過程,及給定起點和終點,讓角色自動移動,躲避障礙物達到指定位置,在這一過程中,角色會自動播放角色動畫,這一過程一般只是簡單循環(huán)播放一段跑步動畫,而尋路是經(jīng)常性的操作,單一動畫的循環(huán)播放就使得尋路過程顯得枯燥無聊,缺乏趣味性,一般的處理方式,都是通過玩法調(diào)整減少玩家的尋路距離,或者直接設置傳送點,這些
技術實現(xiàn)思路
1、針對現(xiàn)有技術的不足,本專利技術提出一種基于姿態(tài)距離匹配的動畫尋路方法及系統(tǒng),該方法包括步驟:構(gòu)建虛擬環(huán)境包含速度坡度參數(shù)的體素化地圖、采用改進的a*算法搜索地圖上規(guī)劃全局路徑、采用距離姿態(tài)匹配算法處理滑步問題。本專利技術是通過以下技術方案來實現(xiàn)的:
2、本專利技術第一個方面:一種基于姿態(tài)距離匹配的動畫尋路方法,該方法包括以下步驟:
3、s1:基于recast算法庫中的網(wǎng)格生成算法,去體素化地圖;
4、s2:對每個體素進行檢測,對于大于一定坡度的體素,即無法到達的體素,直接跳過;對其余能夠到達的體素記錄坐標;根據(jù)體素塊的坡度不同,計算速度信息,處理完后加入到最終處理完后的地圖中,用于后續(xù)的查詢;
5、s3:對a*尋路算法搜索結(jié)果單一的問題進行優(yōu)化,使得同一個起點和終點每次會生成不同的路徑;
6、s4:由于角色停步時的前后姿勢不匹配,則需采用雅可比方法去逼近停步動畫開始播放時的第一幀姿勢,對于非線性變換,雅可比矩陣求解出一個點移動后所在的位置,假設關節(jié)旋轉(zhuǎn)微小角度t,則位置變化量x的表達式如下:
7、x=j*t;
8、其中j是雅可比矩陣;對j進行求逆,得到其t=j-1*x;因此,當0<x<0.1時,求得對應關節(jié)旋轉(zhuǎn)的角度;然后對每個骨骼乘以該角度,得到每個骨骼所在的位置;
9、s5:通過預處理停步動畫,對處理滑步進行處理,進而生成一條距離曲線,該曲線包含的數(shù)據(jù)含義是指每一幀動畫到最后一幀動畫所經(jīng)過的距離,在角色停止運動輸入后,程序根據(jù)當時的速度、加速度、摩擦力以及其他運動參數(shù)計算出角色運動到的終點,得出當前距離終點的距離后,在曲線中查詢從停步動畫的哪一幀去播放,從而保證在運動到終點時動畫正好結(jié)束播放。
10、進一步地,所述步驟s3具體包括以下子步驟:
11、(3.1)設計尋路算法代價函數(shù),即在啟發(fā)式算法中,增加拐點的獎勵,將速度變化作為拐點,拐點越多,獎勵越多,搜索該點的優(yōu)先級就越高,且目標路徑中增加了地形變化的次數(shù),使地形更加復雜,匹配需要播放不同動畫的需求;
12、(3.2)對鄰居節(jié)點的選擇進行優(yōu)化,增加同等優(yōu)先級鄰居節(jié)點選擇的隨機性,增加鄰居節(jié)點所搜范圍,不局限于上下左右的鄰居,增加對左上、左下、右上、右下鄰居點的檢索,也增加了路徑的隨機性;
13、(3.3)最后引入對跳點的處理,進一步增加隨機性,并加快計算以及優(yōu)化性能。
14、進一步地,所述尋路算法代價函數(shù)計算公式如下:
15、f(x)=g(x)+h(x);
16、其中,x表示當前搜索的導航網(wǎng)格或?qū)ぢ锋溄樱琭(x)是代價函數(shù)計算的權(quán)值,g(x)表示從尋路起點到x的已搜索路徑的距離,h(x)是x的啟發(fā)函數(shù)。
17、進一步地,所述步驟s3中的啟發(fā)函數(shù)h(x)的計算公式為:
18、
19、其中,vk表示在該點角色的速度,nk表示為該點的鄰居節(jié)點,maxn(nk)函數(shù)的作用是返回一個隊列,該隊列包含所有鄰居節(jié)點的坡度變化最大的一些節(jié)點,rnd(x)函數(shù)表示從這個隊列中隨機取出一個節(jié)點。
20、進一步地,s4中雅可比方法計算公式如下:
21、t=j-1*x;
22、其中,j-1表示雅可比矩陣的逆矩陣,x是像目標位置運動的偏移量,t是該骨骼需要旋轉(zhuǎn)的最終角度。
23、本專利技術第二個方面:提供了一種基于姿態(tài)距離匹配的動畫尋路系統(tǒng),該系統(tǒng)包括以下模塊:
24、體素化地圖模塊:基于recast算法庫中的網(wǎng)格生成算法,去體素化地圖;對每個體素進行檢測,對于大于一定坡度的體素,即無法到達的體素,直接跳過;對其余能夠到達的體素記錄坐標;根據(jù)體素塊的坡度不同,計算速度信息,處理完后加入到最終處理完后的地圖中,用于后續(xù)的查詢;
25、尋路模塊:對a*尋路算法搜索結(jié)果單一的問題進行優(yōu)化,使得同一個起點和終點每次會生成不同的路徑;動畫模塊:根據(jù)尋路模塊得出的路徑,進行移動,在移動過程中,根據(jù)體素化地圖模塊生成的數(shù)據(jù)信息,根據(jù)不同的速度,去播放不同的尋路動畫。
26、姿勢匹配模塊:由于角色停步時的前后姿勢不匹配,則需采用雅可比方法去逼近停步動畫開始播放時的第一幀姿勢,對于非線性變換,雅可比矩陣求解出一個點移動后所在的位置,假設關節(jié)旋轉(zhuǎn)微小角度t,則位置變化量x的表達式如下:
27、x=j*t;
28、其中j是雅可比矩陣;對j進行求逆,得到其t=j-1*x;因此,當0<x<0.1時,求得對應關節(jié)旋轉(zhuǎn)的角度;然后對每個骨骼乘以該角度,得到每個骨骼所在的位置;
29、滑步處理模塊:通過預處理停步動畫,對處理滑步進行處理,進而生成一條距離曲線,該曲線包含的數(shù)據(jù)含義是指每一幀動畫到最后一幀動畫所經(jīng)過的距離,在角色停止運動輸入后,程序根據(jù)當時的速度、加速度、摩擦力以及其他運動參數(shù)計算出角色運動到的終點,得出當前距離終點的距離后,在曲線中查詢從停步動畫的哪一幀去播放,從而保證在運動到終點時動畫正好結(jié)束播放。
30、本專利技術第三個方面:一種電子設備,包括:
31、一個或多個處理器;
32、存儲器,用于存儲一個或多個程序;
33、當所述一個或多個本文檔來自技高網(wǎng)...
【技術保護點】
1.一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,該方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,所述步驟S3具體包括以下子步驟:
3.根據(jù)權(quán)利要求2所述的一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,所述尋路算法代價函數(shù)計算公式如下:
4.根據(jù)權(quán)利要求3所述的一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,所述步驟S3中的啟發(fā)函數(shù)H(x)的計算公式為:
5.根據(jù)權(quán)利要求4所述的一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,所述步驟S4中雅可比方法計算公式如下:
6.一種基于姿態(tài)距離匹配的動畫尋路系統(tǒng),其特征在于,該系統(tǒng)包括以下模塊:
7.一種電子設備,其特征在于,包括:
8.一種計算機可讀存儲介質(zhì),其上存儲有計算機指令,其特征在于,該指令被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-5中任一項所述一種基于姿態(tài)距離匹配的動畫尋路方法的步驟。
【技術特征摘要】
1.一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,該方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,所述步驟s3具體包括以下子步驟:
3.根據(jù)權(quán)利要求2所述的一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,所述尋路算法代價函數(shù)計算公式如下:
4.根據(jù)權(quán)利要求3所述的一種基于姿態(tài)距離匹配的動畫尋路方法,其特征在于,所述步驟s3中的啟發(fā)函數(shù)h(x)的計算公...
【專利技術屬性】
技術研發(fā)人員:鄭譽,梁秀波,周磊晶,
申請(專利權(quán))人:浙江大學,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。