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

一種“虛擬人”行走動作合成方法與流程

文檔序號:12127709閱讀:534來源:國知局

本發(fā)明屬于人體運動的仿真模擬技術(shù)領(lǐng)域,具體涉及的是一種在人體運動模擬研究中,通過計算機三維數(shù)字化成型的“虛擬人”進行運動行走時的動作合成方法,即,虛擬人行走動作合成方法。



背景技術(shù):

人體運動仿真是一種利用計算機模擬自然真實人體運動過程的技術(shù)。其具體過程包括建立計算模型,仿真計算虛擬人在給定約束條件下的物理運動過程,并在計算機生成的虛擬環(huán)境中以三維圖形方式逼真呈現(xiàn)該運動過程。其典型應(yīng)用領(lǐng)域包括:(1)動畫和影視特效。其基于運動捕獲數(shù)據(jù)的人體動畫方法有效的提高了運動和影視特效的逼真性與制作效率,特別是在許多高風險動作制作中,采用該仿真技術(shù)可以更逼真模擬出人在復雜場景中的運動狀態(tài);(2)交互式游戲。人們已經(jīng)可以借助傳感裝置實現(xiàn)玩虛擬網(wǎng)球、乒乓球等游戲項目,將人體運動仿真技術(shù)技術(shù)與傳感器結(jié)合并準確傳遞動作信息實現(xiàn)游戲“虛擬人”與游戲者的統(tǒng)一;(3)3.生物力學。生物力學通過分析采集到的大量人體運動數(shù)據(jù)來研究人體運動過程中肌肉骨骼系統(tǒng)的運動規(guī)律。通過“虛擬人”動作仿真可以可讓用戶編輯人體模型、對人體模型進行前向、逆向動力學計算和人體運動仿真,從而使人體運動生物力學的分析更方便、準確。進行“虛擬人”行為動作的仿真模擬通常包括人體簡化模型的建立、人體模型運動方程的構(gòu)建、“虛擬人”模型參數(shù)根據(jù)運動方程的變化和跟蹤。但“虛擬人”的運動并不是完全獨立的,特別是作為其基本動作的行走動作更是受到了環(huán)境條件的限制和約束。如何模擬虛擬人對環(huán)境的感知能力和協(xié)調(diào)反應(yīng)、體現(xiàn)虛擬人與虛擬環(huán)境之間的相互作用和影響,以達到虛擬現(xiàn)實所要求的逼真性,是虛擬人所面臨的重大挑戰(zhàn)之一。這些相互作用涉及大量的三維幾何計算,虛擬現(xiàn)實同時要求滿足三維渲染的實時性,因此就要求以盡可能低的運算成本實現(xiàn)虛擬人的驅(qū)動及其對環(huán)境的感知能力。

解決上述問題,通常通過載入動作庫(motion library)中的動作數(shù)據(jù)來驅(qū)動虛擬人物,這樣可以減小計算工作量從而保證處理人體運動的實時性,但也會使得人物的動作重復化和非智能化,并缺乏對環(huán)境主動和被動的應(yīng)變能力,造成不真實的情況。而如在每一幀渲染中計算虛擬人物基于對環(huán)境的判斷所采取的動作和發(fā)生的結(jié)果,則高昂的運算成本會造成人物驅(qū)動的實時性成為困難。

本申請的技術(shù)方案就是為了解決“虛擬人”在行走過程中,在地面環(huán)境相互約束條件下,對虛擬人動作切換過程中的過渡方法進行改進提出一種動作融合方法,從而實現(xiàn)不同動作之間平滑自然的過渡。



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

為了解決“虛擬人”在受限制環(huán)境條件下的運動動作合成容易變形,與環(huán)境狀況不匹配,導致動作失真的缺陷,本技術(shù)方案采用一種動作融合方法將環(huán)境影響加以考慮,通過動作融合對“虛擬人”身體各部位運動數(shù)據(jù)進行修正,實現(xiàn)不同動作之間的平滑自然過渡。

