真的有这么多用户在with软件吗?

增强现实(或 AR)让开发者交付沉浸式且有吸引力的体验,这个体验将虚拟对象与现实世界无缝地融合。通过使用设备的摄像头来在在屏幕上实时展现物理世界,app 会通过叠加 3D 虚拟对象来产生这些对象确实存在的错觉。根据 app 提供的体验,用户可通过重新调整设备来从不同角度探索对象,通过使用手势和移动来与对象进行交互,甚至与其他用户一起加入多用户 AR 体验。

只在有能力胜任的设备上提供 AR 功能。 如果 app 的主要用途是 AR,则让 app 只对支持 ARKit 的设备可用。如果 app 包含需要特定 AR 能力的功能,或者如果 app 中的 AR 功能是可选的,则如果用户尝试在不支持这些功能的设备上使用这些功能,不要向用户显示错误;相反地,只需要避免在不支持的设备上提供该功能即可。

让用户使用整个屏幕。通过用尽可能多的屏幕来显示物理世界和 app 的虚拟对象。避免用减少沉浸式体验的控件和信息来弄乱屏幕。

当放置逼真的对象时,争取令用户信服的错觉。通过设计具有逼真纹理的详细 3D 资源来创建对象,这些对象看似栖息在开发者放置其的物理环境中。使用来自 ARKit 的信息,开发者可恰当地缩放对象并将其放置在检测到的真实世界表面上,反映环境照明条件并模拟相机颗粒,在真实世界表面上投射自上而下的漫反射对象阴影,并在相机位置更改时更新视觉效果。要帮助避免破坏开发者创建的错觉,则确保 app 每秒更新场景 60 次,这样对象就不会看起来有跳跃或闪烁。

考虑具有反射表面的虚拟对象如何显示环境。ARKit 中的反射是基于相机捕获的环境的近似。要帮助保持 AR 体验是真实的错觉,更倾向于淡化上述近似影响的小或粗糙的反射表面。

通过使用音频和触觉来提高沉浸式体验。声音效果或碰撞感是确认虚拟对象已与物理表面或其他虚拟对象相接触的好方法。背景音乐也可帮助用户沉浸在虚拟世界中。

最小化环境中的文本。只显示用户体验 app 所需的信息。

如果需要额外的信息或控件,则考虑在屏幕空间中显示它们。“屏幕空间”中的内容看起来固定在一致的位置上,要么是虚拟世界中,要么是不太常见的陆设备屏幕上。用户通常很容易在屏幕空间中查找和查看内容,因为屏幕空间在底层 AR 环境随设备移动时保持静止。

当开发者需要提供常驻控件时,考虑使用间接控件。“间接控件”不是虚拟环境的一部分(相反地,是显示在屏幕空间中的 2D 控件)。如果用户需要访问 app 中的常驻控件,则考虑放置控件,这样用户就不必通过调整其握持设备的方式来触达这些控件。此外,考虑在间接控件中使用半透明来帮助避免遮挡底层场景。例如:测距仪(Measure)app 通过使用屏幕空间来显示半透明和不透明控件的混合,用户会这些控件用户来测量现实世界中的物体。

预料用户将在各种真实世界中使用 app。用户可能会在没有足够空间四处走动或没有任何大且平的表面的地方打开 app。通过提前向用户清楚地传达 app 的要求和期望来帮助用户理解其所在的物理环境可如何影响其 AR 体验。开发者可能也要考虑提供在不同环境中使用的不同功能集。

注意用户的舒适度。长时间以某些距离或角度握持设备可能会引起疲劳。要避免引起疲劳,则考虑将对象放置在可减少将设备移近对象需要的距离范围内;在游戏中,考虑保持关卡简短并混合短暂的休息时间。

如果 app 鼓励用户移动,则逐渐引入移动。例如:开发者可能不想让用户一进入 AR 游戏就躲避虚拟抛射物。给用户时间来适应 app 中的 AR 体验,然后逐步鼓励用户移动。

注意用户的安全。当用户沉浸在 AR 体验中时,用户不一定能意识到其周围的物理环境,因此做出快速、横扫、扩展的移动可能是危险的。考虑使 app 安全操作的方法;例如:游戏应避免鼓励大或突然的移动。

在用户可在 app 中享受 AR 体验之前,用户需要以让 ARKit 评估周围环境并检测表面的方式来移动其设备。在 iOS 13 及更高版本中,开发者可通过使用内置的指导视图来在初始化过程中向用户展示要做什么并提供反馈。当 AR 体验被中断后(例如:用户短暂地切换到不同的 app),开发者还可通过使用指导视图来帮助用户重新初始化 AR(这个过程被称为“重新定位”)。

当用户正在使用指导视图时,隐藏不必要的 app UI。默认情况下,指导视图会在初始化或重新定位开始时自动出现,所以开发者应准备通过隐藏不相关的 UI来帮助用户专注于指导视图的用法说明。

