面向VR系統(tǒng)的三維場景的建立和導入_第1頁
面向VR系統(tǒng)的三維場景的建立和導入_第2頁
面向VR系統(tǒng)的三維場景的建立和導入_第3頁
面向VR系統(tǒng)的三維場景的建立和導入_第4頁
面向VR系統(tǒng)的三維場景的建立和導入_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、面向VR系統(tǒng)的三維場景的建立和導入TheCreationandImportof3DSceneonVRSystemLIUJunfangDepartmenofcomputergraphic,UESTC,Chengdu611731,SichuanProvince,ChinaThefieldofvirtualrealityisinseparablefromthebuildingoflargescalethreedimensionalscenes,andthebuildingof3Dsceneshasacloserelationshipwithbasic3Dbuildingtoolssuchas3Dma

2、x,Mayaandsoon.Themodelsusedinthesceneareallbuiltby3Dmax.Therearetwokindsofprocessforbuildingandeditingthelargescaled3Dscenes.Oneprocessisthatweexportmodelsseparately,andthenimportthemintoasceneeditortoconductanoverallscenefile.Wewilltakethiskindofuseinirrlichtforexample.Anotheroneisdirectlyexportthe

3、entirefileaftersomeconversionprocess,takingtheuseinogreforexample.Thebetterwedowiththeworkofeditingandimportingfor3Dscenes,themorerealistictheVRscenewillbe.Keywords3Dmax;SceneEditor;irrlicht;ogre0引言在虛擬現(xiàn)實系統(tǒng)中需要創(chuàng)建出渲染逼真的虛擬場景。虛擬場景需要由地形、植被、建筑物、汽車、人群等豐富的模型組成。目前,比較通用的三維模型制作軟件有3Dmax,may券。以3Dmax為例,美工制作出的三維模型或

4、場景必須進行轉(zhuǎn)換并且將轉(zhuǎn)換后導出的場景文件導入到程序中才能看到渲染后逼真的效果。生成的虛擬場景的逼真程度將直接關系到虛擬現(xiàn)實系統(tǒng)渲染的真實感和沉浸感。生成場景文件的方法有兩種:單個模型導出式和全景導出式。以下將分別闡述這兩種方法各自的操作流程,執(zhí)行過程中的注意事項,并比較兩者的優(yōu)缺點。1 單個模型導出式圖1單個模型導出式流程圖1.1 模型導出單個模型導出式,需要將3DmaXt模軟件生成的基礎場景模型分為一個個單獨的模型考慮,如樹,涼亭,假山石,凳子等。值得注意的是為了提高程序渲染場景的效率,模型不易做的精度過高,面片不要過多,模型體積不要過大,有特殊要求的除外。為了方便攝像機進行遠視面剪裁,我

5、們需要根據(jù)實際情況將建模人員制作的體積較大的模型進行分割,按幾個不同的模型進行導出。圖2UESTC主樓展示場景圖1.3 場景加載在將文檔格式的場景文件加載進程序時要進行解析,由于irrlicht本身已內(nèi)置好了解析器,加載過程非常簡單,代碼如下:irrlichtrender->d_smgr->loadScene("././media/example.irr");在初始化場景時加入這行加載代碼即可自動進行解析。2 全景導出式全景導出式即直接在3Dma葉對整個場景模型進行轉(zhuǎn)換,進而導出可供程序使用的整個場景文件。(以ogre中的應用為例)生成流程圖如3所示。圖3全景導

6、出式流程圖2.1 選擇導出工具目前,比較流行的導出工具有oFusion和ogremax。oFusionCE版是免費的但是有功能上的限制,用于開發(fā)還是應該選擇oFusionPro版。但是在資金有限的情況下免費的ogremax確實是個不錯的選擇。本文主要介紹使用ogremax導出大規(guī)模的靜態(tài)場景。2.2 材質(zhì)轉(zhuǎn)換使用ogremax導出場景文件需要下載最新版本的ogremax插件,并將其放到3Dmax的插件目錄中,3Dmax就會多出一個ogremax的工具選項。利用ogremax將3DMaxB型材質(zhì)轉(zhuǎn)換為ogre可以解析的材質(zhì)是全景導出式工作的重中之重。必須對ogre的材質(zhì)腳本有較深入的理解。Ogr

7、emax工具相當于提供了設置材質(zhì)腳本的接口,通過對technique、pass、texture_unit及燈光、霧效等各項參數(shù)的設置來完成材質(zhì)腳本的自動編寫。需要將建模人員使用其他材質(zhì)表現(xiàn)出來的紋理信息、燈光烘焙效果、玻璃透明效果、地面反射效果等通過調(diào)節(jié)ogremax參數(shù)設置表現(xiàn)出來。調(diào)節(jié)過程中可用ogremaxviewer觀察調(diào)試結(jié)果。2.3 導出場景文件2.4 場景加載將導出的.scene文件加載到程序中需要添加解析器,把解析XML的tinyxml和.OgreMaxViewersCommonCode中的文件添加到項目中并編譯通過。程序中加載.scene的代碼如下:#include"

8、;ogreSceneNode.h"#include"of/OgreOSMScene.h"#include"of/IOSMSceneCallbacks.h"#include"OgreMax/OgreMaxScene.hpp"#include"Common/Global.h"/在.cpp文件創(chuàng)建場景的函數(shù)中實現(xiàn):voidCApplication:createScene()/正常建立場景OgreMax:OgreMaxScene*m_maxScene1=newOgreMax:OgreMaxScene();m_ma

9、xScene1->Load("t1.scene",m_ActiveWindow,OgreMax:OgreMaxScene:NO_OPTIONS,m_SceneManager);m_SceneManager=m_maxScene1->GetSceneManager();/得到場景中的具體材質(zhì)并對材質(zhì)進行修改Ogre:MaterialPtrmat=MaterialManager:getSingleton().getByName("ssA1mat512_OgreMax");mat->getTechnique(0)->getPass(0)->setSceneBlending(Ogre:SBT_R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論