ios 旋转屏幕试图切换_iOS增强现实应用(AR)设计指南(上)

d86ab66c52c1ce3c89a5ad274d365c21.png- 这是 交互设计 的第 4篇文章 -- 读完本文,大概需要您 10分钟的时间 -1b82ce564f1f8cb36b6fc04c7a402178.png

本文为《iOS人机交互指南》的一部分,由黄方闻翻译,转载请注明出处。受公众号限制,无法跳转第三方网页为了更好的体验,欢迎访问http://hfw.design阅读查看,点击查看原文可跳转。

原文地址https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/augmented-reality/
通过增强现实(AR)技术,让应用程序可提供身临其境,引人入胜的体验,从而将虚拟对象与现实世界无缝融合。你的应用程序通过调用设备的摄像头,让屏幕实时显示现实世界,同时,在现实世界上叠加三维虚拟对象,给用户一种这些对象真实存在的错觉。根据你应用程序所提供的功能,用户可以旋转设备以从不同角度去探索对象,使用手势和动作与其进行交互,甚至可以加入他人进行多用户的AR体验。有关AR的开发指南,详见ARKit。仅在支持AR的设备上提供AR功能。如果你的应用程序的主要功能是AR,请确保你的应用程序仅在那些支持ARKit的设备上运行。如果AR只是你应用程序的某个特定功能,或者只是可选项,那么当用户在不支持ARKit的设备上使用你应用程序时,无需向用户提示错误信息,要做到这一点,只需要避免在不支持ARKit的设备上提供这些功能即可。相关的开发指南,详见支持设备和用户权限。创造引人入胜的、舒适的体验

让用户可以全屏使用。尽可能多的在屏幕上显示真实世界和你应用程序的虚拟对象的内容。避免在屏幕上添加多余的控件和信息导致屏幕中的内容显得混乱,从而减少用户身临其境的感觉。

让虚拟对象尽可能的真实。设计具有逼真纹理和细节的3D对象,使其放在真实世界中看起来就像真实存在的。通过ARKit提供的信息,你可以正确地缩放对象并将其定位在检测到的真实世界上,并反映出真实的环境光效果,让对象产生真实的投影,并能随着相机位置的变化而同步变化。为了保证对象的真实性,请确保你的应用程序的刷新率在每秒60次以上来避免对象出现跳跃或闪烁。

考虑虚拟对象如何在真实环境中显示。ARKit中的反射是基于相机捕获的环境的近似值。为了保持AR的真实感,请选择较小或者粗糙的反射面,来减少环境的影响。

使用声音和触觉来增强沉浸式体验。声音效果或者碰撞感是确认虚拟对象与真实的物理表面或其他虚拟对象接触的好办法。背景音乐还可以让用户更好的沉浸在这个虚拟世界中。相关指南,详见声音和触觉。

尽可能少的使用文本。仅显示那些用户使用你应用程序所必须要显示的信息。

如果必须要添加信息或控件,请确保其在屏幕上的展示。内容固定在屏幕上的某个位置在虚拟世界中不怎么常见。但用户会相对容易比较注意到这些内容,因为当用户移动设备时,屏幕上其他AR内容会移动,而这些内容相对固定。

当需要设置固定的操作控件时请使用间接控件(Indirect controls)。间接控件不是虚拟环境的一部分,而是固定在屏幕上的2D控件。如果用户总是需要用到该控件,请使用间接控件,这样用户无需调整设备便可随时触控到。同时,请考虑将间接控件设计成半透明样式,以免遮挡控件下方的内容。例如“测距仪”应用通过混合使用半透明的间接控件和不透明的AR控件来帮助用户测量真实世界对象的距离。

6ecd56a06d93f51b9aa839db6a11e194.png

预期用户会在各种现实环境中使用你的应用程序。用户可能在一个没有足够移动空间或者没有足够大的平坦的表面的环境下使用你的应用程序。你应该在用户使用前清楚的告知用户使用需求和建议,以帮助他们了解真实环境对AR体验的影响。你还可以考虑针对不同的环境提供不同的功能。

请注意用户的舒适度。长时间的手持设备并保持一定距离或角度可能会造成用户的疲劳。为了避免产生疲劳,你可以考虑将虚拟对象放置在一个合适的位置以减少用户需要移动设备去靠近的必要,在游戏中,可以考虑将关卡设置的短一些,或者在游戏中加入短暂的休息时间。

