面向VR系统的三维场景的建立和导入_第1页
面向VR系统的三维场景的建立和导入_第2页
面向VR系统的三维场景的建立和导入_第3页
面向VR系统的三维场景的建立和导入_第4页
面向VR系统的三维场景的建立和导入_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向VR系统的三维场景的建立和导入TheCreationandImportof3DSceneonVRSystemLIUJunfangDepartmenofcomputergraphic,UESTC,Chengdu611731,SichuanProvince,ChinaThefieldofvirtualrealityisinseparablefromthebuildingoflargescalethreedimensionalscenes,andthebuildingof3Dsceneshasacloserelationshipwithbasic3Dbuildingtoolssuchas3Dma

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

3、entirefileaftersomeconversionprocess,takingtheuseinogreforexample.Thebetterwedowiththeworkofeditingandimportingfor3Dscenes,themorerealistictheVRscenewillbe.Keywords3Dmax;SceneEditor;irrlicht;ogre0引言在虚拟现实系统中需要创建出渲染逼真的虚拟场景。虚拟场景需要由地形、植被、建筑物、汽车、人群等丰富的模型组成。目前,比较通用的三维模型制作软件有3Dmax,may券。以3Dmax为例,美工制作出的三维模型或

4、场景必须进行转换并且将转换后导出的场景文件导入到程序中才能看到渲染后逼真的效果。生成的虚拟场景的逼真程度将直接关系到虚拟现实系统渲染的真实感和沉浸感。生成场景文件的方法有两种:单个模型导出式和全景导出式。以下将分别阐述这两种方法各自的操作流程,执行过程中的注意事项,并比较两者的优缺点。1 单个模型导出式图1单个模型导出式流程图1.1 模型导出单个模型导出式,需要将3DmaXt模软件生成的基础场景模型分为一个个单独的模型考虑,如树,凉亭,假山石,凳子等。值得注意的是为了提高程序渲染场景的效率,模型不易做的精度过高,面片不要过多,模型体积不要过大,有特殊要求的除外。为了方便摄像机进行远视面剪裁,我

5、们需要根据实际情况将建模人员制作的体积较大的模型进行分割,按几个不同的模型进行导出。图2UESTC主楼展示场景图1.3 场景加载在将文档格式的场景文件加载进程序时要进行解析,由于irrlicht本身已内置好了解析器,加载过程非常简单,代码如下:irrlichtrender->d_smgr->loadScene("././media/example.irr");在初始化场景时加入这行加载代码即可自动进行解析。2 全景导出式全景导出式即直接在3Dma叶对整个场景模型进行转换,进而导出可供程序使用的整个场景文件。(以ogre中的应用为例)生成流程图如3所示。图3全景导

6、出式流程图2.1 选择导出工具目前,比较流行的导出工具有oFusion和ogremax。oFusionCE版是免费的但是有功能上的限制,用于开发还是应该选择oFusionPro版。但是在资金有限的情况下免费的ogremax确实是个不错的选择。本文主要介绍使用ogremax导出大规模的静态场景。2.2 材质转换使用ogremax导出场景文件需要下载最新版本的ogremax插件,并将其放到3Dmax的插件目录中,3Dmax就会多出一个ogremax的工具选项。利用ogremax将3DMaxB型材质转换为ogre可以解析的材质是全景导出式工作的重中之重。必须对ogre的材质脚本有较深入的理解。Ogr

7、emax工具相当于提供了设置材质脚本的接口,通过对technique、pass、texture_unit及灯光、雾效等各项参数的设置来完成材质脚本的自动编写。需要将建模人员使用其他材质表现出来的纹理信息、灯光烘焙效果、玻璃透明效果、地面反射效果等通过调节ogremax参数设置表现出来。调节过程中可用ogremaxviewer观察调试结果。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文件创建场景的函数中实现: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();/得到场景中的具体材质并对材质进行修改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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论