贺体刚 陈鑫
(荆楚理工学院 湖北省荆门市 448000)
三维虚拟校园漫游系统以其逼真的校园环境再现能力和丰富的交互功能,在校园规划、对外宣传、帮助新生熟悉校园等方面,都能起到非常重要的作用,近年来在国内外高校中得到了广泛的应用。笔者在赛尔网络下一代互联网创新开发项目研究中,也制作了荆楚理工学院三维校园模型。
我们最初使用3DMax 三维建模软件,花费了大量人力和时间对荆楚理工学院校园环境进行了三维建模,校园环境细节得到最大程度的还原。虽然展示校果很好,但因模型面数巨大,程序在目前主流配置手机上都无法流畅运行,所以我们转而使用专用于大规模城市仿真的CityEngine 进行校园模型制作。
建模所需的影像数据可以通过CityEngine 软件的Get Map Data功能获取,也可以从水经注万能地图下载器等相关软件中获取。
如果有校园建筑的测绘地形图,我们可以直接从地形图里提取建筑物平面轮廓的CAD 数据,然后使用ArcGIS 工具,将CAD 数据转化为Shapefile 文件,设置相关属性,如楼层、屋顶、建筑名称等。如果拿不到建筑的CAD 数据,也可以在ArcGIS 中对高分辨率的地图影像进行矢量化得到建筑物轮廓。
本次建模没有使用这两种方法,一是我们没有CAD 数据;二是高清影像图进行矢量化也不能达到所需效果。我们采用的办法是在CityEngine 中对照影像数据绘出轮廓图和在3D Max 中参照实际建筑绘出轮廓图,然后再将轮廓图导入CityEngine,将其转化为形状后再进行规则建模。
如果有校园道路中心线数据(道路中心线数据中包括了道路的宽度、车道数等基本属性信息),可以在CityEngine 中根据道路中心线数据进行道路建模。因我们同样无法获取到道路中心线数据,只能用CityEngine 软件提供的道路绘制工具,对照影像数据进行绘制。
例如建筑物的门、窗、墙体等纹理,可以通过数字摄影技术进行素材采集,然后使用PhotoShop 等软件进行后期处理后使用。
(1)首先对所研究的校园区域进行实地考察,将区域内的建筑物和影像图的差别做好标注和记载,记录每一个建筑的特点和整体样式,如建筑物的高度、宽度、形状、楼层数、窗户样式等。
(2)基于该地块的实际建筑样式,编写详细参数规则(CGA)。创建规则时,可以根据每一种建筑类型创建一个规则文件,使用某一个或者一类建筑平面轮廓,选择对应的规则,设置其Start Rule,生成相应的建筑模型。
图1:最终效果
图2:制作完成的校园三维场景
下面以荆楚理工学院文园5 栋为例,详述其制作过程。
(1)绘制建筑轮廓图。
对于俯视图规则的建筑轮廓,可采用CityEngine 软件中的图形创建建筑的俯视图的地块形状,然后对其进行CGA 规则建模。
对于CityEngine 软件无法直接创建的俯视图不规则的建筑轮廓,可以使用3D Max、Maya 等建模软件,绘制其建筑轮廓,保存为obj 或fbx 格式,导入CityEngine 后,将其拖入场景中。在场景中选中它,点击Shapes →Convert Models to Shapes 转换为形状,然后再对其进行CGA 规则建模。
文园5 栋的俯视图轮廓是规则的,所以我们可以通过CityEngine 来创建其地块形状。
(2)创建规则进行建模。
进入CityEngine 的Navigator 视图,在rules 下创建一个名为security_office.cga 的规则文件,在CGA 文件中,属性将对整个规则文件起作用。我们定义的第一条规则为Lot,在属性检查器中,该规则被指定为开始规则,大致的模型是使用拉伸操作来创建。
分解完成后,对这些面进行外观造型,例如将其分割为楼层,每一层分为块等等。根据需要可以继续进行细分,还可以在细分的过程中,对其实施拉伸等操作。
(4)根据实际情况,将建筑模型分为7 层,从下往上依次为index1 ~index7。我们需要在第三层和第五层创建窗户,在第七层修改其颜色。对于第三层需要通过split()进行细分,而第五层因为经过拉伸,所以必须对其实施切面(comp())操作后再进行细分。
(5)根据需要进行挤出和贴图操作。
(6)运用类似的切割和贴图方法,完成其他楼层的制作,最终效果如图1。
因无法获取到荆楚理工学院道路中心线数据,所以道路建模是根据卫星地图影像数据,对照校园实际情况,用CityEngine 的道路绘制工具制作完成,具体操作这里就不再详述了。
将制作好的校园建筑模型和道路模型导出为FBX 格式,导入Unity 项目中,制作出虚拟三维校园场景,再根据不同的应用需求,添加上必要的交互,即可开发出基于三维校园模型的虚拟现实或增强现实应用系统。图2 即为本项目开发完成的增强现实应用—AR录取通知书。
本文基于CityEngine 技术建立的三维虚拟校园场景最终的大小只有20MB,虽然在校园环境真实还原度和渲染效果上与高模场景有很大的差距,但它在性能方面的优势却是非常巨大的。
另外,因为无法获取荆楚理工学院校园环境的GIS 信息,如高程图等,本文制作的虚拟校园环境比较简陋,没有地形和植被,也是比较遗憾的。