如果你的应用鼓励用户移动设备(如体感),请逐步引入这些操作。例如,你可能不会希望用户在刚进入你的AR游戏就需要躲避射过来的虚拟炮弹。给用户一些时间适应你应用程序中的AR体验,然后在逐步的引导用户去尝试移动。

注意用户的人身安全。当用户沉浸在AR体验中时,可能不会有足够的精力去注意周边的真实环境,当进行一些相对激烈的动作时可能会产生危险。请考虑你的应用能被安全的使用,例如,在游戏中避免让用户有过大幅度或突然的动作行为。

使用辅助引导

在用户开始使用你应用程序中的AR功能之前,需要移动设备来让ARKit来评估周围环境以及检测物理表面。在iOS13及更高的版本中,你可以使用内置辅助引导来告知用户在初始化设置中需要做什么并提供相应的反馈。当AR体验被打断后,你还可以使用该辅助引导来帮助用户重新初始化AR设置(重新定位),比如当用户切换到另一个应用程序后再切换回时。有关重新定位的指南,详见中断处理;更多开发指南,详见ARCoachingOverlayView。

4991132bed8bee952e6c35efe55c8add.png

当用户在辅助引导状态下,隐藏其他不必要的UI内容。在默认情况下,当需要初始化或重新定位设置时,辅助引导会自动出现,此时你应该隐藏其他不相关的UI内容,以帮助用户将注意力集中在辅助引导上。

如有必要,可自定义辅助引导。尽管你可以使用系统内置的辅助引导帮助用户完成特定的设置,如检测水平面或垂直面,但你可能需要更多的信息或者使用其他 视觉样式。要自定义辅助引导,请基于系统内置的辅助引导为参考。

放置对象

告知用户如何定位表面并放置对象。你可以使用系统内置的辅助引导来帮助用户找到要放置对象的水平面或垂直面。当ARKit检测到一个表面后,你可以通过自定义的视觉效果来告知用户是否可以放置对象。你可以通过将引导检测器与检测到的表平面对齐来帮助用户更好的了解他们放置的对象在真实环境中的呈现。

7298c15065a08ee48b0e1476b41b92c6.png

当用户放置了一个对象,请立即将该对象整合到AR环境中。尽管在表面检测期间,精度会在很短时间内逐渐提高,但是最好避免在用户放置对象后还等待更准确的数据。当用户放置了对象后,应使用当前可用信息立即作出响应,然后,在完成表面检测后,如有必要,可以微调对象的位置。例如,如果用户将对象放置在检测到的表面之外,可以将对象移回表面上。有关如何精准定位对象的开发指南,详见ARTrackedRaycast。

引导用户找到屏幕外的虚拟对象。有时候,用户会很难找到一个屏幕外的虚拟对象,在这种情况下,你可以通过声音或视觉引导来帮助用户找到该对象。例如,假设某个虚拟对象在屏幕外的左侧,你可以在屏幕左侧增加一个视觉引导,来提示用户将摄像头指向左侧。

避免将对象和已检测到的表面精确对齐。在AR中,表面边界是近似值,可能会随着用户周围环境以及进一步的分析而发生变化。

对表面进行分类并告知用户可放置的类别。例如,仅允许用户在分类为“地板”的表面上放置虚拟家具,或者可以将飞机归类为“桌子”以放置虚拟游戏板。

设计直观、令人愉悦的对象交互

尽可能的让用户直接和虚拟对象进行交互。通过直接触控屏幕上的3D虚拟对象,而不是通过屏幕上的间接控件进行交互,不仅更直观,还能让用户更有沉浸感。但是,当用户是在到处走动的场景下使用你的应用程序,那么使用间接控件可能更好。

eb9c702e92a407e1ec352c885ee7d4c6.png

让用户可以使用符合预期的标准化的手势直接与对象进行交互。例如,应支持用于移动对象的单指拖动手势和用于旋转对象的双指旋转手势。相关指南,详见手势。

请保持交互的简单。本质上,触控手势是二维交互,但AR及现实世界是三维的。你可以考虑通过以下的方式来简化用户与虚拟对象的交互。

2de8a82e6cc7a888dc297c4142b99f08.png

(左图文字:限制对象仅在平面上移动;右图文字:限制对象仅能围绕一个轴旋转)

在合理的范围内让虚拟对象对可能的交互手势作出响应。用户可能比较难以精确触控到某个小的、细的或者有一定距离的对象,当你的应用程序检测到某个手势在这个可交互对象附近时,通常最好假设用户想要操作该对象。

