專利名稱:一種虛擬人群運(yùn)動(dòng)的三維可視化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬現(xiàn)實(shí)領(lǐng)域,特別涉及一種虛擬人群運(yùn)動(dòng)的三維可視化方法。
背景技術(shù):
虛擬人群運(yùn)動(dòng)的可視化是指將人群的運(yùn)動(dòng)數(shù)據(jù)顯示在屏幕上,當(dāng)運(yùn)動(dòng)數(shù)據(jù)賦予某個(gè)個(gè)體后,在屏幕上通過觀察個(gè)體的運(yùn)動(dòng),可以了解到運(yùn)動(dòng)數(shù)據(jù)產(chǎn)生的宏觀或微觀效果。對(duì)大規(guī)模人群運(yùn)動(dòng)進(jìn)行三維可視化,可以在計(jì)算機(jī)空間中生成逼真的虛擬人群,并從各個(gè)角度全方位的觀察各種場所、各種情況下的人群運(yùn)動(dòng)情況,有著非常廣泛的應(yīng)用前景。例如在大型建筑(如火車站、體育館等)設(shè)計(jì)中,設(shè)計(jì)師必須考慮在各種緊急情況(如火災(zāi)、爆炸、踩踏等)發(fā)生時(shí)大規(guī)模人群的表現(xiàn),利用大規(guī)模虛擬群體運(yùn)動(dòng)的三維可視化技術(shù),可以方便的在設(shè)計(jì)階段對(duì)建筑進(jìn)行公共安全評(píng)價(jià)。在電影制作中,也經(jīng)常需要逼真的展現(xiàn)大規(guī)模動(dòng)態(tài)人群的場景,如電影《兄弟連》中展現(xiàn)盟軍登陸時(shí)傘兵大規(guī)模從天而降的效果。在游戲制作中,游戲動(dòng)畫師也經(jīng)常需要在游戲場景中渲染大量游戲角色的群體運(yùn)動(dòng),如《魔獸世界》中鋪天蓋地的怪獸運(yùn)動(dòng)場景。因此,在游戲/影視制作、建筑設(shè)計(jì)、公共安全評(píng)估等領(lǐng)域都需要一種虛擬人群運(yùn)動(dòng)的三維可視化方法。
大規(guī)模虛擬人群運(yùn)動(dòng)的三維可視化方法,需要同時(shí)滿足逼真性和實(shí)時(shí)性需求。一方面,需要使用豐富的虛擬角色模型,并且每個(gè)虛擬角色模型都能夠被獨(dú)立控制并完成指定的動(dòng)作,以滿足用戶對(duì)于逼真性的需求;另一方面,模型載入、驅(qū)動(dòng)和渲染的內(nèi)存開銷和計(jì)算開銷要控制在一定范圍內(nèi),以保證用戶能夠?qū)崟r(shí)地獲得可視化結(jié)果。此外,還需要考慮易用性、通用性和建模成本等方面的要求。由于技術(shù)上的難度,目前還沒有通用的大規(guī)模虛擬人群運(yùn)動(dòng)的三維可視化方法。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)無法實(shí)現(xiàn)對(duì)大規(guī)模虛擬人群運(yùn)動(dòng)進(jìn)行三維化可視化操作的缺陷,從而提供一種高效、通用、且建模成本低的方法。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種虛擬人群運(yùn)動(dòng)的三維可視化方法,包含以下步驟步驟10)、分析系統(tǒng)中要出現(xiàn)的虛擬人群,將個(gè)體作分類,為每種分類按外形特征建立一個(gè)三維人體模型作為模板模型,得到模板模型庫;并根據(jù)每個(gè)模板模型的特征,選擇一組派生部位,定義每一派生部位所能用到的材質(zhì),加入到材質(zhì)庫中;步驟20)、捕獲或者手工生成人體運(yùn)動(dòng)數(shù)據(jù),并將運(yùn)動(dòng)數(shù)據(jù)輸入到運(yùn)動(dòng)數(shù)據(jù)庫中;步驟30)、合成運(yùn)動(dòng)數(shù)據(jù);步驟40)、對(duì)模板模型和合成的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行繪制預(yù)處理;步驟50)、輸入描述人群運(yùn)動(dòng)的簡單腳本數(shù)據(jù),腳本中的信息包括群體中每個(gè)個(gè)體所屬的類型、每個(gè)個(gè)體當(dāng)前的位置、每個(gè)個(gè)體當(dāng)前的運(yùn)動(dòng)狀態(tài);步驟60)、根據(jù)步驟50)中輸入的數(shù)據(jù),從模板模型庫中選擇模板模型,并結(jié)合材質(zhì)庫實(shí)現(xiàn)模型的派生,生成虛擬個(gè)體;步驟70)、對(duì)步驟60)生成的虛擬個(gè)體,根據(jù)該個(gè)體在步驟50)中輸入的運(yùn)動(dòng)狀態(tài)信息,從所述的運(yùn)動(dòng)數(shù)據(jù)庫中選擇運(yùn)動(dòng)數(shù)據(jù),并計(jì)算該運(yùn)動(dòng)數(shù)據(jù)隨時(shí)間的變化,以驅(qū)動(dòng)虛擬個(gè)體的運(yùn)動(dòng);遍歷群體中的所有虛擬個(gè)體,生成動(dòng)態(tài)的虛擬人群;步驟80)、實(shí)現(xiàn)對(duì)虛擬人群的群體渲染。
上述技術(shù)方案中,在步驟10)中,所述的將個(gè)體作分類是按照個(gè)體的年齡、性別對(duì)人群進(jìn)行劃分。
上述技術(shù)方案中,在步驟10)中,所述的派生部位選擇人體所穿著的服裝、發(fā)型、鞋帽。
上述技術(shù)方案中,所述的步驟20)包括步驟21)、統(tǒng)計(jì)系統(tǒng)中的虛擬個(gè)體可能出現(xiàn)的運(yùn)動(dòng)狀態(tài);步驟22)、利用運(yùn)動(dòng)捕獲設(shè)備采集或使用運(yùn)動(dòng)生成和編輯軟件手工生成步驟21)中所統(tǒng)計(jì)得到的每種運(yùn)動(dòng)狀態(tài)的人體運(yùn)動(dòng)數(shù)據(jù);在所述的步驟22)中,捕獲運(yùn)動(dòng)數(shù)據(jù)采用基于電磁的或基于光學(xué)的或基于聲學(xué)的運(yùn)動(dòng)捕獲方法,所述的運(yùn)動(dòng)生成和編輯軟件包括專用軟件3dsmax或Maya或SOFTIMAGEIXSI或Blender。
上述技術(shù)方案中,在所述的步驟30)中,所述的合成運(yùn)動(dòng)數(shù)據(jù)采用美工手調(diào)的方法或采用運(yùn)動(dòng)融合、運(yùn)動(dòng)拼接、運(yùn)動(dòng)重定向的方法。
上述技術(shù)方案中,在步驟40)中,對(duì)模板模型和合成的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行繪制預(yù)處理包括41)、對(duì)每個(gè)模版模型,對(duì)每個(gè)此模板模型可執(zhí)行的動(dòng)作數(shù)據(jù),對(duì)此動(dòng)作數(shù)據(jù)的每一幀,計(jì)算對(duì)應(yīng)此幀的三維模型;42)、對(duì)步驟41)中得到的三維模型,進(jìn)行繪制預(yù)處理;其中,所需的繪制預(yù)處理方法包括基于圖像的繪制預(yù)處理方法、基于點(diǎn)采樣的繪制預(yù)處理方法、基于網(wǎng)格動(dòng)畫的預(yù)處理方法、基于層次細(xì)節(jié)技術(shù)的預(yù)處理方法。
上述技術(shù)方案中,所述的步驟60)包括步驟61)、針對(duì)系統(tǒng)虛擬人群中的每個(gè)個(gè)體,根據(jù)在步驟50)所輸入數(shù)據(jù)中的個(gè)體的類型信息,從模板模型庫中選擇相應(yīng)的模板模型;步驟62)、判斷當(dāng)前個(gè)體是否首次出現(xiàn),若是,執(zhí)行下一步,否則,執(zhí)行步驟64);步驟63)、個(gè)體首次出現(xiàn),尚未分配材質(zhì),從所述的材質(zhì)庫中隨機(jī)選擇一套材質(zhì),并在內(nèi)存中存儲(chǔ)材質(zhì)序號(hào),然后執(zhí)行步驟70);步驟64)、個(gè)體已經(jīng)分配材質(zhì),直接從內(nèi)存中讀取該模板模型的材質(zhì)序號(hào),并使用相應(yīng)的材質(zhì),進(jìn)行渲染。
上述技術(shù)方案中,所述的步驟70)包括步驟71)、針對(duì)群體中的每個(gè)個(gè)體,根據(jù)步驟50)的輸入數(shù)據(jù)中該個(gè)體的類型信息和當(dāng)前時(shí)刻該個(gè)體的運(yùn)動(dòng)狀態(tài)信息,從運(yùn)動(dòng)數(shù)據(jù)庫中選擇相應(yīng)的運(yùn)動(dòng)數(shù)據(jù);步驟72)、根據(jù)輸入數(shù)據(jù)中該個(gè)體當(dāng)前時(shí)刻、上一時(shí)刻和下一時(shí)刻的位置信息,求取該個(gè)體當(dāng)前的運(yùn)動(dòng)速度和運(yùn)動(dòng)方向;步驟73)、根據(jù)從運(yùn)動(dòng)數(shù)據(jù)庫中選出的各時(shí)刻運(yùn)動(dòng)數(shù)據(jù)的位移向量、個(gè)體各時(shí)刻仿真數(shù)據(jù)的位移向量、個(gè)體上一時(shí)刻所選取的運(yùn)動(dòng)數(shù)據(jù)幀索引,計(jì)算當(dāng)前時(shí)刻個(gè)體的運(yùn)動(dòng)數(shù)據(jù),所述的運(yùn)動(dòng)數(shù)據(jù)包括個(gè)體當(dāng)前的位置、身體各個(gè)部分的運(yùn)動(dòng)姿態(tài);步驟74)、利用步驟73)中得到的當(dāng)前時(shí)刻運(yùn)動(dòng)數(shù)據(jù)和步驟72)中得到的運(yùn)動(dòng)方向驅(qū)動(dòng)步驟60)中生成的虛擬個(gè)體;步驟75)、遍歷群體中的全部個(gè)體,生成動(dòng)態(tài)虛擬群體。
上述技術(shù)方案中,所述的步驟80)中所敘述的群體渲染采用的方法包括基于圖像的繪制方法、基于點(diǎn)采樣的繪制方法、基于網(wǎng)格動(dòng)畫的繪制方法、基于層次細(xì)節(jié)技術(shù)的繪制方法。本發(fā)明的優(yōu)點(diǎn)主要表現(xiàn)在1、系統(tǒng)的輸入較為簡單,主要是不同時(shí)刻下個(gè)體的狀態(tài)、位置等腳本數(shù)據(jù),可以方便的嵌入到其他應(yīng)用系統(tǒng)或被它們調(diào)用,具有較好的通用性;2、通過使用骨骼蒙皮、運(yùn)動(dòng)捕獲等技術(shù),系統(tǒng)可以自由靈活地控制群體中的每個(gè)個(gè)體,滿足用戶對(duì)于人體運(yùn)動(dòng)逼真性的要求;3、通過使用模型派生技術(shù),能夠從較少的模型模板派生出大量的個(gè)性化模型,最大程度的降低三維群體模型的建模成本,并節(jié)省模型載入、存儲(chǔ)的內(nèi)存開銷和計(jì)算開銷;4、通過使用運(yùn)動(dòng)變形技術(shù),用較少的運(yùn)動(dòng)數(shù)據(jù)就可以產(chǎn)生逼真的運(yùn)動(dòng)效果,從而節(jié)省模型驅(qū)動(dòng)的內(nèi)存開銷和計(jì)算開銷;5、通過使用基于點(diǎn)采樣的渲染等技術(shù),實(shí)現(xiàn)了大規(guī)模人群數(shù)據(jù)的三維實(shí)時(shí)渲染。
圖1為本發(fā)明的虛擬人群運(yùn)動(dòng)的三維可視化方法的流程圖;圖2為本發(fā)明的一個(gè)實(shí)施例中所建立的六類模板模型。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的說明。
如圖1所示,本發(fā)明的虛擬人群運(yùn)動(dòng)的三維可視化方法,包括以下步驟一、預(yù)處理步驟預(yù)處理步驟的主要目的是生成實(shí)時(shí)處理時(shí)所需要的模板模型庫、材質(zhì)庫、運(yùn)動(dòng)數(shù)據(jù)庫和繪制庫。因此包括模板模型建模、運(yùn)動(dòng)數(shù)據(jù)捕獲、運(yùn)動(dòng)數(shù)據(jù)合成、模板模型和運(yùn)動(dòng)數(shù)據(jù)繪制預(yù)處理四個(gè)子步驟。
步驟10、模板模型建模,建立模板模型庫。
步驟11、分析應(yīng)用系統(tǒng)中出現(xiàn)的虛擬人群,將其中的個(gè)體按照一定標(biāo)準(zhǔn)進(jìn)行分類。例如可以按照年齡和性別,將人群中的個(gè)體分為老年人男、老年人女、青年人男、青年人女、兒童男、兒童女六類。
步驟12、針對(duì)每一類型個(gè)體的外形特征,建立一個(gè)三維人體模型作為模板模型。例如,在步驟11)中將虛擬人群劃分為老年人男、老年人女、青年人男、青年人女、兒童男、兒童女六類,在本步驟中,為老年人男建立一個(gè)三維人體模型,該模型作為老年人男的模板模型,對(duì)其他種類的虛擬人群也做類似的操作,最后得到老年人男、老年人女、青年人男、青年人女、兒童男、兒童女六類個(gè)體的模板模型。圖2就是老年人男、老年人女、青年人男、青年人女、兒童男、兒童女六類個(gè)體的模板模型。
步驟13、針對(duì)每個(gè)模板模型的特征,選擇一組派生部位,定義每一派生部位的可能材質(zhì),并加入到材質(zhì)庫中。一般情況下,可以選擇人體所穿著的服裝、發(fā)型、鞋帽作為派生部分。以老年人男模板模型為例,若指定上衣和褲子做為派生部位,材質(zhì)庫中存放的即為上衣和褲子的可能材質(zhì),這些可能材質(zhì)由用戶根據(jù)應(yīng)用系統(tǒng)需要人為指定。
步驟20、捕獲人體運(yùn)動(dòng)數(shù)據(jù),或者手工生成人體運(yùn)動(dòng)數(shù)據(jù),并將運(yùn)動(dòng)數(shù)據(jù)輸入到運(yùn)動(dòng)數(shù)據(jù)庫中。
步驟21、統(tǒng)計(jì)應(yīng)用系統(tǒng)中的虛擬個(gè)體可能出現(xiàn)的運(yùn)動(dòng)狀態(tài)。例如,在人員平地緊急疏散的情況下,個(gè)體可能出現(xiàn)的運(yùn)動(dòng)狀態(tài)包括走、跑、停止觀望、死亡倒地。
步驟22、利用運(yùn)動(dòng)捕獲設(shè)備或使用運(yùn)動(dòng)生成和編輯軟件,采集步驟21中所統(tǒng)計(jì)得到的每種運(yùn)動(dòng)狀態(tài)的人體運(yùn)動(dòng)數(shù)據(jù)。對(duì)人體運(yùn)動(dòng)數(shù)據(jù)的捕獲可采用現(xiàn)有的運(yùn)動(dòng)捕獲方法,包括基于電磁的、基于光學(xué)的、基于聲學(xué)的運(yùn)動(dòng)捕獲方法,所采用的運(yùn)動(dòng)捕獲設(shè)備可采用VICON。所述的運(yùn)動(dòng)生成和編輯軟件包括專用軟件3dsmax或Maya或SOFTIMAGE|XSI或Blender。
步驟30、運(yùn)動(dòng)數(shù)據(jù)合成。不同的模板模型,由于具有不同的身高、腿長等人體測量學(xué)信息,若采用相同的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行驅(qū)動(dòng),必將產(chǎn)生腳步滑動(dòng)、肢體穿透等問題。因此,需要對(duì)捕獲到的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行處理,為每個(gè)模板模型合成一套符合該模型體型的運(yùn)動(dòng)數(shù)據(jù)。此外,為了節(jié)省存儲(chǔ)空間,每個(gè)運(yùn)動(dòng)數(shù)據(jù)需要處理成可循環(huán)播放的,即首幀和尾幀能夠平滑過渡的周期性運(yùn)動(dòng)數(shù)據(jù)。合成運(yùn)動(dòng)數(shù)據(jù),可以采用美工手調(diào)的方法,也可以采用運(yùn)動(dòng)融合、運(yùn)動(dòng)拼接、運(yùn)動(dòng)重定向等技術(shù),只要生成的數(shù)據(jù)是逼真的、符合模板模型體型特征的、能夠循環(huán)播放的就可以。
步驟40、模板模型和運(yùn)動(dòng)數(shù)據(jù)繪制預(yù)處理。為了提高模板模型渲染的速度,高效的繪制算法通常需要對(duì)模板模型和運(yùn)動(dòng)數(shù)據(jù)進(jìn)行繪制預(yù)處理。例如,采用基于點(diǎn)采樣的繪制算法,需要對(duì)模板模型經(jīng)運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)后的模型進(jìn)行點(diǎn)采樣,生成多分辨率模型;采用基于圖像的繪制算法,也需要根據(jù)這個(gè)驅(qū)動(dòng)后模型生成不同視角的圖像。對(duì)模板模型和合成的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行繪制預(yù)處理的具體實(shí)現(xiàn)步驟包括
步驟41、對(duì)每個(gè)模版模型,對(duì)每個(gè)此模板模型可執(zhí)行的動(dòng)作數(shù)據(jù),對(duì)此動(dòng)作數(shù)據(jù)的每一幀,計(jì)算對(duì)應(yīng)此幀的三維模型;步驟42、對(duì)步驟41中得到的三維模型,進(jìn)行繪制預(yù)處理。
其中,在步驟42中所需的繪制預(yù)處理方法包括基于圖像的繪制預(yù)處理方法、基于點(diǎn)采樣的繪制預(yù)處理方法、基于網(wǎng)格動(dòng)畫的預(yù)處理方法、基于層次細(xì)節(jié)技術(shù)的預(yù)處理方法。
二、輸入數(shù)據(jù)步驟步驟50、輸入描述人群運(yùn)動(dòng)的簡單腳本數(shù)據(jù),腳本中的信息主要包括群體中每個(gè)個(gè)體所屬的類型、每個(gè)個(gè)體當(dāng)前的位置、每個(gè)個(gè)體當(dāng)前的運(yùn)動(dòng)狀態(tài)。
下面是輸入數(shù)據(jù)的一個(gè)例子片段…個(gè)體序號(hào)015;個(gè)體類型老年人男;…時(shí)間(秒)0.2位置(米)10,11,11;運(yùn)動(dòng)狀態(tài)走;時(shí)間(秒)0.3位置(米)10.1,11,11;運(yùn)動(dòng)狀態(tài)走;時(shí)間(秒)0.4位置(米)10.2,11,11;運(yùn)動(dòng)狀態(tài)走;…三、實(shí)時(shí)處理步驟實(shí)時(shí)處理步驟包括模型派生、模型驅(qū)動(dòng)、群體渲染,用于對(duì)虛擬人群運(yùn)動(dòng)的三維可視化實(shí)現(xiàn)。
步驟60、根據(jù)輸入數(shù)據(jù),從模板模型庫中選擇模板模型,并結(jié)合材質(zhì)庫實(shí)現(xiàn)模型的派生,生成虛擬個(gè)體。
步驟61、針對(duì)群體中的每個(gè)個(gè)體,根據(jù)輸入數(shù)據(jù)中該個(gè)體的類型信息,從模板模型庫中選擇相應(yīng)的模板模型;步驟62、判斷當(dāng)前個(gè)體是否首次出現(xiàn),若是,執(zhí)行下一步,否則,執(zhí)行步驟64;步驟63、個(gè)體首次出現(xiàn),尚未分配材質(zhì),從材質(zhì)庫中隨機(jī)選擇一套材質(zhì),并在內(nèi)存中存儲(chǔ)材質(zhì)序號(hào),然后執(zhí)行步驟70;步驟64、個(gè)體已經(jīng)分配材質(zhì),直接從內(nèi)存中讀取該模板模型的材質(zhì)序號(hào),并使用相應(yīng)的材質(zhì),進(jìn)行渲染。
步驟70、驅(qū)動(dòng)模型得到個(gè)體當(dāng)前時(shí)刻的最終姿態(tài)。
步驟71、針對(duì)群體中的每個(gè)個(gè)體,根據(jù)輸入數(shù)據(jù)中該個(gè)體的類型信息和當(dāng)前時(shí)刻該個(gè)體的運(yùn)動(dòng)狀態(tài)信息,從運(yùn)動(dòng)數(shù)據(jù)庫中選擇相應(yīng)的運(yùn)動(dòng)數(shù)據(jù)。以步驟50中輸入的數(shù)據(jù)為例,對(duì)個(gè)體序號(hào)為015的老年人男,從運(yùn)動(dòng)數(shù)據(jù)庫中選擇老年人男的走的運(yùn)動(dòng)數(shù)據(jù)。
步驟72、根據(jù)輸入數(shù)據(jù)中該個(gè)體當(dāng)前時(shí)刻、上一時(shí)刻和下一時(shí)刻的位置信息,求取該個(gè)體當(dāng)前的運(yùn)動(dòng)速度和運(yùn)動(dòng)方向。仍以步驟50中輸入的數(shù)據(jù)為例,個(gè)體序號(hào)為015的老年人男,在其運(yùn)動(dòng)過程中,上一時(shí)刻為0.2秒,當(dāng)前時(shí)刻為0.3秒,下一時(shí)刻為0.4秒,在0.2秒時(shí)的位置為(10,11,11),在0.3秒時(shí)的位置為(10.1,11,11),在0.4秒時(shí)的位置為(10.2,11,11)。據(jù)此可計(jì)算該個(gè)體當(dāng)前的運(yùn)動(dòng)速度為1米/秒,當(dāng)前的運(yùn)動(dòng)方向?yàn)?1,0,0)。
步驟73、根據(jù)從運(yùn)動(dòng)數(shù)據(jù)庫中選出的各時(shí)刻運(yùn)動(dòng)數(shù)據(jù)的位移向量、個(gè)體各時(shí)刻仿真數(shù)據(jù)的位移向量、個(gè)體上一時(shí)刻所選取的運(yùn)動(dòng)數(shù)據(jù)幀索引,計(jì)算當(dāng)前時(shí)刻個(gè)體的運(yùn)動(dòng)數(shù)據(jù)。運(yùn)動(dòng)數(shù)據(jù)包括個(gè)體當(dāng)前的位置、身體各個(gè)部分的運(yùn)動(dòng)姿態(tài)。
具體計(jì)算方法如下假設(shè){Fi;i=1,……,I}為第i幀運(yùn)動(dòng)數(shù)據(jù)的位移向量,其中,I為運(yùn)動(dòng)數(shù)據(jù)總幀數(shù)。{Sj}為在時(shí)間點(diǎn)tj上仿真數(shù)據(jù)位移向量,需要求得{Nj},即在時(shí)間點(diǎn)tj上所選取的運(yùn)動(dòng)數(shù)據(jù)幀索引。使用數(shù)學(xué)歸納法,使初始值N0=1,問題轉(zhuǎn)換為在Nj已知的前提下,求Nj+1。其中,下標(biāo)j表示上一時(shí)刻,下標(biāo)j+1表示當(dāng)前時(shí)刻。
使用試探求解的方法,將Nj+1由Nj依次遞增試探,當(dāng)FNj+1-FNj>Sj+1-Sj]]>時(shí),試探停止,即得到Nj+1。其中,>符號(hào)為運(yùn)動(dòng)數(shù)據(jù)與仿真數(shù)據(jù)兩個(gè)向量的比較,使用最大分量比較法,即當(dāng)向量 中任一分量大于Sj+1-Sj中相應(yīng)分量時(shí),即整個(gè)向量大于。因?yàn)檫\(yùn)動(dòng)數(shù)據(jù)幀數(shù)有限,無法無限遞增試探,因此當(dāng)Nj+1>I時(shí),Nj+1重新從1開始遞增試探,同時(shí),F(xiàn)Nj+1=FNj+1+F1-F1.]]>步驟74、利用步驟73中得到的當(dāng)前時(shí)刻運(yùn)動(dòng)數(shù)據(jù)和步驟72)中得到的運(yùn)動(dòng)方向驅(qū)動(dòng)步驟60中生成的虛擬個(gè)體。
步驟75、遍歷群體中的全部個(gè)體,生成動(dòng)態(tài)虛擬群體。
步驟80、實(shí)現(xiàn)對(duì)虛擬人群的群體渲染。在本步驟中,群體渲染是成熟的現(xiàn)有技術(shù),可采用中國專利號(hào)為200610089057.9,發(fā)明名稱“一種虛擬人實(shí)時(shí)繪制方法”的發(fā)明專利申請(qǐng),其中公開了繪制方法或其他高效的繪制方法,對(duì)動(dòng)態(tài)虛擬群體進(jìn)行實(shí)時(shí)繪制,包括基于圖像的繪制方法、基于點(diǎn)采樣的繪制方法、基于網(wǎng)格動(dòng)畫的繪制方法、基于層次細(xì)節(jié)技術(shù)的繪制方法等。
權(quán)利要求
1.一種虛擬人群運(yùn)動(dòng)的三維可視化方法,包含以下步驟步驟10)、分析系統(tǒng)中要出現(xiàn)的虛擬人群,將個(gè)體作分類,為每種分類按外形特征建立一個(gè)三維人體模型作為模板模型,得到模板模型庫;并根據(jù)每個(gè)模板模型的特征,選擇一組派生部位,定義每一派生部位所能用到的材質(zhì),加入到材質(zhì)庫中;步驟20)、捕獲或者手工生成人體運(yùn)動(dòng)數(shù)據(jù),并將運(yùn)動(dòng)數(shù)據(jù)輸入到運(yùn)動(dòng)數(shù)據(jù)庫中;步驟30)、合成運(yùn)動(dòng)數(shù)據(jù);步驟40)、對(duì)模板模型和合成的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行繪制預(yù)處理;步驟50)、輸入描述人群運(yùn)動(dòng)的簡單腳本數(shù)據(jù),腳本中的信息包括群體中每個(gè)個(gè)體所屬的類型、每個(gè)個(gè)體當(dāng)前的位置、每個(gè)個(gè)體當(dāng)前的運(yùn)動(dòng)狀態(tài);步驟60)、根據(jù)步驟50)中輸入的數(shù)據(jù),從模板模型庫中選擇模板模型,并結(jié)合材質(zhì)庫實(shí)現(xiàn)模型的派生,生成虛擬個(gè)體;步驟70)、對(duì)步驟60)生成的虛擬個(gè)體,根據(jù)該個(gè)體在步驟50)中輸入的運(yùn)動(dòng)狀態(tài)信息,從所述的運(yùn)動(dòng)數(shù)據(jù)庫中選擇運(yùn)動(dòng)數(shù)據(jù),并計(jì)算該運(yùn)動(dòng)數(shù)據(jù)隨時(shí)間的變化,以驅(qū)動(dòng)虛擬個(gè)體的運(yùn)動(dòng);遍歷群體中的所有虛擬個(gè)體,生成動(dòng)態(tài)的虛擬人群;步驟80)、實(shí)現(xiàn)對(duì)虛擬人群的群體渲染。
2.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,在步驟10)中,所述的將個(gè)體作分類是按照個(gè)體的年齡、性別對(duì)人群進(jìn)行劃分。
3.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,在步驟10)中,所述的派生部位選擇人體所穿著的服裝、發(fā)型、鞋帽。
4.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,所述的步驟20)包括步驟21)、統(tǒng)計(jì)系統(tǒng)中的虛擬個(gè)體可能出現(xiàn)的運(yùn)動(dòng)狀態(tài);步驟22)、利用運(yùn)動(dòng)捕獲設(shè)備采集或使用運(yùn)動(dòng)生成和編輯軟件手工生成步驟21)中所統(tǒng)計(jì)得到的每種運(yùn)動(dòng)狀態(tài)的人體運(yùn)動(dòng)數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,在所述的步驟22)中,捕獲運(yùn)動(dòng)數(shù)據(jù)采用基于電磁的或基于光學(xué)的或基于聲學(xué)的運(yùn)動(dòng)捕獲方法,所述的運(yùn)動(dòng)生成和編輯軟件包括專用軟件3dsmax或Maya或SOFTIMAGE|XSI或Blender。
6.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,在所述的步驟30)中,所述的合成運(yùn)動(dòng)數(shù)據(jù)采用美工手調(diào)的方法或采用運(yùn)動(dòng)融合、運(yùn)動(dòng)拼接、運(yùn)動(dòng)重定向的方法。
7.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,在步驟40)中,對(duì)模板模型和合成的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行繪制預(yù)處理包括41)、對(duì)每個(gè)模版模型,對(duì)每個(gè)此模板模型可執(zhí)行的動(dòng)作數(shù)據(jù),對(duì)此動(dòng)作數(shù)據(jù)的每一幀,計(jì)算對(duì)應(yīng)此幀的三維模型;42)、對(duì)步驟41)中得到的三維模型,進(jìn)行繪制預(yù)處理;其中,所需的繪制預(yù)處理方法包括基于圖像的繪制預(yù)處理方法、基于點(diǎn)采樣的繪制預(yù)處理方法、基于網(wǎng)格動(dòng)畫的預(yù)處理方法、基于層次細(xì)節(jié)技術(shù)的預(yù)處理方法。
8.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,所述的步驟60)包括步驟61)、針對(duì)系統(tǒng)虛擬人群中的每個(gè)個(gè)體,根據(jù)在步驟50)所輸入數(shù)據(jù)中的個(gè)體的類型信息,從模板模型庫中選擇相應(yīng)的模板模型;步驟62)、判斷當(dāng)前個(gè)體是否首次出現(xiàn),若是,執(zhí)行下一步,否則,執(zhí)行步驟64);步驟63)、個(gè)體首次出現(xiàn),尚未分配材質(zhì),從所述的材質(zhì)庫中隨機(jī)選擇一套材質(zhì),并在內(nèi)存中存儲(chǔ)材質(zhì)序號(hào),然后執(zhí)行步驟70);步驟64)、個(gè)體已經(jīng)分配材質(zhì),直接從內(nèi)存中讀取該模板模型的材質(zhì)序號(hào),并使用相應(yīng)的材質(zhì),進(jìn)行渲染。
9.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,所述的步驟70)包括步驟71)、針對(duì)群體中的每個(gè)個(gè)體,根據(jù)步驟50)的輸入數(shù)據(jù)中該個(gè)體的類型信息和當(dāng)前時(shí)刻該個(gè)體的運(yùn)動(dòng)狀態(tài)信息,從運(yùn)動(dòng)數(shù)據(jù)庫中選擇相應(yīng)的運(yùn)動(dòng)數(shù)據(jù);步驟72)、根據(jù)輸入數(shù)據(jù)中該個(gè)體當(dāng)前時(shí)刻、上一時(shí)刻和下一時(shí)刻的位置信息,求取該個(gè)體當(dāng)前的運(yùn)動(dòng)速度和運(yùn)動(dòng)方向;步驟73)、根據(jù)從運(yùn)動(dòng)數(shù)據(jù)庫中選出的各時(shí)刻運(yùn)動(dòng)數(shù)據(jù)的位移向量、個(gè)體各時(shí)刻仿真數(shù)據(jù)的位移向量、個(gè)體上一時(shí)刻所選取的運(yùn)動(dòng)數(shù)據(jù)幀索引,計(jì)算當(dāng)前時(shí)刻個(gè)體的運(yùn)動(dòng)數(shù)據(jù),所述的運(yùn)動(dòng)數(shù)據(jù)包括個(gè)體當(dāng)前的位置、身體各個(gè)部分的運(yùn)動(dòng)姿態(tài);步驟74)、利用步驟73)中得到的當(dāng)前時(shí)刻運(yùn)動(dòng)數(shù)據(jù)和步驟72)中得到的運(yùn)動(dòng)方向驅(qū)動(dòng)步驟60)中生成的虛擬個(gè)體;步驟75)、遍歷群體中的全部個(gè)體,生成動(dòng)態(tài)虛擬群體。
10.根據(jù)權(quán)利要求1所述的虛擬人群運(yùn)動(dòng)的三維可視化方法,其特征在于,所述的步驟80)中所敘述的群體渲染采用的方法包括基于圖像的繪制方法、基于點(diǎn)采樣的繪制方法、基于網(wǎng)格動(dòng)畫的繪制方法、基于層次細(xì)節(jié)技術(shù)的繪制方法。
全文摘要
本發(fā)明公開了一種虛擬人群運(yùn)動(dòng)的三維可視化方法,包含以下步驟分析系統(tǒng)中要出現(xiàn)的虛擬人群,將個(gè)體作分類,建立模板模型庫和材質(zhì)庫;捕獲或者手工生成所需人體運(yùn)動(dòng)數(shù)據(jù),并將運(yùn)動(dòng)數(shù)據(jù)輸入到運(yùn)動(dòng)數(shù)據(jù)庫中;合成運(yùn)動(dòng)數(shù)據(jù);對(duì)模板模型和合成的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行繪制預(yù)處理;輸入描述人群運(yùn)動(dòng)的簡單腳本數(shù)據(jù);生成虛擬個(gè)體;驅(qū)動(dòng)虛擬個(gè)體的運(yùn)動(dòng),生成動(dòng)態(tài)的虛擬人群;實(shí)現(xiàn)對(duì)虛擬人群的群體渲染。本發(fā)明的虛擬人群運(yùn)動(dòng)三維可視化方法,具有高效、通用、低建模成本等優(yōu)點(diǎn),能夠在普通的PC上實(shí)時(shí)、逼真的展示30,000人規(guī)模的虛擬人群運(yùn)動(dòng)。
文檔編號(hào)G06T15/70GK1949274SQ20061011410
公開日2007年4月18日 申請(qǐng)日期2006年10月27日 優(yōu)先權(quán)日2006年10月27日
發(fā)明者毛天露, 束搏, 徐文彬, 夏時(shí)洪, 王兆其 申請(qǐng)人:中國科學(xué)院計(jì)算技術(shù)研究所