如有必要,提供定制的指导体验。尽管开发者可通过配置系统提供的指导视图来帮助用户提供特定的信息(例如:水平或垂直平面的检测),但开发者可能需要额外的信息或想要使用不同的视觉样式。如果开发者想设计定制的指导体验,则使用系统提供的指导视图作为参考。

向用户展示何时定位表面并放置对象。开发者可通过使用系统提供的指导视图来帮助用户找到用来放置对象的水平或垂直平面。在 ARKit 检测到表面后,app 可通过显示定制的视觉指示器来显示何时可放置对象。开发者可通过将指示器与检测到的表面的平面对齐来帮助用户了解放置的对象在环境中的外观。

当用户放置对象时,立即将该对象集成到 AR 环境中。尽管表面检测可快速并逐步改善准确性,但最好避免在放置对象之前等待更准确的数据。当用户放置对象时,通过使用可用信息来立即响应;然后,当表面检测完成时,如有必要,则巧妙地改善对象的位置。例如:如果用户将对象放置在检测表面的边界之外,则将对象轻推回到表面上。

考虑引导用户到屏幕外的虚拟对象。有时,用户可能很难定位位于屏幕外的对象。当情况是这样的时候,开发者可通过提供视觉或听觉的提示来帮助用户找到此类对象。例如:如果对象在屏幕外的左侧,则开发者可沿屏幕左边缘显示指示器,这样可指导用户将摄像头对准那个方向。

避免尝试将对象与检测平面边缘准确地对齐。在 AR 中,表面边界是一种近似,它可能会在用户周围环境被进一步分析时更改。

通过合并平面分类信息来通知对象放置。例如:只允许用户将虚拟家具放置在归类为“地板”的平面上,或要求被归类为“桌子”的平面才能放置虚拟游戏板。

可能时,让用户通过使用直接操作来与对象进行交互。当用户可通过直接触摸屏幕上的 3D 对象进行交互时,这会比在屏幕空间中使用间接控件更加沉浸和直观。但是,对于用户在使用 app 时四处走动的情况,间接控件可能会更合适。

让用户用标准且熟悉的手势直接与虚拟对象交互。例如:考虑为移动对象支持单指拖动手势,以及为旋转对象支持双指旋转手势。

通常,保持交互简单。触摸手势本质上是 2 维的,但 AR 体验涉及真实世界的 3 个维度。考虑通过以下方法来简化用户与虚拟对象的交互。

在交互式虚拟对象的合理接近范围内响应手势。当用户打算触摸小、薄、放置在远处的对象上的特定点时,很难做到精确。当 app 在交互式对象附近检测到手势时,通常最好假设用户想要影响该对象。

当在 app 中有意义时,支持用户启动的对象缩放。例如:如果 app 让用户探索想象的环境,则支持对象缩放可能是有意义的,因为 app 不需要代表真实世界。另一方面,如果 app 帮助顾客决定要购买的家具,则让用户缩放椅子对象并不能帮助其想象椅子在房间中的外观。

无论 app 的目的是什么,都不要将使用缩放作为调整对象距离的方式。如果开发者通过放大远处的对象企图使其看起来更近,则结果是更大的对象看起来仍然很远。

警惕潜在的冲突手势。例如:双指捏合手势与双指旋转手势相似。如果开发者实现像这样的 2 个相似手势,则确保测试 app 并确保相似手势被正确地解释。

努力实现与 app AR 环境的物理一致的虚拟对象移动。用户不一定期望对象在粗糙或不平坦的表面上平滑移动,但用户确实期望对象在移动过程中保持可见。旨在保持移动的对象始终附着在真实世界的表面上,并避免在用户调整尺寸、旋转、移动对象时导致对象跳跃或消失并重新出现。

探索更有吸引力的交互方式。手势并不是用户在 AR 中与虚拟对象交互的唯一方式。App 可通过使用其他因素(例如:移动、接近)来使内容变得生动。例如: 游戏角色可在有人走向它时转过头看着这个人。

当多个用户分享 app 的 AR 体验时,每个参与者会独立地绘制环境地图,并且 ARKit 会自动合并地图。

考虑启用用户遮挡。如果 app 支持将虚拟对象放置在出现在设备摄像头中的用户身后,则通过让用户遮挡对象来增强现实的错觉。

可能时,让新参与者进入多用户 AR 体验。除非 app 需要所有参与者在体验开始前就加入,否则考虑通过使用隐式地图合并来让新用户快速加入正在进行的 AR 体验。

