随着现代科学技术的发展,虚拟现实技术慢慢受到人们的重视,如何利用现有的技术来丰富目前的虚拟现实研究领域是现在的热点。街景就是虚拟现实技术发展的一个分支,随着多家公司推出的街景成功商业化,人们对街景的需求不断上升,加上谷歌,百度和腾讯等巨头参与竞争,促进了基于二维地图地图和三维街景的应用及需求不断的增长。
本文主要叙述了基于Unity 3D平台实现三维虚拟街景的开发和实现过程,虚拟三维街景开发过程中主要包括的内容有以下几点:
(1)首先,构建三维站点场景。以六面体模型为基础构建站点场景,实现以第一人称视角在场景中浏览、跳转和游走。根据人类的视觉效果,把围绕一个人的周围看成是前后左右和上下六个面,前后左右上下六个面符合六面体模型的特征,将切片依次正面朝内贴在六面体模型各个面就可以构建出三维场景。场景建立之后,利用程序代码控制场景的重复渲染和场景中摄像头的上下左右旋转达到站点跳转和浏览的效果。
(2)然后,根据系统需求,提供测量、自动驾驶和标注显示等功能,并将这些功能配置到UI界面内。通过对界面功能的选择,用户可以更加方便自由的浏览站点的每一处场景。测量功能的实现是通过Unity中射线碰撞获取鼠标点击的需要测量的两个点的坐标,然后对坐标进行数学运算获得两点之间的距离;自动驾驶功能是设置站点自动跳转的时间值,达到设定时间后自动跳转到下一个站点;标注功能是将标注(如广告牌、垃圾桶)模型放置到相应的坐标处。
(3)最后通过对街景进行测试。在测试阶段发现在某些站点需要加载的数据较多时,系统存在卡顿现象,随即对场景构建进行了优化,通过对非当前视野内的切片进行过滤,减少站点数据资源加载,提升街景系统运行的流畅性。
本课题通过研究地理空间信息数据,通过一定算法将导入的数据进行处理并以虚拟三维的形式展示街道实景,并提供站点跳转、自驾漫游、测量等主要业务功能,让街景与用户之间存在互动关系。