▲图 6 系统实现流程
3.1 场景模型导入
将 3DS Max 导出的 OBJ 格式的模型文件置入 Unity3D 场景中进行位置摆放。创建灯光以实现在不同气候条件下的校园场景,如晴天,阴天,雾天、雨天等场景。调节光线,调整至合适亮度,体现出空间层次感。添加碰撞,可以用内置的 Box Collider 或者 Mesh Collider 碰撞组件,对地面、建筑和树等场景添加该属性。
3.2 角色漫游的设计与实现
在虚拟系统中,实现漫游是最基本的功能,Unity 3D 已经设计有角色控制器组件(Characters),Import Package→Characters,可以直接调用,需要调整视角、位置、奔跑速度和加速度等参数。默认情况下,用户按下 W、S、A 和 D 键,同时控制鼠标调整视野位置,实现人物在场景中漫游的效果。
3.3 GUI界面的设计和实现
在本漫游系统中,GUI 界面是用户与系统之间的桥梁。通过 GUI 界面的引导,用户可以进入其他界面进行浏览,同时用户也可以自行选择不同的场景,实现相应的漫游功能。在 GUI 主界面,共创建了多个菜单选项,包括校园漫步、校园航飞、学校简介、导航、帮助等菜单选项。本系统中 GUI 界面的创建,首先在工程视图中,右击 Create→UI,将所需要的控件加入到 Canvas,并调整到合适的位置,最后将控件所要实现的功能代码加入到 UI 中。由于组件较多,可以构建思维导图用来规划逻辑,以免遗漏。主界面 GUI 如图 7 所示。
▲图 7 主界面 GUI
3.4 系统生成
先点击页面左上方的 file→Building settings,或者用快捷键 Ctrl +Shift +B 快速进入,点击 PC、Mac 所在的图标,选择 Windows 系统,根据电脑选择×86 还是×64,点击 Build,给生成的文件夹重命名和选择导出位置。
三维数字校园漫游界面如图 8 所示。
▲图 8 三维数字校园漫游界面
4 结束语
本文结合虚拟现实技术和无人机倾斜摄影技术设计并实现了校园虚拟漫游系统。利用倾斜摄影技术以及强大的图像几何运算软件(Smart 3D Capture)来生产城市三维模型方法的可行性,快速构建三维场景,并应用 3DS Max 建模软件进行场景优化,最后导入 Unity 3D 引擎实现虚拟漫游的技术路线和实施方案,实现了三维交互式校园布局展示功能。该系统开发基本达到预期目的,实现了碰撞检测、虚拟漫游等功能,该系统的研究和实现对后续虚拟城市项目建设具有重要的现实意义。