摘要:本文概述增强现实技术的发展历程, 具体描述了增强现实技术在当前不同领域中的实际应用。从软件开发平台、软件界面设计等方面提出增强现实技术对当前软件设计过程的影响要素, 以及需要遵循的若干原则。
关键词:增强现实,软件设计,软件工程
近年来, 增强现实技术已广泛应用于教育、医疗、娱乐等行业, 谷歌、微软等厂商推出的增强现实眼镜等设备套装, 已成为极具吸引力的前沿产品, 而手机游戏《精灵宝可梦Go》已然成为风靡全球的娱乐热点, 使增强现实技术成为热门讨论话题。越来越多的科研机构、企业等致力于增强现实技术的研究与相关产品的开发工作, 同时, 图形加速硬件与显示设备性能的提升、软硬件技术的不断发展, 使增强现实技术及其应用呈现快速发展的态势, 成为了研究热点之一。
一、增强现实技术概述
增强现实技术并非一项新技术。实际上, 早在20世纪60年代, 哈佛大学教授Ivan Sutherland已创造了光学透射式头盔显示器 (See-through HMD) 。尽管限于当时的技术条件, 该设备的图像呈现以及其规格并未达到实用性的要求, 但这一重要概念已深刻影响人们对这一领域的认知与探索, 成为AR技术发展史上的里程碑事件。1990年, 波音公司的研究员Thomas Caudell在思考飞机制造过程系统时提出了一项解决方案, 通过将缆线的走线位置叠加到真实生产环境中, 以避免通过抽象的工程图来定位。这一思路成为了AR技术的雏形, 增强现实 (Augmented Reality) 这一术语也同时被提出。
增强现实技术并非使用户完全沉浸在虚拟的世界里, 其依靠强大的计算机运算能力, 在现实世界的基础上实时叠加图像、视频、3D模型等虚拟元素, 将计算机输出的虚拟对象与现实世界融为一体, 实现超越现实的用户体验。这也成为增强现实技术与虚拟现实技术 (VR) 间最显著的区别。
HRL实验室的Ronald Azuma定义了增强现实技术的三个主要特征, 即虚实结合、实时交互、三维匹配。AR系统基于真实世界, 利用摄像机采集影像数据, 使用传感器获取感知数据, 同时获得3D交互理解与3D环境理解, 令系统了解需要叠加到现实世界的内容以及定位。通过渲染模块完成虚实结合, 最终合成视频并传达至用户, 提供给用户增强现实的体验效果。
二、增强现实技术相关应用
(一) 教育培训方面的应用。
AR Flashcards系列手机AR移动应用程序帮助学生学习字母、数字、形状、颜色等应用与探索。用户将配套卡牌放在桌面上, 使用手机APP扫描识别后, 通过手机屏幕即可浏览生动活泼的3D影像, 并且影像出现在桌面卡片上方, 现实与虚拟融合, 用户还可以与虚拟形象进行互动反馈, 使学习变得趣味十足。
在职业培训方面, 飞行员可以通过增强现实APP学习如何在各种不同的气候条件下, 特别是恶劣天气情况下驾驶飞机, 获得各项学习帮助;医学生可以通过AR应用程序练习各种新型产品, 从而锻炼各类职业技能, 同时, 还可以对远程手术过程进行检测。因为AR技术与真实世界的融合, 使学生具有真实的职业现场感, 从思想意识方面能够更加认真地对待训练过程。
(二) 娱乐媒体方面的应用。
自2004年起, 中央电视台在体育比赛直播及新闻直播中已经开始运用增强现实技术, 比如突然出现的足球明星3D图像或虚拟球场等。2013年央视蛇年春晚的舞台上出现了“琼楼玉宇”、“金色麦浪”等栩栩如生的场景, 甚至连棚顶上悬吊的“福”字亦以假乱真, 令电视观众惊叹不已。而这些影像在晚会现场是无法看到的, 而是依靠增强现实技术使之与舞台实景交织呈现在电视荧屏上。国外的科切拉音乐节 (Coachella) 上, 则通过使用AR技术和设计使观众进入了从未想象的世界, 观众被可视化的虚拟信息环绕, 并且可以与之互动, 令舞台表演衍生出更多的可能性。
纸质媒体在网络媒体的冲击下已进入困境, 而增强现实技术则为其提供了新的发展思路和方向。目前已有多家纸质媒体引入了增强现实技术, 读者使用手机扫码等方式可以观看新闻的视频片段, 甚至还可以呈现动画效果、卡通形象, 吸引各个年龄层的读者。
增强现实技术更是为品牌的广告营销带来机遇。新加坡某街道已投放一块广告牌, 其中一面是广告的宣传信息, 而另一面则使用增强现实技术将迪士尼卡通人物的形象和场景附加到真实的街道上, 引发了人们, 特别是小朋友们极大的互动热情, 宣传效果显著。
(三) 居家生活方面的应用。
IKEA宜家家居自2011年起便推出了增强现实移动APP, 该程序配合IKEA出版的年度产品目录使用, 用户可以使用智能手机对产品目录手册上的家具图片拍照, 即可在手机屏幕上查看该家具在房间的摆放效果。2016年最新版本的APP可以允许用户从程序自带的产品库中查询心仪的家具, 选取后即可通过手机或平板电脑屏幕查看增强现实的3D效果, 可以编辑家具的尺寸大小, 并移动位置, 用户体验友好度极大增加。通过这款增强现实APP, 用户在购买产品之前可以了解实际的房间效果, 作为进一步购买的重要参考。
作为用户与制造商直连的电子商务平台, 必要商城于2016年5月宣布正式应用AR购物体验。用户可以通过手机APP利用AR技术在线购买产品, 更重要的是可以完成产品虚拟“测量”, 极大地增强了用户的体验感受。
三、增强现实技术对软件设计的影响
增强现实技术的快速发展及广泛应用, 也同时影响了软件开发设计的发展。
(一) 软件开发平台。
目前, 增强现实软件开发主要通过SDK (Software Development Kit) 或与Unity引擎组合使用。常见的SDK主要有Vuforia、Realmax、Metaio、Wikitude等。
Vuforia平台提供对象组的识别与跟踪, 使用户可以为产品增加数字化的特性;Vuforia目标管理器可以帮助用户分析、提升图像质量以优化程序的显示效果;允许用户自定义图像以创建初级AR体验;支持圆柱体、立方体等形状对象的识别;支持标准英文单词数据库 (含10万单词) 或开发者定义词典中的文字识别;同时提供URL、产品序列号等的数据加密功能。
Realmax平台支持Windows、Mac OSX以及Android等多终端、跨平台开发, 提供标准的SDK包;提供AR硬件开发、工业设计、OEM定制和批量生产、图像追踪、云端视觉搜索、3D SLAM、人脸和表情追踪等。近期推出了AR操作系统“Realcast找趣”。用户可以通过模板快速创建AR项目, 并查看效果, 极大地简化了操作。
Metaio是AR行业成立较早的技术公司, 现已被苹果公司收购, 其技术实力雄厚, 在行业居于领先位置。Metaio SDK支持2D图像、3D对象、SLAM和位置跟踪、条形码和二维码扫描、连续性视觉搜索以及手势检测。此外, Metaio设计有自己的AR脚本语言, AREL (增强现实体验语言) , 允许用户使用常见的Web技术 (HTML 5、XML、Javascript等) 开发AR应用, 并将其部署到任何地方。支持Android、i OS、Windows PC、智能眼镜以及Unity。
Wikitude支持多个平台, 包括Android、i OS、智能眼镜等, 其SDK能够帮助用户完成图像识别与跟踪、GPS跟踪、3D模型渲染与视频叠加、物体识别、房间位置跟踪等3D跟踪技术, 同时支持Unity。
(二) 软件界面设计。
AR应用程序比较突出的特点是其虚实结合、3D定位跟踪以及实时交互性, 因此, 在程序开发过程中运用AR技术, 需要改变惯性的设计思维。
1. 信息呈现。
AR技术的兴起改变了软件界面的设计模式, 甚至弱化了“界面”的概念, 人们逐渐将关注的重点转移至信息本身, 而非外在的“包装”。常规设计中的“窗体”、“关闭按钮”等控件已不再是必备的设计元素了。用户更在意信息呈现的方式, 如何做到丰富而简洁、全面而易用。信息和数据将是AR程序“界面”呈现的主体, 将庞大的信息逻辑清晰、层次分明地展现在三维空间中, 使之成为视觉焦点。在这方面, 颜色本身不是重点, 重要的是通过颜色的对比衬托以及层次的设定, 将信息的不同级别、关联关系展示清楚, 易于读取。
此外, 还要对用户的不同观察视角进行设计。在AR应用程序中, 其构建的影像空间所呈现的信息可以随着用户的不同观察视角而移动、改变, 具有极强的互动性, 从而展现更多的细节与侧面。
2. 风格追求。
软件界面设计风格方面有大量的研究、专著, 在此不再赘述。本文提出的设计风格是指界面设计的整体把握, 无论选择扁平化风格、精细化风格, 都应尽可能遵循简洁的设计处理思路。原因在于, AR应用程序在现实空间中呈现3D的影像内容, 其背景通常是纷杂的。而简洁的主体设计不仅可以突出信息的展示, 同时, 也提升了用户的体验度, 提供舒适的视觉效果。简洁的设计主旨还可以给予设计人员良好的方向引导, 使其在设计阶段将关注点集中于信息与数据的呈现和组织形式, 从而在视觉效果方面给用户提供优化的信息组织结构与互动体验。
3. 基于需求。
无论是设计风格的选择, 或是界面元素的组织形式, 以及用户视角的设计等, 都必须基于一个重要的前提, 即用户的需求。脱离用户需求谈设计是无法实现优秀的用户体验感的。开发人员应分析项目的目标群体, 可以通过发送测试版本或部分应用模块等方式快速获取用户的反馈信息, 掌握用户的使用体验需求。进一步确定应用程序界面设计风格、人物风格等, 创作角色模型、场景模型、用户交互细节、LOGO、ICON等。
4. 设计原则。
(1) 信息可读性。AR应用的核心是信息与数据, 因此, 评价AR应用的首要因素是信息的可读性水平, 用户是否可以容易获取其所需要的内容, 应当作为首要条件进行考量。
(2) 视觉舒适度。无论选择冷色调或暖色调, 无论色彩净素或艳丽, 归根结底要令用户的视觉效果感到舒适。相对于形状和文字, 色彩能够给予用户最直接的冲击力和吸引力, 因此, 要综合考虑色彩的饱和度、明暗度, 分清主次, 适度留白, 以增强用户的体验度。
(3) 简洁不省略。坚持简洁的开发设计, 同时也要保留合理的存在。保持设计的简洁度, 可以帮助用户免于困扰在冗余的信息中, 高效地获取目标信息。同时, 某些元素尽管给开发设计增加了难度, 但如果是影响到整体应用的体验感, 应当予以保留, 不要一味地“减法”, 应通盘考虑。
(4) 风格一致性。杂乱无章的风格主题在切换过程中会带给用户错愕之感, 降低了交互友好度。因此, 有必要在开发设计过程中保持统一的风格属性, 加强不同场景间的关联, 令用户有熟悉之感, 避免跳跃感。
(5) 交互易用性。AR应用的交互场景是开发设计的关键内容, 用户与虚拟对象的互动线应流畅、清晰, 同时, 应尽可能地简化操作, 避免大体量的说明文字, 提升用户的操作易用性。
结语
本文通过对增强现实技术的概述以及当前的实际应用案例, 归纳总结增强现实技术对软件设计的若干影响要素, 提出软件开发设计需要关注的要点以及原则。随着增强现实技术发展的不断成熟, 以上要点还将在实践过程中进一步深入研究。
参考文献
[1]吴帆, 张亮.增强现实技术发展及应用综述[J].电脑知识与技术, 2012, 8 (34) :8319~8325
[2]杨建军.浅谈增强现实技术的发展趋势[J].戏剧之家, 2015, 20:269
[3]张晶.增强现实技术的发展进程及未来发展趋势[J].电子制作, 2014, 17:285