為達到上述的技術(shù)目的,本發(fā)明公開了一種“虛擬人”行走動作合成方法,該方法步驟如下:(1)對“虛擬人”及其運動的地面進行三維數(shù)據(jù)建模;(2)采集人體正常行走周期性動作數(shù)據(jù)并構(gòu)建其為“虛擬人”動作數(shù)據(jù)庫;(3)利用動作數(shù)據(jù)庫中的數(shù)據(jù)對“虛擬人”每幀行走動作數(shù)據(jù)進行變換,當?shù)孛嫒S數(shù)據(jù)體現(xiàn)為具有坡度情況時,進行“虛擬人”支撐腳與地面的碰撞檢測對“虛擬人”支撐腳位置修正;(4)根據(jù)“虛擬人”運動方向判斷坡度方向,并根據(jù)坡度方向?qū)Α疤摂M人”軀體動作數(shù)據(jù)進行修正,完成“虛擬人”行走動作合成。上述方法步驟(1)通過數(shù)據(jù)建模將“虛擬人”及環(huán)境的圖像轉(zhuǎn)換為三維數(shù)據(jù)模型,為后續(xù)步驟中數(shù)據(jù)矩陣的運算提供了數(shù)據(jù)模型條件;步驟(2)建立了人體在不同情況下的行走動作數(shù)據(jù)庫,這些數(shù)據(jù)庫的數(shù)據(jù)可以用來對不同環(huán)境的行走動作進行差值和變換,為后續(xù)運動變換實現(xiàn)了動作數(shù)據(jù)庫準備;步驟(3)和步驟(4)所進行的碰撞檢測和“虛擬人”運動方向坡度判斷是本技術(shù)方案的核心,通過判斷可以明確“虛擬人”在當前環(huán)境約束條件下的狀態(tài),并根據(jù)約束條件進行下步動作數(shù)據(jù)修正,從而實現(xiàn)“虛擬人”行走動作在環(huán)境中的融合,真實體現(xiàn)其動作特征。

上述步驟(1)中的三維數(shù)據(jù)建模是將“虛擬人”的或地面的兩個相互垂直的典型二維截面輪廓數(shù)據(jù)通過差值計算各頂點的三維坐標獲得,從而保證模型的網(wǎng)格面相同。上述建模方法通過兩個相互垂直平面物體輪廓數(shù)據(jù)的獲取并進行差值運算后將完整的物體三維圖像以網(wǎng)格數(shù)據(jù)矩陣的方式呈現(xiàn),方法簡單,建模效率高。

上述步驟(3)對“虛擬人”支撐腳與地面的碰撞檢測是采用距離計算法進行判斷,具體為:從“虛擬人”上選擇腳跟和腳尖作為計算點,利用Direct3D(D3D)環(huán)境中的D3D相關(guān)函數(shù)得出這些頂點與地面的豎直距離,通過該距離判斷“虛擬人”是否與地面發(fā)生碰撞。采用距離計算法可以使虛擬人在行走過程中始終保持正確的位置關(guān)系,同時還可得到所在D3D三維網(wǎng)面的三角形面元的索引,以便在后續(xù)的計算中訪問這個三角形的頂點數(shù)據(jù)從而確定其法線方向。

上述步驟(4)中,對“虛擬人”軀體動作數(shù)據(jù)修正采用動作融合方式進行,其具體方法是將動作庫里現(xiàn)有的多個動作數(shù)據(jù)進行線性組合生成一套新的動作數(shù)據(jù)A,即可得到在2個典型動作A1和A2之間的中間插值動作A=A1*(1.0-α)+A2*α,這里的差值參數(shù)α取值0-1.0,通過改變插值參數(shù)α便可使人體動作在A1和A2之間調(diào)整,以獲得虛擬人動作對環(huán)境的反應(yīng)能力。上述方法可以同時考慮到兩個方向坡度影響下“虛擬人”行走的合理動作,用這樣的動作驅(qū)動方法使在坡度變化的地面沿任意方向行走的“虛擬人”給觀察者充分可信的真實感。

上述步驟(4)中“虛擬人”對運動方向判斷坡度方向進行判斷是通過對地面法線方向的計算實現(xiàn)的。通過地面法線方向的計算就可以確定“虛擬人”當前在地面上的狀態(tài),進而獲得其與地面之間的夾角信息,為運動動作智能化提供數(shù)據(jù)計算參考。

為提高計算的效率,充分發(fā)揮計算性能,在進行碰撞判斷、“虛擬人”支撐腳位置及身體修正時均基于GPU的矩陣、矢量運算完成。