请思考在你的应用中支持用户对对象进行缩放是否有意义。例如,如果你的应用是让用户探索一个虚拟的环境,那么支持对象的缩放可能很有用,因为你的应用不是代表的真实世界。但另一方面,假设你的应用是帮助用户确定是否要购买一个家具,那么允许用户对椅子进行缩放,并不能帮用户更好的了解这个椅子放在房间中的效果。

提示:无论你的应用程序是做什么用的,都不要将缩放对象当成调整对象距离的一种方式。如果你试图将远处的对象放大来让其看起来更近一些,实际可能只是让那个对象变大了,但跟你的距离并没有发生变化。

请留意可能出现的手势冲突。例如,双指捏合的手势和双指旋转的手势很相似。如果你想同时支持这两种手势,请确保你应用程序能准确识别并测试无误。

在你应用的AR环境中保持虚拟控件和周围环境有一致的物理属性。用户可能并不期望一个对象在粗糙或者不平坦的表面移动,但他们会期望这个对象在运动过程中是可见的。移动时应将对象附着在真实世界的表面,并且避免用户在调整大小、旋转以及移动等操作时,对象跳跃或闪烁的出现。

探索更多引人入胜的交互方式。手势并不是用户与AR中虚拟对象交互的唯一方式。你的应用还可以使用其他的要素,如动作或相似度,来使内容栩栩如生。例如,一个游戏角色可以在朝另一个人走过去的时候转头看他。

3accb635bbf45816210086810b56102c.png

http://hfw.design

是我新上线的一个体验设计相关的网站,内容会与本公众号同步更新,欢迎访问。

9ee537927ec4bf12127126895ff218a3.png

e0c80ec75ed80056b30d70b1f6364b12.png你点的每个在看,我都认真当成了喜欢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机应用类专业综合冲刺卷,2009年计算机应用类专业综合知识模拟试卷.doc

2009年计算机应用类专业综合知识模拟试卷2009年计算机应用类专业综合知识模拟试卷一、单选题(本大题共15小题,每小题2分,共30分,在每小题给出的四个选项中,只有一项是符合题目要求的)1、采用32*32点阵字模输出1000个汉字所占的空间…

【牛客 - 317E】小a的轰炸游戏(差分,前缀和)

