标题 | 基于OpenVRP的虚拟旅游场景设计与实现 |
范文 | 刘建东 司占军![]() ![]() ![]() 摘 要:随着感知计算、生物智能等生态环境的构建,虚拟现实技术朝着自然沉浸式的方向深入发展。以天津五大道旅游景区为研究对象,通过实地拍摄照片,绘制CAD二维规划图,并在3DsMax中进行建模;经过去除冗余、贴图、烘焙等色彩、光影优化处理,实现建筑的逼真效果;导入到OpenVRP虚拟平台中进行后期处理,实现实景漫游、物理碰撞、实时解说等功能,最终完成天津五大道旅游景区部分真实三维场景再现,可为游客提供全方位、自然沉浸式的交互体验,使游客足不出户就能浏览景区的真实风貌,同时为导游实训、旅游规划、旅行模拟等提供了解决方案。 关键词:虚拟现实;建模;OpenVRP;3DsMax DOIDOI:10.11907/rjdk.151335 中图分类号:TP317.4 文献标识码:A 文章编号:1672-7800(2015)007-0114-00 0 引言 2014年5月,OpenVRP虚拟现实平台正式推出,其底层代码库开源性和多系统兼容性迅速吸引了国内开发人员的眼球。它支持DirectX、 OpenGL、GLES等多个图形编程接口 ,其便捷的编辑器XBulider提供了强大的可视化开发、测试环境,集成了DeferredLighting延迟光照技术、SSDO动态遮罩计算、CSM+ SoftShadow动态阴影等多种先进渲染技术的“极光”渲染引擎,保证了材质光影效果的逼真,并且可以无限扩展场景,并提供了类C++,面向对象脚本的编译、自定义等诸多功能。OpenVRP无疑是一款功能强大、高效易用的虚拟现实开发引擎。 虚拟现实技术利用计算机构建听觉、视觉、触觉立体化的沉浸式交互环境,使游客有身临其境的感受,游客可以不受限制地浏览三维立体空间内的事物[1]。基于现实中实地旅游的各种需求,利用3DsMax软件和OpenVRP虚拟仿真平台开发出三维虚拟旅游场景,使游客能够沉浸在虚拟场景中,体验多种运动方式,并从多种角度观察周围场景,借助步行、车行等逼真漫游方式,进行虚拟旅游,如图1所示。 1 虚拟旅游场景设计思路 天津五大道建筑风格呈现出多样性、丰富性、复杂性,并且没有原始建筑设计图。前期要利用网络了解五大道景区相关资料,获取主要洋楼的建筑风格,并对所需建筑、环境等进行实地考察、拍摄照片,了解建筑群的分布、走向及五大道的地理概貌。同时拍摄门窗、草地等贴图所需素材,并绘制CAD图,然后导入3DsMax中完成三维模型重建,最终利用OpenVRP虚拟仿真平台开发出部分天津五大道景区的虚拟旅游场景,实现自由控制的人机交互。天津五大道景区虚拟旅游场景设计框架如图2所示。 图1 虚拟旅游场景 复杂建筑场景构建应特别注意: (1)空间观念。建模思维很重要,这直接决定建模选取的方法,在建模之前,应充分分析每栋景区洋楼的结构特征,绘制出大致草图,确定建筑模型的规模大小、楼宇高度、色彩及绿化等要素,尽可能减少面数,合理布局。 (2)分层制作。景区建模数据量庞大,制作过程中会占用计算机过多资源,导致建模速度大大降低。而采用分层制作的思想,可有效提高工作效率。根据洋楼、地貌、基础设施等不同模块,独立建造多个子场景,最后将所有子场景合并,形成整个虚拟旅游场景。 图2 设计框架 (3)参数设置。建模之前需要设置统一单位,保持所有子场景文件的一致性,以保证场景后期拼合的无缝衔接。同时,每个模型、贴图设置易识有序的英文名称,以防止OpenVRP打包后的文件因格式相同有重名覆盖现象,避免后期修改时出现错误。 2 建筑模型构建 2.1 洋楼建模 天津五大道的洋楼形态迥异,建模过程中需要对每一栋选中的建筑单独进行处理,从多个视角分析其结构,勾勒出大致草图。首先利用AutoCAD对主体建筑各个视图进行绘制,为压缩数据规模,减少模型面数,省去不可见部分底视图及内部空间结构的制作,直接坐落于地貌上。将DWG文件导入3DsMax中,利用“挤出”命令,完成洋楼四周墙体的制作。相同对象尽可能使用“实例”,这样可在保证实际效果的情况下最大限度地减小文件容量。洋楼模型制作完成后,为了达到逼真的效果,需要对其进行贴图操作,全部使用标准材质,对于结构复杂的几何体,不同的面需要赋予不同的材质,需要灵活使用多维子材质进行贴图操作,并添加UVW修改器,调整参数设置,以达到最好效果。天津瓷房子建模如图3所示。 2.2 区域建模 搭建虚拟旅游场景漫游系统需要利用地形地貌的空间连续性来布置地物对象模型[2]。通过网格构建起伏框架,添加纹理贴图增加真实性,完成地貌和周边道路的建模[3],如图4所示。对于数据量庞大的植被可以制作成平面形状,同时采用镂空贴图优化空间。场景中还有喷泉、路灯、广告牌、交通信号灯等多种基础设施,对每个物体分别建模后,进行等比例实例化。 2.3 渲染烘焙 渲染烘焙是为了将模型的光影效果,以贴图的形式导入OpenVRP中,进而得到具有真实光影效果的VR场景,防止模型效果失真[4]。烘焙操作之前,首先要利用渲染后的效果图,检查场景各个角度的灯光效果。正确设置UV坐标,保证贴图完整性。由于OpenVRP支持多种渲染器,本实验选择了渲染色彩及光影较为逼真的vary渲染器,其设置参数与扫描线渲染器有所不同。指定vary渲染器后,将其内置帧缓冲区关闭,同时在颜色贴图中选择Multiframe incremental。模型打上灯光,开启阴影,执行烘焙到纹理命令,设置输出路径,启用对象设置,并添加纹理元素。应用VRayLightingMap模式,自动贴图位置设置为漫反射颜色,参数设置无误后,即可渲染、烘焙模型。对于场景的烘焙操作,要分块分层进行,防止计算机负担过重,不仅极易造成死机现象,还会使整个场景失真,烘焙出不理想的效果。将烘焙好的建筑模型依次导入VRP场景中,缩放为统一比例,安置在合适位置,最终完成天津五大道虚拟景区的拼合工作,如图5所示。 3 VRP-SDK场景交互编程 VRP-SDK应用的是Activex控件接口,使用COM技术的ocx对象,VRP的一切功能都封装在动态链接库中,ocx对象则依赖动态链接库提供VRP内部所有功能,通过脚本控制,最终实现整个场景的相机浏览、真人漫游等交互功能。 3.1 注册ocx对象 程序运行之前,要注册OCX控件,将ActiveVrp.ocx文件放在同目录下。 CString vrp_ocx_file= filefun2:: get_module_path(0)+ _T("ActiveVrp.ocx"); COcxRegister:: reg_ocx(vrp_ocx_file) 3.2 创建vrp对象并发送脚本 OCX生成了CActiveVrp 类,利用该类声明vrp对象。并应用ExecuteVrpScript函数加载vrp场景。 { //load vrp file m_vrp.ExecuteVrpScript("打开场景\\changjing.vrp");} 在制作场景交互时可以直接调用vrp中的自定义函数。 void CActiveVrpTestDlg::OnButtonRunScript() { CString str_cmd ; / str_cmd = _T("执行内部函数, mode_run"); m_vrp.ExecuteVrpScript(str_cmd); } 3.3 VRP消息回调函数 在VRP场景中添加回调函数,这将实现用户控制场景,场景触发反馈用户消息的相互作用模式。程序生成的回调函数代码: void CActiveXVrpTestDlg::OnVrpEventActivevrpctrl1(long vrp_msg_id, long p1, long p2, long p3, long p4) { } 最终搭建好的VRP场景交互结构如图6所示。 3.4 场景打包发布 将所有场景文件收集打包,发布成exe文件。运行该文件,对各功能进行测试,对不完善的地方进行修改,重复执行编译操作。至此,五大道虚拟旅游场景漫游系统制作完成,如图7所示。 4 结果与分析 本实验利用3DsMax和OpenVRP,进行了天津五大道旅游景区部分虚拟场景的设计与制作,并实现了系统漫游、二维导航、碰撞检测等功能。制作过程中,主要问题分析如下: (1)软件版本问题。虚拟漫游系统制作需要应用AutoCAD、3DsMax、VRP等多个软件,这就要充分考虑关联软件的版本型号及兼容性,避免后期出现问题。 (2)模型优化问题。三维模型数据量庞大,但VRP对模型本身面数有一定要求,过度复杂的模型会导入失败,造成模型丢失现象,并会极大地影响系统运行速度,这就要求前期制作时尽可能地优化操作,利用实例技术、塌陷墙体、植被平面化减少模型面数。 (3)贴图问题。建筑模型需要进行贴图,以获得逼真的视觉效果,OpenVRP对材质类型有限制,因而在贴图过程中要规范统一,尽可能使用标准材质,防止后期贴图无法识别的错误,并且要充分利用纹理的重复性和延展性,减小内存消耗[5]。 (4)烘焙问题。3DsMax渲染烘焙参数有多种设置,在操作过程中要根据渲染器、模型、贴图等多种因素综合考量,设置参数尽可能使烘焙效果达到最好,对于复杂的结构,要分块进行烘焙。烘焙完成的效果跟渲染出的效果会有差异,在导入时,应尽可能保持一致。 5 结语 目前,虚拟现实技术已深入应用于旅游场景设计中,这种虚实场景的结合,带给了游客亦幻亦真的体验。然而,虚拟旅游场景建设是一项庞大工程,涉及诸多领域,受实验周期、实验环境及技术水平限制,当前只能模拟简单的虚拟旅游场景,离真正意义上的完全浸入式的人机交互还有很大差距。目前,感知计算的软硬件发展风起云涌,如intel的RealSense技术,可以实现对系统的感知控制,这种全新的人机交互方式,势必使虚拟现实技术在旅游场景中的应用前景更为广阔。 参考文献: [1] 刘莉娜.基于虚拟现实的铁路机车乘务员培训系统的设计与实现[D].西安:西安电子科技大学,2011. [2] 刘燕,秦建波,洪智风.三维虚拟校园模型构建研究[J].数字技术与应用,2011(6):46-47. [3] 李文霞,司占军,顾翀.虚拟现实在校园场景建设中的应用研究[J].软件导刊,2014(5):145-147. [4] 马贺清,陈建平,于淼,等.VRP虚拟校园建设及其关键技术[J].计算机系统应用,2012(5):153-157. [5] 张枝军.可视化虚拟室内环境设计与实现[D].大连:大连理工大学, 2009. (责任编辑:孙 娟) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。