胡 亮,王蘭美,宋宏鵬,亓洪亮
(1.山東理工大學(xué)機(jī)械工程學(xué)院,山東 淄博 255049;2.山東理工大學(xué)農(nóng)業(yè)工程與食品科學(xué)學(xué)院 山東 淄博 255049)
隨著虛擬現(xiàn)實技術(shù)(VR,Virtual Reality)[1]的不斷發(fā)展,涌現(xiàn)出了大量基于VR技術(shù)的開發(fā)平臺,目前國際上比較著名的有Cult3D、EON、Quest3D,Virtools等.由于Virtools功能強大,方便易用,開發(fā)人員通過“拖拽”式的操作便可構(gòu)建復(fù)雜的交互應(yīng)用程序,大大縮短了產(chǎn)品的開發(fā)周期,降低了開發(fā)難度,從而使其在虛擬現(xiàn)實技術(shù)領(lǐng)域占有一席重要之地.Virtools本身不具備建模功能,目前國內(nèi)對Virtools的應(yīng)用主要是采用3DS Max建立模型然后導(dǎo)入Virtools環(huán)境進(jìn)行交互設(shè)計的開發(fā)模式.3DS Max建立模型時雖然操作簡單、建模速度快(尤其是曲面建模),但是對于機(jī)械產(chǎn)品的建模不夠精確;SolidWorks功能強大,易學(xué)易用,適合復(fù)雜零件、機(jī)械類模型的建與裝配,但是在渲染及動畫制作方面有所欠缺.本文主要在比較兩個軟件各自特點的基礎(chǔ)上,利用SolidWorks、3DS Max技術(shù),結(jié)合Virtools平臺建立一級減速器演示系統(tǒng),即利用Solid-Works進(jìn)行減速器模型建立,在3DS Max中對所建立模型進(jìn)行渲染制作,最終實現(xiàn)所建模型能在Virtools環(huán)境中進(jìn)行交互設(shè)計的目的.
SolidWorks是達(dá)索公司開發(fā)的專門負(fù)責(zé)研發(fā)與銷售機(jī)械設(shè)計軟件的產(chǎn)品,功能強大、易學(xué)易用和技術(shù)創(chuàng)新是SolidWorks的三大特點,這使得Solid-Works成為領(lǐng)先的、主流的三維CAD解決方案,其主要特點如下.
(1)功能強大 通過SolidWorks提供的零件建模、曲面建模、鈑金設(shè)計、有限元分析、注塑分析、模具設(shè)計、焊接設(shè)計、裝配設(shè)計等功能,設(shè)計者能完成包括三維機(jī)械設(shè)計、數(shù)據(jù)管理、網(wǎng)頁發(fā)布、高級渲染在內(nèi)的一整套產(chǎn)品設(shè)計.
(2)易學(xué)易用SolidWorks是基于特征的參數(shù)化建模軟件,通過拉伸、旋轉(zhuǎn)、抽殼、陳列、切除等直觀操作就可進(jìn)行產(chǎn)品設(shè)計,并且零件設(shè)計、裝配設(shè)計和工程圖之間是完全相關(guān)的.
(3)豐富的軟件接口SolidWorks提供了多種輸入/輸出轉(zhuǎn)換器,支持幾乎市面上所有機(jī)械CAD軟件格式的輸入并能夠輸出包括VRML、IGES、ST L、ProE、PhotoShop在內(nèi)的諸多文件格式.
3DS Max是Autodesk公司出品的一款著名3D動畫軟件,是世界上應(yīng)用最廣泛的三維建模、動畫、渲染軟件,廣泛應(yīng)用于游戲開發(fā)、角色動畫、電影電視、視覺效果和設(shè)計行業(yè)等領(lǐng)域,其主要特點如下:
(1)功能強大,插件豐富3DS Max有著出色的建模、渲染、動畫等功能,并且與其他同類軟件相比有著無可比擬的插件資源,通過3DS Max豐富的插件,可滿足各行業(yè)各領(lǐng)域不同的設(shè)計需求.
(2)界面友好,易學(xué)易用.3DS Mas命令布局和功能模塊設(shè)置使用方便,是最容易上手的3D軟件.
(3)和其它相關(guān)軟件配合流暢3DS Max通過自身以及插件,支持多種相關(guān)軟件的不同類型文件的導(dǎo)入導(dǎo)出.
(4)渲染速度快,畫面質(zhì)量高.
從桌子上跳下來當(dāng)然危險,但你阻止了他,他背著你跳,那更危險。所以該有個“訓(xùn)練策略”。把墊褥鋪在地上,示范從椅子上跳下時身體應(yīng)該保持怎樣的姿勢、兩腿如何彎曲?起跳后身體、雙腿和雙手怎樣配合行動?著地時身體、雙腿和雙手做怎樣的動作?
(1)SolidWorks是實體建模,它不僅能描述零件的輪廓線與表面,還能描述其體積,可以說實體模型包含了曲面的信息;而3DS Max的模型是以面來代替的,描述了零件的表面,但是不描述零件的質(zhì)量和體積.
(2)3DS Max對于工業(yè)機(jī)械類建模不夠精確,裝配管理效率低,但開發(fā)效率高;SolidWorks模型建模精確,裝配效率高,其特征管理模式修改方便.
(3)SolidWorks雖可通過插件對模型進(jìn)行渲染與動畫制作,但效果無法與3DS Max相比.
綜上所述,結(jié)合兩軟件各自特點、取長補短,采用SolidWorks建模并裝配,然后在3DS Max中進(jìn)行模型的渲染制作.此外,采用SolidWorks+3DS Max進(jìn)行模型建立的另一個原因是,我們所建立的模型最終要導(dǎo)入Virtools開發(fā)環(huán)境中,利用Virtools_max導(dǎo)出插件可方便地將所建立的場景生成.nmo文件從而導(dǎo)入Virtools中.
Virtools是法國達(dá)索公司開發(fā)的虛擬現(xiàn)實開發(fā)工具,透過直覺式的圖形開發(fā)界面,開發(fā)人員通過簡單的“拖拽”式的操作,就可以建構(gòu)復(fù)雜的交互應(yīng)用程序,其三維引擎已經(jīng)成為微軟XBOX認(rèn)證系統(tǒng)[2].但是Virtools本身沒有建模功能,因此首先要借助其他建模軟件建立所需的場景、動畫以及模型.目前Virtools提供了3DS Max、Maya、Lightwave等軟件的格式轉(zhuǎn)換插件,對于其它建模軟件如SolidWorks、UG、Pro/E、Catia等則可通過兩種方法將模型導(dǎo)入Virtools:一種方法是直接將模型轉(zhuǎn)換為Virtools可讀取的文件類型,Virtools目前支持的文件格式類型有.3ds、.3dxml、.asc、.dae、.wrl、.nmo;第二種方法是通過格式“過渡”的形式將模型導(dǎo)入Virtools開發(fā)環(huán)境,例如可先將Solidwroks的模型保存為IGS或STL格式的文件,然后再利用3DS Max對模型進(jìn)行進(jìn)一步的編輯,最后利用Virtools提供的導(dǎo)出插件將模型、場景、動畫導(dǎo)出為Virtools可接受的文件格式.第一種方法適用于相對簡單、精度要求低、不需要進(jìn)行渲染、材質(zhì)、動畫制作等編輯工作的模型導(dǎo)入,對于要求較高、復(fù)雜的場景模型不宜采用.第二種方法由于中間經(jīng)過了格式轉(zhuǎn)換,在轉(zhuǎn)換過程中難免造成信息丟失,因此要隨時對模型進(jìn)行修改、調(diào)整.
模型導(dǎo)入Virtools后,就可以利用Virools提供的行為模塊進(jìn)行交互腳本程序的設(shè)計、編寫、調(diào)試,完成后就可對作品進(jìn)行發(fā)布.目前Virtools可將作品直接發(fā)布為web格式,用戶只需在客戶端安裝Virtools Web Player播放器就可以瀏覽和使用開發(fā)完成的作品.此外,隨著Virtools在虛擬現(xiàn)實領(lǐng)域不斷的發(fā)展,第三方開發(fā)出了能將Virtools作品以.exe格式發(fā)布的插件,大大提高了Virtools的普及性、方便了用戶的使用.系統(tǒng)開發(fā)流程如圖1所示.
圖1 系統(tǒng)開發(fā)流程圖
(1)利用SolidWorks強大的實體建模功能,通過拉伸、旋轉(zhuǎn)、薄壁、特征陣列以及打孔等操作完成減速器各零件模型的建立,并按照一定的裝配關(guān)系對零件進(jìn)行裝配.裝配完成后的減速器模型如圖2所示.
圖2 SolidWorks減速器裝配體模型
(3)減速器模型導(dǎo)入3DS Max后,需要對模型做進(jìn)一步的編輯與修改,以求更好地滿足虛擬現(xiàn)實技術(shù)所提出的要求.主要的編輯與修改有:賦予模型基本材質(zhì)屬性與貼圖、模型優(yōu)化,另外還可根據(jù)需要進(jìn)行動畫的制作等.
3DS Max的材質(zhì)是一個比較獨立的概念,它像染色工具一樣,為模型表面加入色彩、光澤和紋理.材質(zhì)包含基本材質(zhì)屬性和貼圖兩個概念.一般通過調(diào)節(jié)環(huán)境光顏色、漫反射顏色、高光顏色、高光強度、透明度等參數(shù)就可以獲得基本的材質(zhì)[4],并且可以為一個模型的不同部分設(shè)置不同的材質(zhì).例如,為了使減速器模型更加清晰、真實,可對各零件賦予不同的材質(zhì);此外,還可對材質(zhì)表面設(shè)定不同的紋理,材質(zhì)表面的各種紋理效果都是通過貼圖產(chǎn)生的.在3DS Max中不僅可以像貼圖一樣進(jìn)行簡單的紋理處理,還可以按各種不同的材質(zhì)屬性進(jìn)行貼圖.3DS MAX中減速器模型如圖3所示.
圖3 3DS Max中減速器模型
要想將3DS Max中的場景導(dǎo)出為Virtools可執(zhí)行文件,必須保證已安裝Virtools_max導(dǎo)出插件.然后執(zhí)行文件-導(dǎo)出命令,選擇保存類型為.nmo即可,保存的路徑與文件名最好采用英文,否則文件導(dǎo)入Virtools后,有時會發(fā)生不可預(yù)知的錯誤.Virtools允許場景以對象、角色、動畫的形式輸出.模型導(dǎo)出界面如圖4所示.
圖4 3DS M ax模型導(dǎo)出
啟動Virtools導(dǎo)入減速器場景文件,利用Virtools提供的行為交互模塊就可進(jìn)行設(shè)計了.此時需注意的是:(1)如果原先場景設(shè)計使用了燈光,則應(yīng)在3DS Max中將模型材質(zhì)上面的自發(fā)光數(shù)值設(shè)為0,場景文件導(dǎo)入Virtools環(huán)境后再加入燈光,并控制燈光的照射范圍,否則導(dǎo)入的模型會是黑色.(2)如果原先場景設(shè)計只是通過紋理表現(xiàn)效果,不考慮使用燈光,則可將自發(fā)光數(shù)設(shè)為100或根據(jù)需要調(diào)整自發(fā)光數(shù)值[5].導(dǎo)入后圖形如圖5所示
圖5 導(dǎo)入Virtools的模型
Virtools提供了大約500多個Building Blocks(行為模塊),開發(fā)人員只需適當(dāng)?shù)亟M合及重復(fù)利用這些行為模塊就可以開發(fā)出復(fù)雜的虛擬現(xiàn)實應(yīng)用程序.當(dāng)然,開發(fā)人員也可以利用VC++或VSL手工編寫自己的行為模塊.一個簡單的減速器演示系統(tǒng)應(yīng)該包括各種基本操作,例如平移,旋轉(zhuǎn),縮放等等.實現(xiàn)這些基本操作有兩種方法[6]:一種方法是建立一個攝像機(jī),通過攝像機(jī)來控制作品所處場景,間接實現(xiàn)模型的演示,最常見的是場景的三維環(huán)視;另一種是直接對模型編寫控制腳本,通過鍵盤實現(xiàn)模型的上下平移、左右平移、前后平移以及旋轉(zhuǎn)控制的操作.對于第一種方法,只需在Virtools中新建一個攝像機(jī),設(shè)定好攝像機(jī)的初始值,通過Keyboard Camera模塊并加以設(shè)定即可實現(xiàn)減速器三維場景的環(huán)視漫游.第二種方法可以通過對減速器模型編寫腳本,通過合理地編排Switch on key、Rotate、Translate、scale等幾個行為模塊,就可以通過鍵盤操作實現(xiàn)模型的平移、旋轉(zhuǎn)、縮放等操作.
減速器演示系統(tǒng)完成后,通過Virtools將作品發(fā)布為.vmo格式,客戶端只需安裝Virtools Web Player就可以通過IE瀏覽器使用制作的演示系統(tǒng)了.
隨著虛擬現(xiàn)實技術(shù)在工業(yè)領(lǐng)域的發(fā)展,對模型的系統(tǒng)性、精確性、開發(fā)效率、沉浸感等方面也提出了更高的要求,傳統(tǒng)的開發(fā)模式已不能滿足這些要求.本文采用的利用SolidWorks進(jìn)行快速、精確機(jī)械建模,再利用3DS Max技術(shù)對所建立模型進(jìn)行渲染、動畫的制作,最后再在Virtools環(huán)境中進(jìn)行交互設(shè)計的設(shè)計思路,充分發(fā)揮了SolidWorks與3DS Max的各自長處,提高了開發(fā)效率和產(chǎn)品質(zhì)量,可廣泛應(yīng)用于工業(yè)類虛擬現(xiàn)實技術(shù)的開發(fā)與設(shè)計.
[1]Kouzes R T,Myers J D,Wulf W A.Doing science on the internet[J].IEEE Computer Society,1996,29(8):40-46.
[2]王樂.基于VIRTOOLS的分布式VR的網(wǎng)絡(luò)技術(shù)技術(shù)研究[D].武漢:武漢理工大學(xué),2006.
[3]閻慶華,林大鈞.SolidWorks結(jié)合AutoCAD與3DMAX實現(xiàn)機(jī)械產(chǎn)品設(shè)計[J].工程圖學(xué)學(xué)報,2004(3):150-154.
[4]孫倩.基于3DS MAX的三維建模及其在Virtools環(huán)境中的應(yīng)用[J].中國科技信息,2008(12):94-95.
[5]武真.基于Virtools的GC虛擬實驗室的構(gòu)建方法研究[D].大連:大連理工大學(xué),2008.
[6]張萌,秦宏志.基于Virtools的三維液壓元件網(wǎng)絡(luò)拆裝展示系統(tǒng)研究[J].煤礦機(jī)械,2008,29(2):181-183.