题干: 小a正在玩一款即时战略游戏,现在他要用航空母舰对敌方阵地进行轰炸 地方阵地可以看做是nmnm的矩形 航空母舰总共会派出qq架飞机。 飞机有两种,第一种飞机会轰炸以(xi,yi)(xi,yi)为中心,对角线长为lili的正菱形(也就是两条对…

认真测试直播软件,直播这么火,你知道怎么测试直播软件吗?

作为互联网的新生力量,一种新型的社交互动方式,直播软件快速在互联网行业占有一席之地。市场上对于直播软件的开发应用也越来越多,直播软件的框架?直播软件的原理?直播软件的功能点?直播软件测试关注点&…

csm和uefi_关于CSM和UEFI你要知道的一些事

最近碰到了一件小事,让我觉得关于这个还是专门用一期说一下比较好。 一个朋友最近要升级机器,老机器是A8 5600+8GB DDR3,还有一张我送他的GTX660.他的预算3K左右,决定先不买显卡,花了2600左右,买了一张技嘉的B360M DS3H+i5 8400+16GB DDR4内存,SSD他有,电源准备用老的。…

计算机辅助教学研究现状,计算机辅助教学应用现状及对策研究

计算机辅助教学应用现状及对策研究 (8页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分计算机辅助教学应用现状及对策研究摘要:新形势下,计算机辅助教学迅速发展&…

【牛客 - 317F】小a的子序列(线性dp,tricks)

题干: 小a有一个长度为nn的序列,但是他忘了这个序列的样子,他只记得序列中的数大小在[1,V][1,V]内 你可以任意选择一些位置,并给它们赋值来组成一段子序列,需要满足序列中的数严格递增 一段子序列的“萌值”定义为序…

hostapd 进程启动不了_项目管理|项目启动会实操要点,项目经理掌权的关键

项目启动会就像古代的誓师大会,把大家集中到一起,告诉大家我们要去干什么,这个事情如何重要、皇帝如何重视,干成以后大家升官加爵、富贵少不了大家的等等,大会目的在于调动起大家干活的热情,然后顺利地推进…

【牛客 - 317G】小a的排列(模拟,构造)

题干: 小a有一个长度为nn的排列。定义一段区间是"萌"的,当且仅当把区间中各个数排序后相邻元素的差为11 现在他想知道包含数x,yx,y的长度最小的"萌"区间的左右端点 也就是说,我们需要找到长度最小的区间[l,r][l,r]&a…

怎么看联想计算机的ip,如何查看本机ip

ip地址是我们连上互联网的凭证,每台能连上互联网的电脑都会分配有一个ip地址。每台电脑的IP地址都不唯一,并且从我们主机的IP地址上可以看出我们电脑连上互联网的所在位置与地区,就像我们生活中的门牌号码一样。很多朋友还不知道本机ip怎么查…

当前元素_前端系列——获取页面中的DOM元素

这里就聊一下获取页面中DOM元素最基本的两种方法:document.getElementById.在整个页面中通过元素的Id属性值来获取到这个元素对象,getElementById是获取元素的方法,而document是获取元素的范围,我们也将此范围称为“上下文”。注意…

东华大学计算机年薪,东华大学公布应届毕业生薪酬:本科生月薪中位数6637元...

岁末年初,国内多所名校陆续发布了2020届毕业生就业质量报告,各校毕业生的平均薪酬也随之公布。澎湃新闻(www.thepaper.cn)注意到,由教育部直属的新中国第一所纺织高等学府东华大学也于近日公布了本校毕业生的平均薪酬状况。1月4日&#xff0c…

【牛客 - 330C】Applese 走迷宫(bfs)

题干: 精通程序设计的 Applese 双写了一个游戏。 在这个游戏中,它被困在了一个 nmnm 的迷宫中,它想要逃出这个迷宫。 在迷宫中,有一些方格是水池,只有当 Applese 处于水属性的时候才可以通过;有一些方格是岩…

怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...

​对于按照自然年月日来分析的业务数据,在PowerBI中可以轻松的使用时间智能函数来进行各种时间指标的计算,但如果不是按标准的日历,很多人就开始有点懵,不知道该如何计算了。比如有的公司的业务月份是从26号到下个月的25号&#x…

pvz安卓服务器维修礼包码,植物大战僵尸2礼包兑换码大全2020最新版

植物大战僵尸2礼包码2020最新版是一款能够让玩家体验烧脑塔防大战的放置游戏,拥有经典的游戏规则设计,带来的玩法也会让每个玩家体验最为精彩的体验,每个僵尸都有着自己的特性,游戏之中的每一种植物都有自己的战斗方式&#xff0c…

【牛客 - 330F】Applese 的QQ群(拓扑排序,二分)

题干: Applese 有一个QQ群。在这个群中,大家互相请教问题。如 b 向 a 请教过问题,就把 a 叫做是 b 的"老板"。这样一个群中就会有很多老板。 同时规定:如果 a 是 b 的老板,b 是 c 的老板,那么…

安卓用于组件传递参数的对象是_入门篇:7.组件2:Android Service-service的数据传递与通信...

(由于对java的回调机制和线程理解的不够透彻,所以这块内容我理解了好久,尤其是绑定服务传递数据,一句一句写一句一句看,对我来说挺难理解的。以后还要多看几遍--!)既然单纯的启动或跳转activity…

【牛客 - 330G】Applese 的毒气炸弹(最小生成树,构造,判连通图)

题干: 众所周知,Applese 是个很强的选手,它的化学一定很好。 今天他又AK了一套题觉得很无聊,于是想做个毒气炸弹玩。 毒气炸弹需要 k 种不同类型元素构成,Applese一共有 n 瓶含有这些元素的试剂。 已知元素混合遵循…

服务器风扇一直高速转系统起不来,【案例】别克君越风扇启动后一直高速常转 维修案例...

故障诊断启动车辆,冷车时风扇正常,当温度达到正常温度后,节温器打开风扇一直常转,客户描述的问题存在。目测检查发动机外观状态:无漏油、无移位、部件连接无松动、电气插头安装牢固、无异味、无过热现象,都…

添加一列_Joom平台CSV文件如何添加产品?CSV文件添加产品流程一览

CSV文件添加产品在添加产品及变型以前,请先了解产品的CSV文件介绍以及产品变型要求。CSV添加产品CSV文件中的一行对应一个产品变型。卖家想为产品添加变型的话,需要在表格里新添一行或多行信息。——列表第一行是产品基本信息及产品本身的信息。卖家需要…

【牛客 -330E 】Applese 涂颜色(费马小定理,超级快速幂)

题干: 精通程序设计的 Applese 叕写了一个游戏。 在这个游戏中,有一个 n 行 m 列的方阵。现在它要为这个方阵涂上黑白两种颜色。规定左右相邻两格的颜色不能相同。请你帮它统计一下有多少种涂色的方法。由于答案很大,你需要将答案对 10971…