移动AR三维地图设计与实现

2020-12-05 09:04叶明胜
怀化学院学报 2020年5期
关键词:功能用户模型

叶明胜, 胡 严

(安徽艺术学院,安徽合肥 230011)

地图是真实物理世界的模型,展示地理信息的载体,容纳和存储了大量的数据.传统的纸质地图因其通用性和便携性,成为纸媒时代人们窥探自然与地理环境的重要工具.然而,随着信息化技术的飞速发展,纸质地图的弊端渐显端倪:降维技术使得传统纸质地图由立体具象过渡至平面抽象,视觉平面化和认知抽象化,进而导致重要信息和语义的缺失[1].因其呈现方式相对单一,制作周期较长,信息更新时效性差,交互功能的体验度低,及其自身纸质载体的易失性,逐渐背离现代信息化用户的需求.近些年,市面上出现不少基于移动端的地图产品.孙伟等[2]运用OpenGL ES可视化技术实现了基于移动Android端口的两维地图三维视觉化呈现.何兴富等[3]利用HTML5结合CIVIL3D技术实现了用于城市规划设计的全景三维地图.南通大学地理科学学院推出的一款用于旅游和规划功用的三维地图应用原型,采用ArcGIS Pro绘制平面地图轮廓,运用SketchUp和CityEngine生成3D模型,并在Web技术框架下实现基本交互功能[4].现有的研究开发虽然具备较佳的视觉效果,但仍存在一些缺陷,如立体呈现过于局部化,缺乏整体与细节的多维互动,用户体验的沉浸性较差,并且在空间定位的匹配方面缺乏高精准度,导致用户使用时很难找到方向感,使得空间变换下的地图信息变得模糊[5].

时下,AR技术(增强现实技术,Augmented Reality)在移动开发领域热度不减,传统地图的表达与交互有了更新的技术平台.增强现实三维地图突破了传统纸质地图的平面化呈现方式,以及立体地图的低效率整局互动的束缚,是对移动三维地图的增强表达与互动的进一步延展,能提供一种合理且丰富的人机交互方式,增强用户对三维地图的多维感知效力.

1 AR地图技术

1.1 AR技术

上世纪90年代初,由美国Boeing公司Caudell及其同事首次提出的AR技术这一概念,是指在虚拟环境中置入真实世界的图像,如在虚拟物体上映射真实影像信息[6],以此增强虚拟物体的真实度,模糊真实与虚拟的边界.现阶段,随着用户体验与传感技术的迭代升级,AR增强现实的发展逐渐延伸到多感官感知,涉及视、听、触、味、嗅等增强感知,进一步丰富了人们对虚拟“真实”世界的感知,如图1所示.

图1 基于人感知的AR功能分类

基于视觉的AR系统功能的实现,主要借助于计算机图形图像、信息可视化、光电显示和交互等技术,虚拟出“真实”环境中设定的对象,再通过传感端口将虚拟对象精准置入真实世界,使虚拟与真实有机融合,通过输出显示介质进行融合呈现,增强视觉感知体验的程度,如图2所示.最新AR技术进一步融合了GPS、电子罗盘、重力加速等多种传感技术,强化了增强实景的体验物理真实度.新技术具有体验增强性、实时互动性、空间高匹配性等特性.

1.2 AR地图

图2 AR视觉系统工作原理

目前AR技术比较普遍地应用于室内导航地图的开发,AR地图可以应用于商场、医院、机场等诸多办公区域的导航.Gatwick机场首次在全机场范围内部署了AR地图应用方案,用户可通过AR应用,扫描或关注机场对应的航班号,便可从中获取通往登机口和航站楼的路线,路线的呈现方式可以立体地显示用户所处的位置,以及机场所有功能区域的标注[7].Uchiyama等[8]提出基于三维GIS数据技术的AR增强地图系统,运用LLAH散列方案,实现增强显示地图识别框架,从整个地图中识别出物理地图的区域,将3D建筑物堆叠至城市二维地图上,快捷展示对应地图区域的视觉显示.Hayato Ito等[9]利用AR技术融入属地历史地图,提出了知识科普型的AR三维地图的应用原型,应用原型将属地历史文化设计成为标识物,通过AR增强技术,将虚拟三维地图景观叠加到二维地图(标记物)之上,实现增强历史景观的功能显示.Ichikari团队[10]通过AR触觉设计技术,实现了一款用于残障人士增强现实触觉的导航地图系统,系统利用POR/POI聚焦区和语音提示来增强物理触感,通过视觉和音频反馈机制来获取互动数据,增强用户使用的多维感知.目前国内鲜有移动AR技术应用于地图开发方面的研究.

2 AR地图增强表达与交互的关键技术

图3 AR地图增强表达的流程

AR地图在增强现实表达上,尚有诸多关键问题亟待解决,如虚实融合、显示、移动配准技术等.增强现实表达二维地图,主要采用Indoor增强技术[11],其工作流程为:首先,进行标记物注册,配准标记物及其表面纹理信息,用户通过计算,自定义设置标记物信息阈值;其次,系统通过区域连通分析,表达选区,并与系统数据库中的纹理信息进行校准,如若匹配成功,系统判定为识别成功,并利用标记物的空间坐标信息,计算虚拟增强显示模型的空间变换的转换,进行标记物与虚拟物体匹配,进而实现三维注册,确定虚拟物体的位置与空间变换信息(位置、朝向),如图3所示.

