摘要:虛擬人物是三維虛擬世界的重要組成部分,在軍事仿真、計算機輔助教育和訓練、3D網絡游戲等領域都有著廣泛的應用。如何增強三維虛擬世界中虛擬人物的真實感,已成為目前研究的熱點問題。從人體建模、動作設計、人工智能、情感實現四方面探討了虛擬人物的構建方法,并對這些方法進行了分析和總結。最后,對虛擬人物的進一步研究方向提出了展望。
關鍵詞:虛擬人物;人體建模;動作設計;人工智能;情感
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2009)26-7499-02
Research on the Construction Method of Virtual Human in 3D Virtual World
LIU Kai
(School of Computer Science, Sichuan University of Science Engineering, Zigong 643000, China)
Abstract: Virtual human is an important part of 3D virtual world, it has a wide range of applications such as the military simulation, computer-assisted education and training, 3D online games and other fields. How to enhance realistic of virtual human in 3D virtual world have become a hot issue of current study. Construction methods of virtual human are discussed in the human body modeling, motion design, artificial intelligence, affective realization, and these methods are analyzed and summarized. Finally, it is concluded with the direction of future research of virtual human.
Key words: virtual human; human body modeling; motion design; artificial intelligence; affective
隨著虛擬現實技術的逐漸成熟,人們己經不再滿足于構建只有景色、建筑物等一般視景信息的虛擬世界,迫切需要在虛擬世界中加入有生命的對象,滿足用戶的參與感。所以,人在虛擬世界中的替身——虛擬人物的研究越來越受到國內外許多學者的重視。虛擬人物是由計算機生成的三維圖形實體,用來模擬現實世界中真人的行為和動作,是人在計算機生成空間中幾何特性與行為特性的逼真表示。虛擬人物在產品展示和評測、計算機輔助教育、軍事訓練、電子商務、虛擬導游、網絡論壇和即時通訊工具以及3D計算機游戲等方面均有著廣泛的應用。目前有關虛擬人物的研究主要集中在虛擬人物的人體建模、動作設計、人工智能、情感計算等方面。本文從各方面對當前虛擬人物的構建方法進行了分析和總結,以優化虛擬人物的設計與實現,并給虛擬現實的應用開發人員提供參考和借鑒。
1 虛擬人物的人體建模方法
虛擬人物的人體外表建模方法目前主要有三種,即:
1.1 基于幾何模型的創作法
該方法使用基于幾何模型的專業建模軟件,利用底層造型元素,如球體、圓柱體、長方體等的變形編輯來創建人體模型。該方法的特點是所需硬件費用低,人體造型的真實感需要依賴3D動畫師對軟件的熟練掌握程度和美術功底。基于幾何模型的建模軟件很多,如3ds max、Maya、Poser等。
與通用的建模軟件3ds max,Maya相比,Poser是一款專門用于制作人體建模的軟件。在制作人體方面,可以產生各種類型的人體,如男性、女性、小孩,從而實現快速人體造型建模。而3ds max則是大多數虛擬現實開發平臺所支持的建模軟件,可以方便把它生成的模型導入多種虛擬現實開發平臺中使用。結合這兩個軟件的所長之處,可以先利用Poser建立人體模型,再導入3ds max中進行修改。此外,建模過程還需注意兩點:①由于Poser產生的人體模型面數太多,還需減少其面數,否則一旦場景中虛擬人物個體增多將對計算機硬件提出較高要求,運行過程中可能會發生不流暢的現象。②部分虛擬現實開發平臺不支持NURBS建模,因此只能采用多邊形建模或面片建模的方法,但二者都各有缺點。需要結合多邊形建模和面片建模,以達到較好的人體模型效果和運動連貫性。
2.2 基于模型的重構法
該方法首先從真實人物的照片中提取人體外表特征信息,然后依據該信息修改標準模型,是該模型具有近似真人的外表特征,并保留標準模型原有的結構信息[1-2]。該方法的特點是所需硬件費用低,操作簡單,模型真實感強,適合于大批量人體建模。
2.3 三維掃描成型法
三維掃描成型法是用龐大的三維掃描儀來獲取實物的三維信息,該方法的特點是結果模型的準確性高,但是模型存在著數據缺失、頂點數目過多等問題,且生成的模型里沒有結構信息,須經過復雜的裝配(rigging)處理才能完成人體模型的動畫制作。另外掃描速度慢,所需硬件設備比較昂貴而不易裝備。
3 虛擬人物的動作設計方法
3.1 biped實現基本動作
biped基本動作是3ds max軟件自帶的模塊,基本類型有走和跑。通過骨骼層級約束,根據步伐的步長,高度和時間等的調整,可以做出平地走,上下樓梯等動作。需要注意的是,由于走和跑等過程是首尾相接的循環動作,一定要保持始動作和末動作的一致性。而且根結點不能發生偏移,避免在實際運動模擬中出現非正常位移。
3.2 關鍵幀方法實現人物的運動
它是由3D動畫師手工放置各關鍵幀的骨架節點位置和骨骼的轉向,因此對動畫師的技術要求較高,要求動畫師對現實生活中人物的動作有仔細觀察,否則設置的骨架動作就會不自然、不協調。
3.3動作捕獲法
它是給表演者身上的各個相應關節上安置傳感器,通過捕獲設備實時檢測、記錄表演者各個關節在三維空間的運動軌跡,并將其轉化為數字化的“抽象運動”[3]。經過運動捕獲設備捕獲的數據需要進行運動編輯與整合,即利用輔助的動畫軟件對運動數據做后期處理,使之符合真實人體運動的模式,可以為視覺擬真性帶來較好的效果。然而,由于這類動作不是通過計算生成,不可使用關鍵幀技術,調整起來十分繁瑣,而且受限于真人捕獲的物理條件、安全性、捕獲儀器造價昂貴等問題。
3.4 Endorphin實現特殊動作
Endorphin是英國NaturalMotion公司所開發的一套自動化3D虛擬人物動作仿真生成軟件[4]。其運行原理是根據牛津大學在人工智能、人體生物力學的研究基礎下賦予虛擬人物最真實的生物動作模擬。Endorphin首創運用基因算法,把重力和人物的肌肉結構都設定好關聯之后,透過類神經網絡來控制肌肉的運動,教導虛擬人物自動演算出逼真的動作反應。它能完全模仿人體在浮力、風力作用下的自然反映,并支持多種主流動畫軟件的文件格式,因此該軟件可結合3ds max等動畫軟件來實現虛擬人物復雜且真實感要求較強的動作。
在3ds max等軟件中設計好的人體動作動畫可通過插件導出至虛擬現實開發平臺如Virtools、Eon studio、VRML/X3D中進行加工編輯。
4 虛擬人物的人工智能實現方法
要方便快捷的為虛擬人物賦予人工智能,在目前的虛擬現實開發平臺中Virtools是不錯的選擇。該軟件自帶的AI Library (人工智能庫)提供了許多行為使虛擬人物變得更加智能[5]。AI Library 包括兩種腳本模塊,一種是視覺或聽覺感知能力模塊,其功能是讓虛擬人物了解周圍的環境,另一種是高級行為(如跟隨、逃跑、隱藏等)模塊,是用來控制虛擬人物的后續動作。AI人工智能模塊具有調整標準的參數,比如:秘密行動、聽覺能力和動態組合。
AI Library依賴于Virtools直觀的開發方法,通過組合適當的模塊,就可以讓虛擬人物做出更加智能的行為,比如讓虛擬人物能夠在無需用戶的操作控制下,自動在 3D 環境中行走,并能夠靈活避開障礙物和其它虛擬人物,或者能夠穿過門、扶梯或者其它能夠改變路徑的區域。開發者可以控制虛擬人物并避免重復的和可預測的行為。AI Library行為模塊不僅涉及到最短路徑或是最不引起注意、最隱蔽的路徑計算,還可以管理大量的、具備獨立個性的虛擬人物。這些功能使得開發、測試和調整都變得更快而且更加可靠。
5 虛擬人物的情感實現方法
虛擬人物的情感表達需要借助計算機圖形技術生成具有真實感的人臉表情動畫,借助語音合成技術生成具有真實感的語音,以增加虛擬人物的情感表現力。此外,借助虛擬現實技術和設備,虛擬人物在三維虛擬世界中還可以展示更豐富的神態、表情和動作。在虛擬的世界中,人們仍然有交流情感的需要,虛擬人物之間也會出現喜愛、害怕、厭惡、敵對等情緒。要實現虛擬人物的情感,改變虛擬世界中虛擬人物“目無表情”的現象,需要將情感計算技術與虛擬現實技術相結合,而這正是目前研究的熱點。情感計算(Affective Computing)的概念是由美國麻省理工學院的Picard教授提出的[6],其目標是使計算機具有自發的情感能力。相關的研究領域包括情緒識別,情緒的產生和表現機制。
為此,許多研究者研究了各種情感模型以及情感對虛擬人物認知過程的影響。現有的情感建模方法可以分為兩種:基于認知機制的建模和基于多機制的情感建模。基于認知機制的模型側重于心理認知對情感的影響,比較廣泛應用的模型有OCC情感識別模型和Roseman等提出的基于事件評估的情感模型。基于多種機制的模型側重于非認知因素(比如生理反應)對情感的影響[7]。
基于以上模型,情感狀態需要通過虛擬人物的面部表情、語音、身體姿態、運動等多種通道表現出來。實現面部表情的代表性方法是建立肌肉模型[8]。目前虛擬人物的面部表情生成上已經擁有MPEG-4國際標準,該標準為創建參數化的個性化表情動畫提供了基礎。關于虛擬人物的個性化身體動作的實現,目前有Unuma等引入了一個基于傅立葉函數模型來描述和操縱虛擬人物周期性的動作[9]。Perlin使用周期性的噪聲函數來增添人物動作的表現力,使用腳本方法控制虛擬人物的動作[10]。還有一些研究者提出使用虛擬人物運動捕獲數據的編輯方法來創造出具有情緒化的身體動作[11]。
情感計算目前是國際國內研究的熱點問題,許多方法還需要進一步完善。
6 結束語
在三維虛擬世界中,為了增強用戶的交互性和沉浸感,構建有生命活力,逼真的虛擬人物需要從人體建模,動作設計,智能化,情感表現等多方面著手才行,它涉及到計算機動畫制作、計算機圖形學、生理學、心理學、生物力學、人工智能、情感計算等多個研究領域的交叉研究,是一個具有理論意義及實用價值的基礎課題。本文分析和總結了目前虛擬人物在這些方面的構建方法,為虛擬現實應用的開發者梳理了思路,提供了參考。目前虛擬人物在人體建模,動作設計方面研究已逐漸成熟,而在人工智能和情感計算方面還有許多問題尚待解決,這必將成為虛擬人物未來進一步研究的方向。
參考文獻:
[1] Hilton A,Beresford D,Gentils T,et al.Virtual people:capturing human models to populate virtual worlds[J].Computer Animation,1999:174-185.
[2] Ren L F,Zhang M M,Xu Y L,et al.Personalized model deformation based on sli-ce space representation[C]//LNCS 4282:International Conference on Virtual Reality and Telexi-stence 2006,Hangzhou,PRC,2006.Berlin Heidelberg:Springer-Verlag,2006:938-947.
[3] 葉穎康,曉東,賀光軍.由3D掃描技術衍生的計算機3D動畫之I—運動捕捉技術[J].影像技術,2002(4):5-52.
[4] NaturalMotion endorphin[EB/OL].http://www.naturalmotion.com/endorphin.htm.
[5] \"讓應用程序有“生命”起來—AI Library[EB/OL].http://www.virtools.com.cn/about/200705/218.html.
[6] Picard R W.Affective Computing[M].Massachusetts:The MIT Press,1997:165-177.
[7] 任利鋒,潘志庚,朱杰杰.虛擬環境中化身技術的研究與進展[J].計算機工程與應用,2008,44(10):3.
[8] Parke F I,Waters K.Computer Facial Animation[M].Wellesley,Boston,USA:AK Perters,1996:105-147.
[9] Unuma M,Anjyo K,Takeuchi R.Fourier Principles for Emotion-Based Human Figure Animation[C].Los Angeles,CA:Proceedings of SIGGRAPH’1995 Conference,1995:91-96.
[10] Perlin K,Goldberg A.Improv:a system for scripting interactive actors in virtual worlds[C].New Orleans,Louisiana USA:Proceedings of SIGGRAPH’1996 Conference,1996:205-216.
[11] 劉箴.數字娛樂領域中的虛擬人情緒表現模型研究[J].系統仿真學報,2006,18(10):2865-2869.
[12] 李海鵬.虛擬環境中虛擬化身的設計與實現[J].電腦知識與技術,2009,5(9):2420-2407.