本技術(shù)方案中,通過“虛擬人”在行走過程中與地面的碰撞檢測,使人體與地面處于合理的相對位置,實現(xiàn)了虛擬人在行走過程中對其所處的虛擬世界中環(huán)境地形的感知和反應(yīng)能力,人體動作適應(yīng)于環(huán)境變化的調(diào)整保證了虛擬人運動的真實性,利用動作融合的方法實現(xiàn)了人體在不同坡度沿不同方向行走時的動作調(diào)整,這些基于GPU的矩陣、矢量和三維頂點的計算,也使多個虛擬人的驅(qū)動滿足實時性的要求。

具體實施方式

為更清楚的對本申請技術(shù)方案予以闡述,下面進行具體方法的闡述:(1)對“虛擬人”及其運動的地面進行三維數(shù)據(jù)建模。該方法主要利用圖像建模原理,根據(jù)需要建模物體多個方向圖片或照片的二維數(shù)據(jù)信息進行重構(gòu),獲得保存有環(huán)境信息的三維網(wǎng)格數(shù)據(jù)模型。由于圖像本身包含著豐富的場景信息,從圖像獲得照片般逼真的場景模型,成本低廉,真實感強,自動化程度高,紋理顏色真實感強,不受時空限制。目前的計算機圖形學和計算機視覺方面的研究通常采用此種建模方式。(2)采集人體正常行走周期性動作數(shù)據(jù)并構(gòu)建其為“虛擬人”動作數(shù)據(jù)庫?!疤摂M人”行走動作數(shù)據(jù)的獲取是進行動作融合的基礎(chǔ),通過不同狀態(tài)運動數(shù)據(jù)的采集獲得“虛擬人”各關(guān)節(jié)動作數(shù)據(jù),包括旋轉(zhuǎn)角度、平移矢量和每兩個關(guān)鍵幀之間的子幀數(shù)目并以自定義的動畫文件格式保存,之后載入這些文件數(shù)據(jù)再插值得到每個子幀的動作數(shù)據(jù),通過這些數(shù)據(jù)中的旋轉(zhuǎn)角和平移矢量構(gòu)建成變換矩陣,作用于表征各肢體的D3D網(wǎng)面,完成了對虛擬人物的驅(qū)動過程。(3)利用動作數(shù)據(jù)庫中的數(shù)據(jù)對“虛擬人”每幀行走動作數(shù)據(jù)進行變換,當?shù)孛嫒S數(shù)據(jù)體現(xiàn)為具有坡度情況時,對“虛擬人”支撐腳與地面的碰撞檢測進行“虛擬人”支撐腳位置修正。在實際環(huán)境條件下,“虛擬人”常常需要在有坡度并且坡度變化的地面上沿任意方向行走,這時還完全靠水平地面上行走的動作數(shù)據(jù)來驅(qū)動人體,就會發(fā)生與實際不相符的情況:虛擬人要么在空中、要么埋在地面以下行走。為避免這種現(xiàn)象,需要對支撐腳與地面之間進行準確的碰撞檢測(collision detection),得到腳的最低點(腳跟或腳尖)與地面的偏差量,由此糾正軀體的位置,可以使人體支撐點準確地落在地面上。具體過程是:從虛擬人體上的幾個代表頂點、在行走過程中取腳跟和腳尖最為合理,利用D3D相關(guān)函數(shù)得出這些頂點與地面的豎直距離,通過這個距離再修正人體的位置即可使虛擬人在行走過程中始終保持正確的位置關(guān)系。(4)根據(jù)“虛擬人”運動方向判斷坡度方向,并根據(jù)坡度方向?qū)Α疤摂M人”軀體動作數(shù)據(jù)進行修正,完成“虛擬人”行走動作合成。利用動作融合的方法可以較好地解決“虛擬人”動作與環(huán)境的融合問題,主要通過將動作庫里現(xiàn)有的多個動作數(shù)據(jù)進行線性組合生成一套新的動作數(shù)據(jù)A,即可得到在兩個典型動作A1和A2之間的中間插值動作:A=A1*(1.0-α)+A2*α,這里的浮點數(shù)α為插值參數(shù)取值范圍0-1.0。上式表示這2個動作所包含的所有對應(yīng)的旋轉(zhuǎn)角度和平移矢量各自進行線性組合。改變插值參數(shù)α便可使人體動作在A1和A2之間調(diào)整,以獲得虛擬人動作對環(huán)境的反應(yīng)能力,或完成指定的目標任務(wù)。如果要采取這種方法,首先要求應(yīng)用于虛擬人的動作庫中存有覆蓋所有動作和動作幅度的基本動作。對于行走動作,基本動作除在水平地面上的行走動作外,如果要構(gòu)成虛擬人在不同坡度地面上行走的任意動作,還應(yīng)包含上坡和下坡的行走動作。假設(shè)人能直立行走的最大坡度為45°角,制作了45°上下坡的兩個基本動作A+fb和A-fb,虛擬人在上坡時前方的下肢彎曲形成的力矩可以克服上半身的重量,下坡時后面的下肢作較大彎曲且重心靠后以抵抗重力防止下滑。那么虛擬人在任意坡度θ上的行走時就可以由這兩套基本動作與水平行走動作A0融合所產(chǎn)生:

A=A+fb*tgθ+A0*(1.0-tgθ),θ≥0

A=A-fb*tgθ+A0*(1.0-tgθ),θ<0。

除前后的上下坡角度θ以外,還應(yīng)考慮人體的左右即與行走方向垂直的方向上地面的坡度φ造成對行走動作的調(diào)整。例如虛擬人在45°坡度上沿著該坡度平面與水平面相交直線行走時,沿行走方向上的坡度θ=0,左右方向上的坡度φ=45°,人體位于地勢高的下肢各關(guān)節(jié)會做較大的彎曲以避免與地面磕碰;同時另一下肢會更多地向下伸展以減小腳底與地面的距離,把這種情況與相反方向的行走動作保存作為另外2個基本動作A+lr和A-lr,那么在左右方向+45°~-45°坡度之間行走的基本動作可表示為:

Alr=A+lr*tgφ+A0*(1-tgφ),φ≥0

Alr=A-lr*tgφ+A0*(1-tgφ),φ<0。

綜合考慮在前后與左右方向上地面的坡度對行走動作的影響,可以先由上式合成的動作Alr替代前式中的A0,再由前式得到動作,這就是同時考慮到了兩個方向坡度影響的虛擬人行走的合理動作,用這樣的動作驅(qū)動在坡度變化的地面沿任意方向行走的虛擬人可以給觀察者充分可信的真實感?!疤摂M人”對地面坡度的感知是通過地面法線方向n(nx,ny,nz)的計算獲取、確定的。其具體計算是:虛擬人行走方向可以表示為v(vx,0,vz),如果地面不是水平面,則需要計算行走方向v(vx,vy,vz)的y分量才能得出坡度值θ(v處于D點地形曲面的切平面內(nèi))。位于地形切平面的矢量v(vx,vy,vz)與法線n垂直,它們點乘的結(jié)果為0:n·v=0;由此得到:

vy=-(vxnx+vznz)/ny,將之歸一化為v(vx1,vy1,vz1),由sinθ=vy1可以求出。而與行走方向垂直的矢量就是n與v這2個矢量叉乘結(jié)果:v’=v×n,同樣由sinφ=v’y可以得出虛擬人左右方向上的地形坡度。以上所有矢量運算均由GPU高效率地完成,從而以較低的運算成本實現(xiàn)了虛擬人對虛擬環(huán)境地形的感知。

通過虛擬人在行走過程中與地面的碰撞檢測,使人體與地面處于合理的相對位置。實現(xiàn)了虛擬人在行走過程中對其所處的虛擬世界中環(huán)境地形的感知和反應(yīng)能力,人體動作適應(yīng)于環(huán)境變化的調(diào)整保證了虛擬人運動的真實性,利用動作融合的方法實現(xiàn)了人體在不同坡度沿不同方向行走時的動作調(diào)整,這些基于GPU的矩陣、矢量和三維頂點的計算,也使多個虛擬人的驅(qū)動滿足實時性的要求。

以上所述僅為本發(fā)明技術(shù)方案的較佳實施例而已,并不用以限制本發(fā)明申請,凡在本技術(shù)方案實質(zhì)內(nèi)容上所作的任何修改、等同替換和簡單改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
融水| 丹巴县| 永和县| 榆林市| 平南县| 乌拉特后旗| 吉水县| 桐城市| 东丰县| 开鲁县| 昌都县| 晋宁县| 吴堡县| 凌云县| 千阳县| 安乡县| 墨脱县| 曲周县| 隆安县| 绵竹市| 靖边县| 蒙自县| 普兰店市| 临夏市| 顺平县| 建水县| 广汉市| 青田县| 临猗县| 南昌市| 龙胜| 和顺县| 天全县| 乌鲁木齐市| 体育| 玉林市| 南汇区| 化隆| 宝清县| 普陀区| 清镇市|