下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考语文一轮复习:填写词语(原卷版+解析)
- 2024服装买卖合同范本买卖
- 防盗门购买合同标准版
- 职业技能大赛-室内装饰设计师(室内陈设与空间设计)理论知识题库(附参考答案)
- 管理库房合同范例
- 简便土地流转合同模板
- 简易续租合同范例
- 塔吊维修、保养制度(4篇)
- 租餐厅合同范例
- 2024年度航空公司登机牌印刷合同
- 1.我们生活的世界
- 第9章 政府单位预算会计核算
- 欧陆590系列数字直流式调速器中文说明书
- 分布函数(课堂PPT)
- 古城南京的城市演变与现代规划
- 测绘地理信息业务档案保管期限表(20150305)..
- 国家开放大学电大《物流信息系统管理》期末题库及答案
- 精忠报国歌谱
- 固体火箭发动机制造工艺
- 质控图与质控规则
- 飞控pixhawk学习指南walkant
评论
0/150
提交评论