AR地图的增强表达与呈现,需要进行计算机程序识别.在当下AR技术中,二维图像标记类型分为有标记(Marker)鉴别和无标记(Markerless)鉴别.其中,标记鉴别的效率和速度要优于无标记鉴别.标记的设置可以采用独标记方法,亦可以设置成多标记方法.为了能够鉴别二维地图,可以在其中创建若干人工标记,而对于已印制的纸介地图,在不破坏原本地图构成的情况下,需在地图边角设置标记[12].创建标记后,通过摄像头采集并进行鉴别,然后进行信息匹配与检测等,鉴别既定的标记.目前AR开发工具集,如Vuforia中,已对标记物的形态与模式进行了优化,通常可以设置为醒目的标记色块与样式,能够使系统迅速鉴别标识物的存在与否.

3 AR增强地图应用的设计与开发

3.1 AR增强地图应用开发平台的选择

从虚拟呈现效果及功能方面考虑,目前AR开发主流平台采用Unity3D引擎和Vuforia SDK相结合.Unity3D是由丹麦Unity Technologies公司设计的一款用于虚拟(增强)现实开发、动画以及游戏设计的综合开发引擎,其应用具有成本低廉、硬件设备要求门槛低、多平台兼容性(如 Android、iOS、Windows和 Linux等)、广泛第三方插件支持等优势,并且拥有强大的编程可视化功能,为众多AR应用开发者所青睐.Vuforia是Qualcomm旗下的一款面向移动开发用户的AR交互设计平台,拥有卓越的识别技术、多元的识别模式、跨系统兼容性等优点.Vuforia于2017年正式内嵌于Unity3D中,为AR开发者提供了一种高效、低准入的功能组件,结合Unity3D引擎的可视化编程,使得非专业开发人员更加方便高效地创建、编辑和发布AR应用系统.

本文选用移动Android操作系统作为测试平台,首先需进行Android SDK安装配置,如图4所示.对应版本下拉栏目中皆显示为Installed,则表明安装成功.

3.2 增强地图应用制作阶段

3.2.1 前期准备

AR增强地图应用制作分为素材准备、标记物设计与配置、增强显示、交互设计等阶段.素材准备阶段包括地图标记物设计(Marker)、3D模型搭建和导入、材质贴图赋予等工作.本文利用Maya三维软件作为3D地图模型的创建平台,通过对纸质地图的研究与分析,设计并创建出等比的三维地图模型(含建筑、道路、景观、地形等),将其导出为.fbx地图模型文件,导入至Unity3D中Project(项目管理),进入Vuforia Engine,创建Image Target(图像目标),将项目列表中的.fbx模型设为Image Target的子级,调整模型尺寸、空间变换数据、分配模型UV,之后进行UV快照,导出UV通道,在平面绘图软件中绘制贴图纹理,最终在Unity3D Project中,创建材质节点,并将设置后的材质信息赋予3D模型.

在AR增强呈现于互动设置前,需进行AR Camera设置,在Vuforia Engine下选择AR Camera节点,删除Unity3D组件自带的Main Camera对象.配置AR Camera属性的Open Vuforia Engine Configuration参数,将Player下的 XR Settings选项为 Vuforia Augmented Reality(AR)Supported,并获取License Key,如图5所示.进入Console控制台,进行报错检查,若无编译模式上的错误,则可单击Play按钮,进行弹窗预览AR互动效果,如图6所示.

3.2.2 增强地图交互设计

图4 Android SDK安装与配置界面

图5 Vuforia平台Key的获取

图6 AR交互测试页面

(1)增强地图空间变换功能

本文实现的AR增强地图在交互中是基于手势触屏行为进行增强显示对象的空间变换控制.在项目文件管理窗口中,创建用于空间变换控制的C#脚本命名为Map_transform.cs.选择增强模型文件,将选择脚本挂载入其组件中,空间变换的旋转、放缩、位移等操作的手势如表1所示.

表1 常用交互手势

(2)脱卡功能

AR相机尚有缺陷,比如在旋转移动识别图进行查看模型时,识别图超出相机范围会导致增强模型的消失.有时用户仍然希望虚拟物体出现在相机前,或者在失去识别目标后出现在特定的位置,可以对其进行交互操作,这就是脱卡功能.

目前,高通的Vuforia带有脱卡功能,继承于Extended Tracking(扩展跟踪)组件下,允许模型在识别图丢失时依旧存在,且保持位移等变换信息不变(标记图丢失时候的位置),因此,当标记图丢失后,也不会影响到堆叠显示后的增强视觉效果.由于笔者开发AR地图应用时,Unity3D尚不具备Extended Tracking(扩展跟踪)功能,针对此项缺陷,设计了一款保持追踪效果的脱卡功能脚本,标记图脱离AR相机视域范围时,能使模型停留在原地,保持原本变换的信息不变,且不影响进一步交互,其关键脚本如下:

usingUnityEngine;

usingVuforia;//引用 Vuforia组件

public class Tuoka:MonoBehaviour,ITrackableEvent Handler

{

private TrackableBehaviour mTrackableBehaviour;

public TransformTarget;//标识物变换目标信息

Vector3 imgPos=new

Vector3(0,0,0);//识别图上的位置

Vector3 camPos=new

Vector3(0,0,0);//脱卡后在屏幕中的位置

bool isFirstTime=true;

void Start()

{

mTrackableBehaviour=GetComponent<Trackable Behaviour>();

if(mTrackableBehaviour)

{

mTrackableBehaviour.RegisterTrackableEvent Handler(this);

}

Target.GetComponent<MeshRenderer>().enabled=false;//起始时不显示

}

public void OnTrackableStateChanged(

TrackableBehaviour.Status previousStatus,

TrackableBehaviour.Status newStatus)

{

if(newStatus==TrackableBehaviour.Status.DETE CTED||

newStatus==TrackableBehaviour.Status.TRA CKED||

newStatus==TrackableBehaviour.Status.EXT ENDED_TRACKED)

{

//视野内发现识别图时

Target.GetComponent<MeshRenderer>().enabled=true;

Target.parent=this.transform;

Target.localPosition=imgPos;

Target.localRotation=Quaternion.identity;

isFirstTime=false;

}

}

}

图7 添加脱卡脚本

选择 Image Target,点击 Add Component,挂载脚本,将窗口目标设置为模型,取消勾选Default Trackable Event Handler(默认追踪),如图7所示.

(3)热盒与视频

本文以安徽艺术学院美术楼为例,用户点击美术楼的三维模型时,将会弹出美术楼的热盒页面(即楼宇具体情况与功能介绍),丰富三维地图的功能;其操作方法为:选择美术楼模型,点击Component(组件)下的Physics(物理)模块,给其添加一个碰撞体,新建C#脚本Cube.cs,将脚本添加至美术楼模型中,效果如图8所示.

为优化用户使用体验,在点击按钮切换的第二个场景中置入美术楼视频内容,在按钮组件Canvas上,更改UI缩放模式为屏幕大小缩放,根据移动平台的最佳分辨率,本文设置分辨率为 2560*1440(16:9),匹配高度宽度为0.5,这样,应用根据手机屏幕大小差异,在不同大小的分辨率下进行UI位置自适应移动.

3.2.3 AR增强设计与表达设置

(1)多目标识别

增强表达涉及多个目标识别时,需在Vuforia平台的同组中上传所标记识别的图片,并且打包加载成.unitypackage文件,载入项目后,可创建多个Image Target对象,在其属性中分别设置Image Target Behaviour下的Database的标记图.之后,分别将项目列表中的Maya文件(.fbx)设为两个对应的 Image Target子级,调整(.fbx)的大小、位置等变换参数.

(2)封装发布

基于Android平台的应用开发,需要进行.apk文件的封装,方能应用于移动手机平台,在Unity3DFile菜单下,选择Build Settings选项,进入Add Open Scenes中添加场景(Scene)项目,设置下方 Android,Build System为Gradle 类型,勾选 Development Build,点击 Generate,即可完成.apk导出,如图9所示.其中,当Android SDK的配置版本低于26.1.1时,需升级SDK.

目前,随着计算机技术的提高,以及虚拟现实、大数据、人工智能等新一代信息技术的发展,AR技术已逐渐从实验室的理论研究阶段开始转入大众行业的应用阶段,其应用领域也在不断地拓展和延伸,为人们提供了更为丰富的认知与体验方式.基于Unity3D+Vuforia的增强现实技术使研发人员能够更加方便高效地开发交互式AR地图应用.经移动Android平台的测试,本文开发的AR三维校园地图在增强视觉化呈现、人机交互、拓展功能优化等方面取得了较好的效果,初步实现了标记图的空间信息识别,三维地图的浏览视角适配等功能,为移动AR增强地图的开发与创新应用提供了新的技术路径与策略.但本研究仍然存在一些不足:AR增强地图的多维互动功能有待于进一步研究,目前原型在对目标标记上尚缺乏优化功能的体现;增强功能下交互机制尚不完善,原型在对目标标记上缺乏灵活的转换功能.总的来说,通过AR技术能实现地理信息的平面化向三维立体化增强呈现,拓宽用户的地理信息感知与体验能力.下一步将继续进行AR增强地图应用的开发与交互功能研究,将更新、更优化的功能整合至移动AR导览地图中.

图8 信息热盒

图9 AR地图应用发布

猜你喜欢
功能用户模型
也谈诗的“功能”
适用于BDS-3 PPP的随机模型
99Tcm-MIBI显像在甲状旁腺功能亢进术前诊断中的应用价值
基层弄虚作假的“新功能取向”
重要模型『一线三等角』
奔驰S级香氛功能介绍
模型小览(二)
关注用户
关注用户
离散型随机变量分布列的两法则和三模型