胡圣武,韓合軒
(1.河南理工大學測繪學院,河南焦作 454000;2.河南省公路工程局集團有限公司,河南鄭州,450052)
基于OGRE渲染引擎虛擬拆裝的研究
胡圣武1,韓合軒2
(1.河南理工大學測繪學院,河南焦作 454000;2.河南省公路工程局集團有限公司,河南鄭州,450052)
研究了基于OGRE渲染引擎虛擬拆裝的方法及實現(xiàn)。三維模型虛擬裝配軟件采用MFC混合三維繪制ActiveX組件實現(xiàn)。界面負責將配置文件、模型文件的名稱傳遞給三維模型裝配軟件,在其加載三維模型完畢后,界面可以訪問其三維繪制功能,獲取其內(nèi)部的數(shù)據(jù)信息;同時可以操作三維空間內(nèi)的任意一個模型的組件;最后通過修改每個關(guān)鍵幀內(nèi)的模型組件位置和旋轉(zhuǎn)信息,自動生成過渡幀動畫,來實現(xiàn)最后的動畫錄制和播放功能。
虛擬拆裝;OGRE渲染引擎;三維模型
裝配是按一定的精度和技術(shù)要求,將一組零散的零件按一定的次序連接組合成產(chǎn)品的過程,其核心內(nèi)容是裝配序列規(guī)劃,對產(chǎn)品質(zhì)量起著決定性的作用。據(jù)統(tǒng)計,在產(chǎn)品的生產(chǎn)過程中大約1/3以上的人直接或間接從事與裝配有關(guān)的活動,裝配費用則占整個生產(chǎn)成本的30%~50%(對于某些復(fù)雜產(chǎn)品,這個比例會更高)。另外,裝配環(huán)節(jié)也是制約生產(chǎn)自動化的主要因素,裝配性能的好壞是決定產(chǎn)品能否采用自動化裝配的關(guān)鍵。因此,一個好的裝配順序規(guī)劃和工藝規(guī)劃,對改進產(chǎn)品設(shè)計、降低成本、縮短產(chǎn)品生產(chǎn)周期具有重要意義。
傳統(tǒng)的產(chǎn)品開發(fā)過程中,對產(chǎn)品裝配性能的分析和評價通常都是借助實物模型來完成的,這種方法既費時、費力、準確性差,又不能及時、方便地進行修改,延長了產(chǎn)品的設(shè)計過程,造成了財力、物力的浪費。
虛擬現(xiàn)實技術(shù)的發(fā)展為解決上述問題提供了新的途徑[1-2]。在虛擬環(huán)境下,工程師可以模擬實際的裝配過程。這樣,在利用裝配工程師經(jīng)驗的同時,產(chǎn)生的裝配信息又可以用于裝配規(guī)劃,經(jīng)過整理歸納,經(jīng)驗形成規(guī)則被存入知識庫,系統(tǒng)可以根據(jù)已有的規(guī)劃處理類似的產(chǎn)品,從而可以解決自動裝配規(guī)劃中類似的裝配問題。
2.1 OGRE簡介
OGRE(面向?qū)ο蟮膱D形渲染引擎)是用C++開發(fā)的面向?qū)ο笄沂褂渺`活的 3D引擎[3-4]。它的目的是讓開發(fā)者能更方便和直接地開發(fā)基于3D硬件設(shè)備的應(yīng)用程序或游戲。引擎中的類庫對更底層的系統(tǒng)庫的全部使用細節(jié)進行了抽象,并提供了基于現(xiàn)實世界對象的接口和其他類。
2.2 OGRE設(shè)計理念
OGRE通過面向?qū)ο蟮姆椒▽崿F(xiàn)了這樣的一個入口,從實際應(yīng)用進入到3D引擎具體的本職工作:把基本幾何體渲染到目標區(qū)域(一般情況下指的是CRT或LCD顯示設(shè)備的屏幕緩存,但也有例外)[5-6]。
如果使用面向?qū)ο蟮姆椒▉礓秩編缀误w,就可以從幾何體級別的處理工作中抽離出來,轉(zhuǎn)而處理具體的場景和在場景中的物體。其中的物體包括:可活動的物體、靜態(tài)物體組成的場景本身、燈光、攝像機以及其他。你只需簡單的把物體放到場景之中,Ogre會幫助你完成雜亂的幾何渲染處理,從而脫離對調(diào)用API的依賴。而且你也可以通過簡單的方法來操作場景中的物體來代替矩陣變換:例如,可以簡單地通過角度或者弧度來控制物體在不同空間內(nèi)旋轉(zhuǎn),而不必要通過矩陣的變換這種抽象的方法來操作實現(xiàn)變換。簡而言之,面向?qū)ο笞屇憧梢蕴幚砀呦蟮奈矬w、屬性和方法;而不用處理抽象的頂點列表、三角形列表、旋轉(zhuǎn)矩陣等底層概念。
OGRE的面向?qū)ο罂蚣芴峁┝税ㄈ夸秩具^程的對象模型。渲染系統(tǒng)把復(fù)雜且不同的底層API的功能抽象成一個統(tǒng)一的操作接口;場景圖也被抽象成為另外的一組接口,并且允許使用不同的場景管理算法實現(xiàn)“即插即用”的效果;所有可渲染對象,不論是動態(tài)還是靜態(tài),都被抽象出一組接口,用來被具體的渲染操作調(diào)用,可活動對象提供了一組通用接口接受各種各樣的操作方法。
3.1 幾何建模技術(shù)
幾何建模是計算機圖形學的傳統(tǒng)方法。首先,在計算機中建立起三維幾何模型(用多邊形表示,通常為三角形),在給定觀察點和觀察方向以后,利用計算機和相應(yīng)的繪制算法,完成消隱,光照及投影等成像過程,從而產(chǎn)生幾何模型的圖像。幾何建模一般包括建立對象的外形建模和對象的外表材質(zhì)建模。
3.2 高亮效果顯示
三維模型裝配軟件系統(tǒng)使用模板緩存技術(shù)實現(xiàn)三維模型的高亮顯示,模板緩存可以保持屏幕上某些部位的圖形不變,而其他部位仍然可以進行圖形繪制。比如說,可以通過模板緩存來繪制透過汽車擋風玻璃觀看車外景物的畫面。首先,將擋風玻璃的形狀存貯到模板緩存中去,然后再繪制整個場景。這樣,模板緩存擋住了通過擋風玻璃看不見的任何東西,而車內(nèi)的儀表及其他物品只需繪制一次。因此,隨著汽車的移動,只有外面的場景在不斷地更改。
模板緩沖還能夠用來實現(xiàn)一些抽象的效果,如輪廓。如果我們將一個模板掩模應(yīng)用到一個與圖元有相同形狀但是尺寸較小一些的圖像上,那么最終的圖像就會得到這個圖元的輪廓。然后,可以在模板掩模的區(qū)域填充一個具有固定顏色的圖像,從而得到一種類似于高亮輪廓的效果。
3.3 移植性技術(shù)
與傳統(tǒng)的針對某個具體系統(tǒng)的建模方式不同,氣路圖形建模軟件對氣路系統(tǒng)的建模采用模塊化方法。采用模塊化方法后,計算程序與系統(tǒng)結(jié)構(gòu)無關(guān),如果系統(tǒng)結(jié)構(gòu)有所改變——例如添加刪除一些元件,或者元件的組合形式有所改變時,只需要修改系統(tǒng)結(jié)構(gòu)矩陣輸入文件并對添加或者刪除的文件進行屬性設(shè)置,就可以進行新系統(tǒng)的仿真,而無需深入到計算程序中修改源代碼。此外,仿真程序還具有改進和擴充模型庫的二次開發(fā)能力。模型庫中仿真模塊的類型按照要求不少8個,并具有擴展接口的能力。
三維模型虛擬裝配系統(tǒng)大體功能需求劃分如圖 1所示。
1)跨平臺三維模型數(shù)據(jù)支持功能??缙脚_三維模型數(shù)據(jù)支持功能主要實現(xiàn)三維軟件數(shù)據(jù)向三維模型裝配系統(tǒng)的導入。導入功能要求保留三維軟件中模型的點、面、紋理、紋理坐標、空間位置、旋轉(zhuǎn)屬性,要求支持導入三維軟件中已經(jīng)建立的燈光、攝像機。本功能包括三維軟件數(shù)據(jù)導出、模型導入、攝像機自適應(yīng)、燈光自適應(yīng)功能。
2)三維模型繪制功能。主要實現(xiàn)實時三維模型的繪制功能。支持高效率的繪制三維模型,同時需要支持動態(tài)的縮放窗口,并且自動對齊鼠標以支持后續(xù)的三維模型的空間操作功能。
3)三維模型空間操作功能。三維模型空間操作功能為三維模型裝配軟件的核心功能,其主要包括:①模型定位與選取功能;②模型部件拆卸功能;③模型高保真突出顯示功能;④外部事件與數(shù)據(jù)轉(zhuǎn)換組件;⑤模型空間漫游功能;⑥交互方式參數(shù)配置功能。
4)三維模型裝配動畫錄制功能。三維模型裝配動畫錄制功能實現(xiàn)三維模型裝配軟件的動畫錄制功能,其包括:關(guān)鍵幀生成與記錄功能、關(guān)鍵幀信息導入與重建功能。
5)三維模型裝配動畫播放功能。主要包括自動生成過渡幀、播放動畫功能。
圖1 系統(tǒng)功能需求劃分圖
5.1 項目背景
此項目名稱為裝甲兵工程學院三維模型虛擬裝配系統(tǒng)。此系統(tǒng)主要是為了解決軍隊教學中多種弊端,在現(xiàn)實生活中依靠實物進行教學、訓練,費用高且效率低,而利用開發(fā)的虛擬仿真系統(tǒng),不需要借助實物就可在計算機上進行日常的教學、訓練,費用低廉而且安全,在身臨其境的人機交互中,原本復(fù)雜深奧的裝置構(gòu)造、原理、拆裝、維修知識變得直觀易懂,這樣極大地提高了教學效率和學員學習熱情。
5.2 項目實現(xiàn)方案
三維模型虛擬裝配軟件采用MFC+BCG+OGRE實現(xiàn),BCG是MS的界面庫,像office這樣的辦公軟件的界面就是采用的BCG,OGRE是一個開源的渲染引擎。界面負責將三維模型裝配軟件需要的配置文件、模型文件的名稱傳遞給三維模型裝配軟件,三維模型裝配軟件負責加載顯示該軟件。在其加載完畢三維模型后,界面可以訪問其三維繪制功能,獲取其內(nèi)部的數(shù)據(jù)信息;同時可以操作三維空間內(nèi)的任意一個模型的組件;最后通過修改每個關(guān)鍵幀內(nèi)的模型組件位置和旋轉(zhuǎn)信息,自動生成過渡幀動畫,來實現(xiàn)最后的動畫錄制和播放功能。系統(tǒng)整體構(gòu)架如圖2所示。
圖2 系統(tǒng)整體構(gòu)架圖
本文提出的OGRE+BCG+VC++虛擬仿真系統(tǒng)開發(fā)方案有著廣泛的適用性,還具有能夠?qū)崿F(xiàn)用戶的個性化需求,滿足計算機通訊實時性的優(yōu)點;但它的缺點是要求用戶掌握較深的編程知識,三維實體模型數(shù)據(jù)的文件大且結(jié)構(gòu)復(fù)雜,直接進行場景驅(qū)動對硬件水平要求高,編程困難,利用dotsceneformat得到了文件格式簡單、占用內(nèi)存少、便于添加渲染效果的 Scene文件,使低硬件條件下的場景實時驅(qū)動成為可能,從而為從現(xiàn)有機械模型進行視覺仿真和交互開辟了一條新途徑。
虛擬裝配將從根本上改變傳統(tǒng)的產(chǎn)品設(shè)計和制造模式,在實際生產(chǎn)之前,首先在虛擬制造環(huán)境中完成虛擬產(chǎn)品原型代替實際產(chǎn)品進行實驗,對其性能和可裝配性等進行評價,從而達到整個產(chǎn)品全局最優(yōu),縮短產(chǎn)品設(shè)計與制造周期,降低產(chǎn)品開發(fā)成本,提高產(chǎn)品快速響應(yīng)市場變化的能力。隨著國家工業(yè)化和信息化建設(shè)速度的加快,必將帶來更大的經(jīng)濟和社會效益。
[1](美)普雷斯曼著,鄭人杰等譯.軟件工程:實踐者的研究方法(原書第6版)[M].北京:機械工業(yè)出版社,2007
[2] 毋國慶.軟件需求工程[M].北京:機械工業(yè)出版社,2006
[3] 伽瑪?shù)戎?,李英軍等譯.設(shè)計模式--可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].北京:機械工業(yè)出版社,2005
[4](美)科曼(Cormen,T.H.)等著,潘金貴 等譯.算法導論(原書第2版)[M].北京:機械工業(yè)出版社,2006
[5](美)Frank D.luna.DirectX 9.0 3D游戲開發(fā)編程基礎(chǔ)[M].北京:清華大學出版社,2007
[6] 洪炳 等編著.虛擬現(xiàn)實及其應(yīng)用[M].北京:國防工業(yè)大學出版社,2005
Research on Virtual Destuffing Based on OGRE Rendering Engine
by HU Shengwu
The system provided a rendering engine based on OGRE virtual dismantling of the method and implementation of three-dimensional virtual simulation.Threedimensional model of virtual assembly software used MFC,Active X components to achieve three-dimensional rendering.Interface was responsible for assembling threedimensional model of software configuration files needed,the model name of the file passed to the three-dimensional model assembly software,3D model display assembly software responsible for loading the software.Loaded in its three-dimensional model, the interface could access the3D rendering capabilities,access to its internal data.At the same time three-dimensionalspace could operate any component of a model.Finally,modify the frame of the model components for each key position and rotation information,automatically generate the transition frame animation,to achieve the final animation recording and playback functions.
Virtual disassembly,OGRE rendering engine,three-dimensional model(Page:16)
P208
B
1672-4623(2011)02-0016-03
2010-09-15
項目來源:國家自然科學基金資助項目(40474003)。
胡圣武,副教授,博士?,F(xiàn)主要從事GIS基礎(chǔ)理論和圖像處理技術(shù)研究工作。