1 引言
虛擬現(xiàn)實是一種先進的人機接口技術(shù),它利用計算機生成三維的、基于感知信息的模擬環(huán)境,并使用戶與虛擬環(huán)境進行交互。目前,虛擬現(xiàn)實技術(shù)已經(jīng)廣泛應用于軍事模擬、視景仿真、虛擬漫游以及科學可視化等領(lǐng)域。基于油田鉆井工作的特殊性,鉆井模擬器作為虛擬培訓的設(shè)備尤為重要。它采用虛擬現(xiàn)實技術(shù),開發(fā)過程基于現(xiàn)代計算機控制技術(shù)、計算機仿真技術(shù)、計算機圖形技術(shù)、計算機網(wǎng)絡(luò)技術(shù),并結(jié)合了鉆井工程的實際工藝,改變了原有的鉆井培訓方法。鉆井模擬器視景仿真系統(tǒng)是鉆井模擬器的重要組成部分,主要作為三維場景的展現(xiàn)和鉆井井場實時動畫的模擬。
早期的鉆井模擬器視景仿真系統(tǒng)采用3DS Max 建模,結(jié)合OpenGL 對三維模型進行控制。隨著機械設(shè)備和工藝流程的處理日益復雜,系統(tǒng)的實時性及場景的可控性都不能有效的展現(xiàn)。因此,提出了一種基于3D 和Virtools 技術(shù)的虛擬開發(fā)方法,以Virtools 技術(shù)為平臺將3D 模型及動畫轉(zhuǎn)化為Virtools 環(huán)境下可控的實時動畫,較好地解決了問題。
2 技術(shù)概況
2.1 3DS Max 簡介
3DS Max 是世界上使用較為廣泛的3D 動畫軟件,可以進行三維建模、動畫編輯、渲染,并且廣泛應用于游戲開發(fā)、角色動畫、電影視覺效果和設(shè)計行業(yè)領(lǐng)域。該軟件功能強大,可擴展性好,在角色動畫方面具有很大優(yōu)勢,可使用豐富的插件,方便開發(fā)。3DS Max 和其他軟件配合流暢,新版本提供了新的接口技術(shù)和優(yōu)化,極大改進了交互,明顯提高了速度。
2.2 Virtools 簡介
Virtools 是由法國全球交互三維開發(fā)解決方案公司VIRTOOLS 所開發(fā),其三維引擎已被微軟Xbox 認可方便易用,應用領(lǐng)域廣。
Virtools 包括:一個創(chuàng)作應用程序、一個動作引擎、一個渲染引擎、一個Web 播放器、一個軟件開發(fā)工具包。除了自身的3D/VR 開發(fā)平臺Virtools Dev 以外,它還有以下五個可選模塊以適合不同的應用:Physicx Pack 物理屬性、VR Pack虛擬現(xiàn)實、AI Pack 人工職能、Xbox Kit 游戲開發(fā)、VirtoolsServer 服務(wù)器。
作為一種強大的三維開發(fā)工具,按照其功能的不同,Virtools 模塊組可分為開發(fā)模塊、生成模塊和發(fā)布模塊。開發(fā)模塊包括創(chuàng)作應用程序和軟件開發(fā)工具包;生成模塊包括行為引擎和渲染引擎;發(fā)布模塊包括EXE 文件生成器和Web發(fā)播放器,可以在單機上運行,Web 播放器可以建立基于C/S模式的網(wǎng)絡(luò)虛擬環(huán)境。
3 3DS Max 模型創(chuàng)建
虛擬環(huán)境的建模是整個視景仿真系統(tǒng)建立的基礎(chǔ),主要包括:幾何建模(Geometric Modeling)、運動建模(KinematicModeling)、物理建模(Physical Modeling)、對象行為建模(Object Behavior)以及模型分割(Model Segmentation)等。
鉆井模擬器視景仿真系統(tǒng)中虛擬環(huán)境的實現(xiàn)過程基本分為三步:第一步是幾何建模,主要包括用多邊形或三角形構(gòu)成對象的立體外形;第二步是物理建模,主要包括對幾何建模的結(jié)果進行紋理、顏色、光照等處理;第三步是具體程序控制,主要通過運動建模的方法實現(xiàn)虛擬環(huán)境下的物體運動模擬,采用對象行為建模和模型分割的方法提高了整體環(huán)境下模型運動的真實感和靈活性。
3DS Max 的幾何建模方法主要有多邊形(Polygon)建模、非均勻有理B 樣條曲線建模(NURBS)、細分曲面技術(shù)建模(SubdiVision Surface)。通常建立一個模型可以分別通過以下幾種方法得到,但有優(yōu)劣、繁簡之分。在鉆井模擬器視景仿真系統(tǒng)的模型制作過程中使用的主要建模方法和技術(shù)為:基本物體(Primitive Object)法及擴展物體(Extended Primitive)法構(gòu)建基本幾何體模型,再通過修改器(Modify)修改加工成需要的模型;運用放樣(Loft)法,非均勻有理B 樣條曲線(NURBS)法生成表面比較復雜的曲面;運用細分曲面技術(shù)得到光滑程度高的模型細節(jié);運用布爾(Boolean)運算法,生成結(jié)構(gòu)比較復雜的模型;運用貼圖給模型賦予材質(zhì),使模型具有顏色、反光度、透明度等光學特性;給模型賦以紋理(Texture)增加真實感;注重模型優(yōu)化環(huán)節(jié),在模型表面具有同樣平滑度的情況下,盡量減少頂點(Vertices)和面數(shù)(Faces),以降低模型的復雜度。
圖1
4 模型在Virtools 中的使用
4.1 Virtools 環(huán)境下模型的導入
將3DS Max 中制作的模型導入到Virtools 中之前,需要在3DS Max 中安裝3dMax Explorer.exe 文件。通過該軟件把3DS Max 中構(gòu)建的模型以.nmo 的格式輸出。.nmo 文件是Virtools 默認的用于存儲角色和場景以及物體等信息的文件格式,其中包含了一個或者多個單元信息,也包括了將要在Virtools 中使用的相關(guān)動畫腳本。然后將對應的.nmo 文件導入到Virtools 中,添加實行交互的模塊腳本。在項目保存成可編輯的工程文件.cmo 文件,或者只讀工程文件.vmo 后,可通過Virtools 自帶的程序開發(fā)包SDK 進行應用程序開發(fā)。
由于Virtools 不是三維制作軟件,在導出時,模型要進行相應的信息轉(zhuǎn)換。可以從3DS Max 中導出的元素包括標準網(wǎng)格和面片網(wǎng)格組成的幾何體,材質(zhì),各類標準燈光類型,攝像機,3D Frame 方式導入的虛擬體,動畫,以及樣條線。
4.2 角色模型及動畫的導出
輸出的模型主要分為三種:Export as Objects 通常用于輸出場景;Export as a Character 用于輸出帶有動畫的角色模型;Export Animation Only 只是輸出角色動畫腳本,在VirtoolsDevelopment 中添加不同的角色動畫進行行為交互。
成功的導出角色模型和動畫,需要注意動畫制作的細節(jié)。輸出的動畫不能涉及到中心點有變化的動畫,否則會在Virtools Dev 執(zhí)行動畫時出錯;建議使用Bezier、Linear 或者TCB 動畫形式,有益于動畫的編譯;在3DS Max 中制作的動畫不能有添加和刪除的情況,否則無法被Virtools Dev 識別;要對關(guān)鍵幀進行處理,保證骨骼蒙皮正常,使得動畫正確且連貫。
圖2
5 結(jié)束語
基于3DS Max 的三維模型制作,結(jié)合Virtools 環(huán)境是進行交互式虛擬現(xiàn)實系統(tǒng)研發(fā)的有效方法,該方法在鉆井模擬器視景仿真系統(tǒng)中的應用取得了良好的效果。在環(huán)境漫游、動畫控制,場景交互等方面展現(xiàn)突出的優(yōu)勢。
參考文獻
[1]李琳,張子遜,何玉林.虛擬環(huán)境建模方法及應用.重慶大學學報,2002,(6)
[2]黃峻.3ds max6 白金手冊(升級版).北京:兵器工業(yè)出版社,2004,(7)
[3]邱岳偉.基于最新圖形處理器的圖形引擎技術(shù)研究.西北工業(yè)大學碩士學位論文,2006[4] 劉明昆.三維游戲設(shè)計師寶典[M] .成都:四川電子音像出版中心,2005
[5] 李昌國,朱福全,譚良等. 基于3D 和Virtools 技術(shù)的虛擬實驗開發(fā)方法研究[J]. 計算機工程與應用 2006,(3)
[6] 王樂,陳定方,尹念東.基于Virtools 的分布式虛擬現(xiàn)實技術(shù)研究[J]. 湖北工業(yè)大學學報,2005,(3)
[7] Richard s.Wright, Jr. Benjamin Lipchak 著. 徐波 譯OpenGL 超級寶典[M]. 人民郵電出版社 2005,(9)