开发者可通过以下方式来增强 AR 体验:通过使用真实世界环境中已知的图像和对象来触发虚拟内容的出现。例如:识别科幻电影剧院海报的 app 可能会导致虚拟太空船从海报中出现并在环境中飞行。另 1 个例子是艺术博物馆的 app 会在识别出雕塑时显示虚拟导游。为了实现这些体验,app 会提供 1 组 2D 参考图像或 3D 参考对象,并且 ARKit 会指示它在当前环境中何时何地检测到任何这些项目。

当检测图像第 1 次消失时,考虑延迟移除附加到检测图像的虚拟对象。ARKit 不会跟踪每个检测图像位置或方向的更改。要帮助防止虚拟对象闪烁,则考虑在虚拟对象淡出或移除之前等待 1 秒钟。

限制 1 次使用参考图像的数量。当 ARKit 在真实世界环境中寻找 100 个或更少的不同图像时,图像检测性能最好。如果开发者需要超过 100 个参考图像,则可基于语境更改活动的参考图像集。例如:博物馆指南 app 可通过请求使用位置服务的权限来确定用户所在博物馆的部分,然后只查找在该区域显示的图像。

限制需要准确位置的参考图像的数量。更新参考图像的位置需要更多资源。当图像可能在环境中移动时,或当附加动画或虚拟对象比图像尺寸小时,使用跟踪图像。

如果开发者必须显示指导文本,则使用容易理解的术语。AR 是可能会让某些用户胆怯的先进概念。要有助于使其容易理解,则避免使用技术性的术语(例如:ARKit、世界检测、跟踪)。相反,使用大多数用户都能理解的友好且对话式的术语。

在 3D 环境中,更倾向于 3D 提示。例如:在对象周围放置 3D 旋转指示器会比在 2D 叠加中显示基于文本的指令更直观。除非用户不响应语境的提示,否则避免在 3D 语境中显示叠加的文本提示。

使重要的文本可读。通过使用屏幕空间来显示用于关键的标签、注释、指导的文本。如果开发者需要在 3D 空间中显示文本,则确保文本面向用户,并且无论文本与标记对象之间的距离如何,开发者都使用相同的字号。

如有必要,提供获取更多信息的方法。通过设计适合 app 体验的视觉指示器来向用户显示其可通过轻按来获取更多信息。

ARKit 无法在中断期间跟踪设备的位置和方向(例如:当用户短暂切换到另 1 个 app 或接听电话时)。在中断结束之后,先前放置的虚拟对象可能会出现在错误的捌真实世界位置。当开发者启用重新定位时,ARKit 会尝试通过使用新信息来将那些虚拟对象恢复到其原来的真实世界位置。

考虑通过使用系统提供的指导视图来帮助用户重新定位。在重新定位期间,ARKit 尝试将其先前的状态与对当前环境的新观察进行协调。要启用这些观察,开发者可通过使用指导视图来帮助用户将设备返回到其先前的位置和方向。

考虑在重新定位期间隐藏先前放置的虚拟对象。要避免在重新定位期间出现闪烁或其他令用户不快的视觉效果,则最好隐藏虚拟对象并在其新位置重新显示虚拟对象。

如果 app 同时支持 AR 和非 AR 体验,则最小化中断。避免中断的 1 种方法是在 AR 体验中嵌入非 AR 体验,这样用户就可在不退出和重新进入 AR 的情况下处理任务。例如:如果 app 通过将 1 件物品放在房间中来帮助用户决定购买 1 件家具,则开发者可让用户在不离开 AR 体验的情况下更换室内装潢。

允许用户取消重新定位。如果用户没有将其设备放置和定位在中断前位置的附近,则重新定位会无限期地继续下去,但不会成功。如果指导用户恢复其进程失败,则考虑提供重置按钮或重启 AR 体验的其他方法。

当前置摄像头无法跟踪面部超过约半秒时,要指出来。通过使用视觉指示器来指出相机可能无法再跟踪人脸。如果开发者需要在这种情况下提供文本用法说明,则保持该说明内容最小化。

如果体验没有满足用户期望,则让用户重置体验。不要强迫用户等待条件改善或与对象的放置斗争。给用户重新开始的方法,并看看用户是否有更好的结果。

如果发生问题,则建议可能的修复方法。真实世界环境的分析和表面检测可能因为各种原因(照明不足、表面反射过度、表面细节不足、相机移动太多)而失败或花费太长时间。如果 app 被告知出现这些问题,则通过使用直接且友好的语言来为解决这些问题提供建议。

App 可在启动基于 ARKit 体验的控件中显示 AR 象形符号。开发者可在资源中下载这个象形符号。

按照预期使用 AR 象形符号。象形符号应严格用于启动基于 ARKit 的体验。从不更改象形符号(除了调整其尺寸和颜色)、从不将象形符号用于其他目的、从不将象形符号与未使用 ARKit 创建的 AR 体验结合使用。

保持净空间最小化。AR 象形符号周围所需最小净空间量是象形符号高度的 10%。不要让其他元素侵犯这个空间或以任何方式遮挡这个象形符号。

