山西工商学院,山西太原 030001
随着我国信息化技术的不断发展,虚拟现实技术从目前的网络化、虚拟化,逐步向智能化、普适化、人性化发展,其主要涉及的领域有设计、娱乐、医学、军事、航空、制造、考古、教育训练、灾难重现、人机交互界面、参考咨询、农业等[1]。
上述应用针对地物实体外部空间的表达和模拟,对室内虚拟现实技术方面,其研究和应用较少,因此迫切需要开展室内的视景仿真工作,使得地物内部的景象数字化、灵活化、逼真化。
本文以某大学实验室为例,对实验室的硬件设备进行了统计和测量,并以Presagis Creator13为建模工具,对内部景观及设备进行了全方位的三维模拟,构建了真实的三维环境,同时,本文也对建模过程中容易遇到的问题进行探讨和总结。
Presagis Creator(以下简称Creator)是加拿大Presagis公司的新一代实时仿真建模工具,用于构造高优化、高精度的实时三维场景,广泛应用于视景仿真、交互式游戏。它拥有对实时应用优化的OpenFlight数据格式,强大的多边形建模、矢量建模、大面积地形精确生成功能,以及多种专业选项和插件,能高效、最优化地生成实时数据库,并与后续的实时仿真软件紧密的结合,在视景仿真、模拟训练、城市仿真、交互式游戏及工程应用、科学可视化等实时仿真领域有着广泛的应用[2]。
基于对校园三维漫游系统的开发经验,针对建模过程中模型复杂、种类繁多的现状,得出在三维模型建立之前,需要对被建模型的本身进行全方位了解,并根据每个小块模型之间的联系以及模型在虚拟场景的几何空间位置,同时结合OpenFlight层次化数据结构[3],来对实体模型的层次结构进行总体设计。为了在建模中省时省力,本文采用了相对合理的方案来规划三维建模过程。主要体现在以下两个方面:
1、由于建模过程比较复杂,不仅模型种类不同,对建模过程中的精度要求不同,而且每个模型的点、线、面、体元素很多,不利于提高建模效率,所以需要将模型分类,单独整理建模;
2、分类完成后,把可以简化的模型归类,针对不同模型,选用不同的建模技巧,以达到最好的视景效果。如实验室内景中,摆放的实验桌子、椅子,这时可以建立一个典型的模型,之后运用建模技巧对这个模型进行移动,或者镜像等来完成对应几何位置的其他模型,这就相对的减少了建模工作量。
相对于3DSMax、Sketchup等建模软件来讲,Creator在模型数据管理方面有较多优势。它可以在基本建模环境中,为用户提供功能丰富强大的建模环境,使用户可以快速地创建仿真模型。Creator的劣势在于它的布尔运算功能相对较差,不支持NURBS建模,对于实体较复杂且要求较精细的建模比较艰难,不易达到理想的效果。
由于可视化仿真衬里渲染的实现过程和其本身所具有的交互性特点,决定了可视化仿真系统的模型数据库跟传统的三维模型数据库有不同:
(1)支持多种格式的模型进行转换;
(2)支持多自由度(Degree of Freedom,DOF)、多细节层次(Level of Detail ,LOD)建模;
(3)支持光点系统以及动画模拟。
在建模过程中,为了使模型数据快速建立以及被应用程序快速读取,需要尽量减少模型的多边形数量,以使模型构造最简化,同时也减少对系统内存的占用。
在Creator建模时要注意几点原则:
(1)在从其他建模软件导入模型时,要注意采用统一的计量单位和比例尺;
(2)要注意设备模型的底面与网格的关系,比如车辆类模型的底面要与网格重合,船舰类模型要与吃水线重合,飞机类模型要与其中心面重合;
(3)建模过程中,尽量用贴图代替面,减少模型的面数;
(4)贴图要符合Creator软件的要求,Creator纹理库[4]有128个调色板存放纹理,纹理图像的边长必须是2的幂次方个像素,且贴图尽量要小;
(5)要设置合适的LOD节点和DOF节点,要随时注意模型数据库中父节点的设置、名称的改变,避免名称为默认值,产生Default节点。并且放在同一个自由度下的节点不能移动到其他节点;
(6)建模时,要对模型进行合理的简化,考虑现实场景的要求,针对模型设计合理的纹理贴图,增强模型的真实感。
在室内实体建模过程中,由于观察的视点在实体内部,所以需要建立操作部分的精确视图。但Creator对精细化的建模效果不是很理想,这时需要结合其他建模软件,比如常用的是3DSMax或者Sketchup,将模型存储为3ds或者dxf格式,然后导入Creator中,经过一定的改造、优化(比如删除多余的面,调整纹理贴图大小,添加LOD、DOF节点等),并导出成Openf l ight格式。
在此过程中需要注意的是:
(1)导入之前要选定统一的计量单位,避免导入后不在原位置;
(2)所建立的模型不要分很多段,避免某个面的细节很多。
在模型导入后,面与面之间进行整理合并,减少多余的面。如图1所示是椅子三维模型及数据库结构图。
纹理贴图[5]在三维建模中起着重要的作用,因为纹理直接反应了模型的逼真程度,高质量的纹理贴图不仅可以描述实体细节特征,而且可以简化模型。例如一张好的台阶图像就可以代替台阶模型,从而减少了模型的复杂程度以及对内存的占用。三维模型的逼真程度同时也映射着纹理图像的质量。
纹理贴图的本质是二维的图像转换成三维的图像,在模型中表现出来真实的效果[6]。纹理图像的格式不符合Creator所识别的格式,或者大小不符合Creator所要求的范围,这时所贴模型的面就会出现模糊不清或者马赛克状。处理贴图时,在保证视觉效果的前提下,尽量选择小的图像代替大的图像,比如用32px×32px的图片代替128px×128px的图片。如图2所示是实验室桌子模型贴图效果图。
在贴图过程中,首先要对纹理图像进行处理,使纹理、材质与环境效果相互统一,使用PS技术对图像进行一系列的处理,同时需要注意的是要在PS安装目录下的File Formats文件夹中安装rgb插件,这样输出的图片格式符合OpenFilght的要求。
本文中对某大学教学实验室室内设备器材的建模时采用批量生成的方法。在Creator软件建模环境中,软件只对贴图文件的路径及贴图以何种方式被使用进行记录,因此没有直接将贴图文件包含于模型文件中,基于这个特点,可以将实体相同的模型,先单独建立一个完整的模型,通过对位置及贴图的修改,即可简单的生成新的模型。这种方法的优点是对具有相同特征的模型可以大大的减少工作量,在建模中有重要的意义。缺点是比较单一,对于具有相同结构但外部纹理不同的模型,纹理的制作量比较大,并且不能互用。图3所示是教学实验室部分相似模型的生成。
在Creator软件当中,除了上文中提到的纹理(漫反射纹理),还有法线纹理和高光纹理,这两种纹理是在不增加模型几何复杂度的情况下丰富细节和增加模型美观度的,可以通过Creator自带工具生产[7]。但是当模型加入法线纹理后,相应的使用模型的三维渲染引擎也应进行相应的设置,通过GLSL着色语言使法线纹理高光纹理产生效果。本文中所建立的模型要做Presagis Vega Prime三维渲染引擎中渲染完成。如图4所示是实验室最终效果图。
虚拟现实技术虽然现在做不到像电影《时光机器》中虚拟馆员那样,当读者说出要查找的内容,他就会一边跟读者交流一边很快地检索出结果,放到屏幕上如此神奇。但是在室内现实这块,我们可以设计一个全景漫游,让人在屏幕上操作摄像机在室内漫游,就像人在真实的环境中散步一样,可以观看每个房间内的布局及设备,使参观更方便、直观。
本文结合先前大学校园漫游系统的开发经验,提出了Creator软件与其他软件对比的优缺点,探讨了建模中的关键技术以及经验技巧,总结了三维建模中的原则和模型数据库建立时的简化方法,同时强调了纹理贴图过程中需要注意的事项,对三维建模高效、高质量的研究和实现提出了可行的方法。
最后以某大学教学实验室为例,对以上提出的部分技巧进行实例运用,验证了在三维建模中针对不同的实体模型选用合适的技巧后,不仅可以提高建模的速度,减少工作量,而且加快了系统的运行速度,更降低了对系统硬件配置的要求。