1、基于 Virtools 的城市超精细三维场景的构建方法研究摘要:本文结合实际生产经验,总结了数字城市三维模型生产的相关方法,并以陆家嘴为试验区域利用 3ds Max 构建模型,基于 Virtools搭建了城市超精细三维场景交互平台,对城市三维模型生产和交互式场景构建具有借鉴意义。 关键词:数字城市;Virtools;三维场景 中图分类号:F291.1 文章标识码:A 文章编号: 0 引言 城市数字三维模型在各方面具有广泛的应用前景,目前全国多个城市都在积极推进城市现状三维模型覆盖生产工作。我院始终关注三维技术的发展和动态。 城市超精细三维场景是在普通三维场景的基础上,对模型进行再加工以提升效果
2、,添加树木、植被、路灯、路牌等小品,增加动态人和车等动画,实现场景的漫游和互相操作等功能,所构建的逼真再现城市环境的虚拟场景。城市超精细三维场景,是对现有的城市大范围的三维现状模型的进一步加工和细化,可以满足更高层次的应用需求,在城市规划和管理、景观方案评审、城市旅游和宣传、历史古建筑保护等领域有着非常广泛的应用。 1 城市三维模型构建 1.1 城市三维模型数据级别 由于应用需求以及建筑复杂程度不同,有必要对城市三维模型进行一定的分类和分级,从而对不同的建筑应采取不同的建模标准,这样既可以提高模型生产效率,也可有效地控制生产成本。在实际生产中,划分的级别有如下几类: 1.1.1 简单模型,仅描
3、述了建筑物主体的基本轮廓的模型,纹理来自标准纹理库。 1.1.2 标准模型,描述了构筑物主体的基本轮廓和外结构的模型,纹理来自现场采集照片。 1.1.3 精细模型,精细模型是在标准模型基础上要表现明显可见的构筑物细节的模型。 1.1.4 超精细小场景,超精细小场景即需要重点加工和处理的局部区域,另外在场景中增加道路、树木、植被、路牌、路灯、护栏等模型要素。 1.2 城市三维建模方法 在三维模型生产过程中,根据采用的建模资料,可以有多种建模方法。具体生产时,可根据模型级别、应用需求、模型精度等要求,采用相应的建模方法或几种方法结合使用。目前常采用的模型生产方法有以下几种: 1.2.1 基础地理数
4、据库自动建模。对于城市郊区的白模型和简单模型,可以根据数据库中的地形图和楼层信息,直接将二维矢量数据自动拉伸为三维白模型,并给予一定的标准纹理。此种建模方法生产快、成本低,但模型精度较低。 1.2.2 航空摄影测量方法建模。此种方法是利用数字摄影测量原理,在数字摄影测量工作站上采集建模所需的三维特征点线面,如屋顶点、地面点等,并在 3dsMax 中进行一定的后期编辑,结合现场采集照片给予模型纹理。此种方法生产速度快。模型精度也较高。 1.2.3 三维激光扫描建模。此种方法分为两部分,一是数据分类和提取;二是模型重建。此种方法速度快、精度高,但数据处理环节较为复杂,成本高。 1.2.4 三维竣工
5、建模。三维竣工建模利用三维竣工的相关资料如 CAD平立剖数据、效果图、实景照片、相关属性资料等进行的建模,通过三维竣工可同步完成城市三维模型的建立和更新工作。 1.3 模型纹理采集和处理 模型纹理是模型的重要组成部分,直接关系到模型的显示效果和精度。因此外业采集来的纹理照片不能直接用来贴图,还需按照以下要求进行处理:贴图的规格应为 2 的 n 次方;材质长宽比不应差异较大,宜采用正方形(如 128*128) ;采用实景照片作为纹理时,不应存在人、车、植物、空调、衣物等非建筑物体;不清晰的文字标识、Logo 等需要用图像处理软件进行清晰化处理;完成后的贴图应反映一个独立单元(如一个完整的窗户或楼
6、层) ,如某张纹理贴图需要进行平铺操作,则该贴图应满足无缝贴图标准。 1.4 小品模型库建立 小品模型是城市超精细三维场景的组成部分,可以增强场景的逼真性,提升场景的显示效果。对于三维场景中常用到的树木、植被、路灯、路牌、垃圾箱、护栏、人物、车辆等,都应建立相应的模型库,该模型库应该具有完整性、多样性、扩充性等特点,这样可以重复利用、从而提高生产效率、节约生产成本。 2 漫游场景的搭建 2.1 数据导入和编辑 Virtools 本身不能制作三维模型,只能在场景中对模型进行组织和细微的调整。因此建好的模型,可通过插件导出.nmo 格式的文件来导入Virtools 场景。需注意场景中的环境光、灯光
7、等都会影响模型的显示效果,因此模型导入后可通过场景中光源的摆放和设置,场景环境光颜色和亮度的调整,来调节场景中模型的显示效果。对于单个模型,也可单独调整其某个材质设置(Material Setup) ,来改变其显示效果。 2.2 场景漫游实现 场景漫游可以让用户在场景中自由地浏览,从而增强用户体验。场景漫游设计的功能有,通过鼠标键盘的控制,用户可以在场景中前进、后退、旋转,升高、降低视角,放大,缩小等操作。 2.3 场景动画实现 2.3.1 人动画的实现 人的行为动作较为复杂,需要先借助 3ds Max 建立人的模型,设置好人的行为动作如走路、跑步、交谈等,然后导出为角色,最后导入Virtoo
8、ls 中,借助 Unlimited Controller 模块将动画绑定到角色上,同时借助 Character Curve Follow 模块为人物指定运动路径,即可实现人物的动画。 2.3.2 车船动画的实现 车船的运动比人物运动相对简单,将车船模型导入 Virtools 中,使其沿指定路径运动即可。 2.4 属性查询和定位 通过为场景模型添加和编辑属性表,可以实现模型的属性查询和定位功能。属性查询支持用户可以通过鼠标点击,在窗口显示所点击模型的相关属性信息;定位功能支持用户输入关键词,场景搜索将包含关键词将符合条件的对象罗列在列表框中,用户双击其中的一项,场景定位到指定位置并显示属性信息。
9、 2.5 场景优化 城市三维超精细场景包含建筑物、小品、动画等众多内容,为了利于场景流畅浏览,需要对场景进行优化,场景优化的方法有: 2.5.1 模型优化:在不影响场景显示效果的前提下,减少模型面数,为复杂模型增加 LOD 属性等。 2.5.2 贴图优化:在不影响贴图清晰度的情况下,尽量缩小贴图尺寸;减少贴图数量,尽量共用贴图;贴图格式可采用 dds 等占内存较小的文件格式。 2.5.3 相机优化:将摄影机的远距离剪切设在一个合理的距离,使其不显示太远范围的物体。 3 场景发布 场景搭建完成后,就可进行场景发布。发布之前,需先为场景指定初始相机,既可通过添加设置活动相机脚本(Set As Ac
10、tive Camera)指定,也可在层级设置(Level Setup)中指定起始相机(Starting Camera) 。然后将整个场景以 VMO 格式导出,并将 VMO 文件链接嵌入网页中,只要网络客户端安装了 Virtools 网络播放软件(Web Player) ,即可访问场景并进行互操作。 4 结束语 文章提出了较为成熟的城市超精细场景构建方法,介绍了场景搭建制作的完整流程,并以陆家嘴区域为例构建了一个具有良好的视觉效果与用户交互功能的超精细场景。该场景的搭建为进一步探索三维技术的应用提供了有效的技术和平台支撑,随着应用的深入和推广,该场景可与城市规划和管理、景观设计、国土、公安等具体应用相结合,形成特定的三维业务平台,其应用前景非常广阔。 参考文献: 1丁鹏等,基于 Virtools 环境的三维建模及应用 J,计算机与信息技术,2009(9). 2王立群等,电脑游戏策划与设计-Virtools 简明教程 M ,复旦大学出版社,2008. 3王昌翰等,基于 Virtools 的城市三维仿真系统的开发与实现J,测绘与空间地理信息,2009.32(1):65-68.