包含产品或其他对象集合的 app 可通过使用角标来标识可在使用 ARKit 的 AR 中查看的特定项目。例如:百货公司 app 可能会通过使用角标来标记用户在购买之前可在其家中预览的家具。

按照预期使用 AR 角标,并且不要更改 AR 角标。开发者可在资源中下载 AR 角标(有折叠和展开 2 种形式)。通过专门使用这些图像来标识可在使用 ARKit 的 AR 中查看的产品或其他对象。从不更改角标、从不更改角标颜色、从不将角标用于其他目的、从不将角标与未使用 ARKit 创建的 AR 体验结合使用。

更倾向于 AR 角标而不是只有象形符号的角标。通常,对于无法容纳 AR 角标的受限空间,使用只有象形符号的角标。这 2 种角标在其默认尺寸下很合适。

只有当 app 混合包含在 AR 中可看到的对象和不可看到的对象时,使用角标。如果 app 中所有的对象都可在 AR 中看到,则角标是多余的。

保持角标放置一致且清楚。角标在被显示在对象照片的 1 个角落时看起来最好。始终把角标放置在同 1 角落,并确保其足够大到可清楚地被看到(但不要大到遮挡照片中的重要细节)。

保持净空间最小化。AR 角标周围所需最小净空间量是角标高度的 10%。其他元素不应侵犯这个空间或以任何方式遮挡这个角标。

1、什么叫数据库,数据库管理系统、数据库系统?

数据库,是存储在外存中有结构的相关数据的集合,是一种有结构的数据文件,是数据库管理系统管理的对象。数据库系统,是一个引入数据库以后的计算机系统,他由计算机硬件及相关软件、数据库、数据库管理系统及用户组成。数据库管理系统,是在操作系统支持下管理数据的软件,实现数据库的建立、使用和维护,是数据库系统的核心。

2、简述数据库的3种模型,关系数据库的主要特点及操作。

数据库的数据模型有三种:层次模型,网状模型,关系模型。Visual FoxPro是一个关系型数据库管理系统。关系数据库的主要特点:关系中每一个属性都是不能再分的基本元素;各元组的县同列具有相同的数据类型;每个属性列被指定一个不同的属性名,在一个关系中,属性名不能重复;行、列顺序可任意变动,不影响表格信息;每个元组的内容是不相同的,不允许重复。有选择、投影、连接三种基本操作。

常量是以直观的数据形态和意义直接出现的数据,在整个程序的执行过程中,常量的值是固定不变的。类型有:数值性,字符性,逻辑型,日期型,货币型等。变量是在程序执行过程中可以变化的数据项;变量实际上是用标示符命名的存放数据项的计算机内存单元。变量有变量名、变量值、变量类型、长度、变量作用域等属性。

4、简述Visal FoxPro变量的类型,系统变量的概念及作用,内存变量的建立、现实、删除。存盘和恢复方法。

Visual FoxPro的变量可分为字段变量和内存变量,内存变量又可分为一般内存变量、系统内存变量和数组变量。系统内存变量是Visual FoxPro自动创建并维护的内置内存变量。是用来保持固定信息。内存变量操作如下:1)显示:DISPLAY MEMORY或LIST MEMORY.。2)清除:RELEASE或RELEASE ALL。3)保存和恢复:SA VE TO、RESTORE

5、简述Visal FoxPro的表达式类型,它们之间的运算规则。

Visual FoxPro的表达式可分为:数值型表达式,字符型表达式,日期型表达式,关系型表达式,逻辑型表达式。各种运算符的优先级为:数值运算符高于关系运算符,关系运算符高于逻辑运算符。所有同一级命令都是从左到右进行的,括号内的运算优先执行,嵌在最内层括号内的运算首先进行,然后依此由内向外执行。

6、什么是函数?说明随机函数的概念和作用,宏代换函数的概念和作用。

函数是系统为实现一些特定功能而设置的内部程序,作为系统的一部分供用户使用。随机函数(RAND())作用是返回一个0-1.0之间的随机数。宏代换函数(&)作用是用字符型内存变量的"值"代替内存变量的"名"。

7、简述名表达式的概念和作用。说明名表达式、宏代换函数、EV ALUATE()函数三者的区别及使用方法。

名表达式就是用一对括号将名称括起来,以实现替换功能。例如:X="学生.DBF" USE(X),后边的USE(X)相当于USE 学生.DBF 能用名表达式代替&时,尽量用名表达式,因为名表达式比&快得多,但应注意,只有在进行名称转换时才能使用名表达式,如果是处理表达式的读取,则不能使用名表达式取代&。

退出:方法很多,最常用的是单击窗口右上角的关闭按扭。

我要回帖

更多关于 withmeapp下载 的文章

 

随机推荐