白学明,赵 刚
(泰山学院信息科学技术学院,山东泰安 271021)
虚拟现实是一种集成计算机图形学、人机交互、传感技术、人工智能等技术的新型学科,是人们通过计算机对现实中复杂的三维数据进行可视化交互的全新方式,通过模拟现实世界场景或构建虚拟建筑场景,生成逼真的三维视、听、嗅觉等感觉,充分发挥其浸没感、交互性、构想性的特征,广泛运用于现实中的各行各业以及3D游戏等[1].其中一个重要的应用就是三维虚拟校园.目前,在国内有许多高校都建起了自己的虚拟校园,如清华大学、浙江大学、南京大学、中国海洋大学、华中科技大学等.这些虚拟校园大致分为两类,一类以清华大学的虚拟校园为例,整个系统仍然是以平面俯瞰图的形式来展现的,每个建筑物只是简单的文字标号,并没有实际的模型,因此,导致立体感不强.另一类以浙江大学的虚拟校园为例,虽然每个实物模型采用了三维立体的形式,增强了立体感,但只能在固定的角度查看校园场景,不能够旋转视角,从多个角度进行查看[2-4].本文设计开发的系统采用三维立体的方式以增强立体感,而且还可以以任意视角漫游整个校园.
目前,三维虚拟校园的实现主要有两种方式:一种是发挥高级编程语言的优势,完全运用编程方式实现,如VRML、OpenGL、Java3D等,另一种则运用集成的3D建模软件建模实现,如3Dmax、Maya等[5-6].本文介绍运用3D建模软件建模的方式,发挥3Dmax建模和3D视景仿真平台交互等软件的优势,方便快捷地实现三维虚拟校园漫游系统,而且更加注意模型细节的处理,简化系统开发和实际操作,方便用户的使用和系统的扩展.开发的系统专业性很强,可在3D演示平台环境下实现沉浸式漫游.
山东泰山学院三维虚拟校园漫游系统的开发共分为如图1所示的五个步骤,分别为数据采集、三维模型创建、模型优化、导入3D视景仿真软件和系统形成.
图1 系统开发步骤
实施系统的前期准备工作主要是进行基础数据采集,也是系统开发至关重要的一步,直接影响整个系统数据的准确性和实时性,关系全局.首先,根据泰山学院提供的实地情况,记录相关建模对象的数据信息.然后借助网络的优势,在Google Earth上采集泰山学院的地理数据,对校园整体进行截图.接着再借助现有的泰山学院建筑平面图,补充新的建筑模型.最后在Photoshop中合并绘制出校园完整的建筑平面图.
在对校园实地考察时,使用高分辨率数码相机拍下各个建筑物的纹理图.采集时注意图片的格式,要求既能反映现实数据的准确性,又要尽量接近建筑物本身的比例.我们采用JPEG格式的图片.不仅从宏观上拍摄建筑物的大体构造,又在微观上注意建筑物的细节,如图2所示.目的是方便后期三维模型的创建.由于受建筑物的高度、拍摄距离及相机自身成像特点的影响,拍摄的像片往往比例失调,须对每张照片使用图形处理软件Photoshop进行各种处理.例如,用自由变换把比例失调的图片拉正,裁剪周围其他的场景,去除图片中的杂景等.关键是对拍摄的图片加以细致处理,调试好建筑物的纹理.
图2 图片采集与处理
首先要进行的是地形的创建,参照校园的建筑平面图以及从Google Earth上的截图(如图3),导入到3Dmax顶视图中,然后用线条描绘出地形的轮廓来,再挤出形成面,然后根据实际地形的相对高低对线条进行调整,确保与实际地形的情况大致相符.特别地,要提前约定相同的3Dmax版本3Dmax8和系统单位为米.
接着就是最细致的工作,要对整个校园进行合理分区,再对分区内的所有建筑物模型进行建模.例如,把邻近的体育场和文体馆合并到一个分区里,这样方便实际的基础数据采集.首先抽取每个分区里特有的建筑物模型,如楼房,湖水,桥等,然后再创建一些树木、花、草、石头等共有模型,方便以后组合时.根据实际地形需要分配这些模型.在创建模型时要用到基础数据采集时的照片,尽量精细地反映实际建筑模型.在建模时最好做简模,不然可能导致场景的运行速度缓慢或无法运行.为此需要遵循一定的建模准则:尽量简化模型,模型的数量不要太多,并在不影响整体效果的情况下,最大程度减少构建的模型中存在的点、线、面,合理分配模型的密度,用面片表现复杂造型,删除看不见的面等.这都是为了方便后期的处理和提高系统显示的速度.
图4 贴图前(左)和贴图后(右)的图书馆
图3 Google Earth上的校园俯视图
然后对建好的模型,附加材质和贴图,如图4所示.参照前期采集的基础数据,选择合适的材质类型和贴图,调节材质和贴图尽量接近实际情况,尤其是对不合适的贴图需要在Photoshop中先做细致处理,然后再附于特定的建筑物模型上.由于贴图和材质直接关系到模型的协调与美观,需要对贴图和材质文件进行统一化管理.对于材质,3Dmax中通过漫反射调出的颜色,不同于3D视景仿真软件的颜色.同样的白色导入到3D视景仿真软件中,就可能比在3Dmax中显示的颜色深.对于材质中的二维贴图,物体必须具有贴图坐标,这个坐标确定二维的贴图以何种方式映射在物体上,它不同于场景中的XYZ坐标系,而是使用UV或UVW坐标系.
把固定分区内的模型进行组合,形成特定小块区域的模型组合块,然后标上记号并保存,由于本系统场景较大,涉及的模型文件较多,因此对生成的文件要进行合理的命名以方便系统管理和整合.组合时要对小块区域的模型,选择多个角度渲染查看,检查是否有黑面、破面等问题,并仍然要遵循建模时的准则.从小块区域的模型做起,保证把每个小块区域的模型做精细,才能保证整个系统模型的精确度.
在创建好的地形模型中,依次合并导入各个小块分区的模型,并通过移动和缩放工具调整模型,使模型分布到地形的合适区域上.在此合并模型过程一定要注意检查模型的编号问题,保证每个模型的名称在这个系统中是唯一的,这样才能确保贴图时不出现错位、混乱等显示不正确问题.为此可以借助一些3D插件来进行检查.图5所示就是使用VRP插件检查系统中是否存在重名模型.如果存在,则自动重命名模型,保证模型名称的唯一性.
在对整体模型进行整合之后,还要对其它环境进行优化完善.依照建模时遵循的准则,删除看不到的点,线,面,对复杂造型物体用面片贴图来表现,如草地、树木、湖水等模型.虚拟场景中的树木通常采用十字形相交叉的两个固定矩形面来构造,分别映射相同的纹理,因其角度间隔为90°,所以在不同的角度总可以看到不同的树木效果.如图6就是场景中树木的模型.一般在一个大的区域内添加有限的几个树木模型做代表既可,否则添加的模型过多会直接导致模型面数过多无法导入到VRP中或使系统的整体运行速度下降.模型面数的多少对计算机内存大小是一种考验,为此我们强调时刻遵循建模准则,以最大程度减少面数.
为了使模型能够在3D视景仿真软件中进行后期处理,需要在3DMax中安装相应的插件.安装成功后,在3DMax中选择3D视景仿真导出插件,导出特定适合3D视景仿真软件处理的FYF格式文件,并保存以备后续步骤的使用.图7所示为在3DMax中使用插件导出模型的界面.
在3D视景仿真中,在原始位置导入从3Dmax中导出的FYF格式文件,然后就可以对系统进行调整设置.为了能在创建的虚拟环境中进行漫游,与周围环境交互产生身临其境的感觉,需要对漫游系统进行模型调整、灯光设置、天气环境、漫游路径和漫游速度的设置等.在系统中添加平面文字或三维文字,对关键步骤起到提示作用,还可以调节系统的显示方式和观察方式.在天气系统中可以添加雨水和雪花两种天气效果.另外,最关键的是进行漫游路径的设置,其直接关系到系统的整体效果.最后可以输出效果图打印保存,也可以保存场景文件在需要时进行漫游浏览.在具有3D视频演示功能的显示器上就可以在软件中打开已经保存好的工程,手动漫游,或者按设置好的路径进行漫游.这是真正具有3D效果的漫游场景,佩戴3D偏振片镜能够实现具有沉浸感的效果.至此,泰山学院三维校园虚拟漫游系统就开发完成了.图8所示为三维校园虚拟漫游系统的宏观效果图.
图8 三维校园虚拟漫游系统宏观效果图
本文讨论了一种可视化的三维虚拟漫游场景开发方法,通过各种软件的集成使用,最终实现了泰山学院的三维校园虚拟漫游系统.用户可以在其中漫游查看校园的不同位置和视角的场景.但是由于受人员3D建模水平的影响,创建的部分模型不够精简,地形的创建不够精细,与现实世界还有一定的差距.随着虚拟现实技术的发展,三维可视化虚拟校园将会引起更多人的关注和实践,我们也将继续完善校园漫游系统的虚拟效果.
[1]邹湘军,孙健,等.虚拟现实技术的演变发展与展望[J].系统仿真学报,2004,16(9):1905-1909.
[2]陈勇,马纯永,陈戈.基于VC/OpenGL的虚拟海大校园导航系统[J].计算机辅助设计与图形学学报,2007,19(2):263-267.
[3]陈敏,陈道礼,魏国前.虚拟现实技术在校园漫游系统中的应用[J].武汉科技大学学报,2006,(8):407-409.
[4]朱志辉,孙自广,徐奕奕.基于虚拟现实技术的校园漫游系统的设计[J].科技信息,2007,(18):73-74.
[5]黄秀常,全秋燕,叶春红.基于VRML的虚拟校园漫游系统[J].电脑知识与技术,2005,(10):228-230.
[6]岳俊梅.基于OpenGL的虚拟校园漫游系统的设计与实现[J].计算机时代,2007,(11):65-66.