搜索Unity

在Unity中创建AR应用程序:最新技巧和资源

上次更新时间:2018年11月

利用AR基础套件和软件架构,Unity开发人员现在拥有通用API,可以支持ARCore、ARKit和未来平台的核心功能。ARCore和ARKit都可以提供混合平台独特功能和常用功能。使用AR基础套件和特定平台SDK,您可以获得在Unity中创作AR内容所需的所有功能,以及不断扩充的深度学习资源集。

ARCore

ARCore是由Google开发和维护的插件。您可以在在这里下载Unity SDK。ARCore可以直接集成到引擎中(使用XR设置中的小复选框),并且它与2017.1版本或更高版本兼容。

Wizard of Oz

ARCore Wizard of Oz应用,Google制作

ARCore SDK可提供示例场景HelloAR,用于展示诸如增强图像云锚点和计算机视觉等增强功能。ARCore中包含的其他独特功能包括功能点即时预览

HelloAR已预配置为查找水平和垂直平面。它包括Andy介绍的每次用户点击场景时生成的Android预制件,但您可以使用自己的3D模型轻松替换该预制件。在HelloAR场景之上构建时需要注意的一点是,ARCore会将其会话作为可编程资源进行处理。因此,如果您尝试在ARCore中使用某些功能,则需要确保使用正确的会话数据,并且确保通过它配置会话。

增强图像数据库是您在会话中专门分配的可编程资源的示例。增强图像使您能够在项目中任意选择多个图像,右键单击它们并在Create菜单中创建子菜单。然后,它将所有这些图像打包成一个可编程资源,并根据计算机视觉识别和跟踪这些对象的容易程度对图像进行评分(建议分数为85或更高)。

ARKit

与ARCore不同,此SDK由Unity开发和维护。它适用于2017.1版本及更高版本,以及在运行iOS 11.3及更高版本的Apple设备上运行。您可以在在这里获取它。SDK附带的示例场景包括ARKit的所有主要功能,包括焦点方块、阴影和遮挡、图像锚点、平面网格、重新定位和面部跟踪。ARKit的其他独特功能包括环境探针、世界地图和可跟踪图像。有关这些功能的更多信息,请参阅ARKit文档

AR基础套件

AR基础套件是我们提供的一种解决方案,可以将ARKit和ARCore的核心功能集成到Unity内的通用抽象API的解决方案。请注意,目前它仅涵盖一部分核心功能。如果您想要使用平台特定功能,诸如ARKit中的环境探针或ARCore中的即时预览,则这些功能仅通过特定SDK提供。但是,AR基础套件将会不断增加新功能。目前,它可以支持诸如垂直和水平平面检测、光源估算、特征点、AR缩放和AR锚点等功能。

AR基础套件提供2018.1版本及更高版本,可以通过Package Manager安装它们进行安装。

Unity XR技术讲师Dan Miller在Unite会议中逐步显示如何安装AR基础套件(从17:30开始)。

《锁心玉》

GNOG,KO_OP使用ARKit制作

AR中的缩放问题及解决方法

缩小AR内容中的实际资源有一定风险。例如,如果某个游戏对象上带有物理对象,当您进行缩小时,该物理对象的行为将发生改变,并且可能变得不稳定。在复杂的关卡中,它效果不佳。实际上,在Unity中,某些系统一旦完成烘焙就不能再更改,如果导航网格、地形、光照贴图或粒子系统。

预览表城市

实际上,您可以使用某些方便的摄像机技巧为资源制作缩放后的外观。您可以缩放一个摄像机的位置,或者使用多个摄像机来创建缩放效果。为了透彻理解此方法,请阅读Unity工程师Rick Johnson编写的此博客文章您还可以观看Jimmy和Tim的谈话,了解关于这些缩放技巧的演示(从42:05开始)。

几个额外提示:如果用户过长时间拿着设备,特征点将消失。如果设备从一个方向只能看到一个摄像机图像,则会难以感知世界场景,所以应用需要进行一些运动,转动方向才能真正开始拾取特征。

Unity文档中的开发

您需要提供视觉和/或声音线索,以便用户以足够大的幅度移动设备,从而拾取特征点。请慎重选择显示视觉线索的位置,例如,显示说明或指南的焦点位置。

请提供线索以告知用户需要在离他们所处的位置几英尺远的范围内发生的操作和/或游戏玩法。同时,还要告知他们环境光源不能过暗或过亮,因为这两种情况都会导致摄像机无法捕获信息。光源与阴影要平衡,以便摄像机拾取表面边缘。

保持AR应用中的UI简单、整洁和灵活。文本、UI元素、角色、爆炸等不能过多,否则会让用户难以忍受。尽可能让操作和UI元素保持在一个主要位置。

最后,为玩家提供一些适合处理不受控制的因子的选项,例如用户意外移动到应用播放的空间。比方说,为玩家提供一些可让他们四处移动内容的辅助图标,以便他们选择进行播放的区域和/或表面。

开发AR内容时要使用的七个最佳工具集

Vuforia AR工具集:Vuforia的AR工具集(2017.2及更高版本中提供)可在ARCore、ARKit和Microsoft Hololens上使用,它为AR内容提供了额外的功能。

Vuforia

Vuforia的图像目标功能

Facial AR RemoteFacial AR Remote是一种低开销的方法,可以使用直接连接到Unity编辑器的设备捕获性能。它不仅适用于动画制作,而且还适用于角色和混合形状建模和绑定,创建简化的方法以在Unity中构建自己的animoji或memoji类型交互。这可让开发人员能够在编辑器中迭代模型,而无需构建到设备,从而跳过执行过程中耗时的步骤。有关更多详细信息,请参阅请参阅文档

Unity ARKit Remote:这是一个可以与Unity的ARKit插件结合使用的功能。Unity ARKit Remote可让您在iOS设备上运行特殊应用。该应用将ARKit数据回馈到Unity Editor,以便您实时对该数据做出响应。

Unity UI:您要让AR游戏或应用的UI充满创意,所以Unity UI成为了您要使用的基本工具集之一。我们提供了许多关于如何高效使用Unity UI的技巧,包括:

Unity UI文档

一些可充分优化Unity UI的技巧

最佳实践:优化Unity UI

UI性能分析器

Text Mesh Pro:Text Mesh Pro是一款优秀的工具,通过Unity UI结合使用,可以让您更加灵活地制作丰富和动态的UI。它可以从从Asset Store可免费获取。获取。

TextMesh Pro使用高级文本渲染技巧以及一组自定义着色器;它大幅改进了视觉质量,同时为用户创建文本样式和纹理提供了难以置信的灵活度。

Text Mesh Pro

Timeline:Timeline是一款本地集成的全面多声道音序器。它可以让您在创建过场动画和序列时控制每个元素,而不需要编写复杂的代码。您可以序列化动画剪辑、关键帧、音频等。以下是Timeline最新学习资源的便捷概述

Timeline多声道音序器

Particle Systems:Unity为创建各种粒子系统提供了非常广泛的模块。首先看看Particle Systems的最新功能此概述。Particle Systems文档位于在这里

Analytics:Unity Analytics并不是在您的游戏上线后才能发挥作用:执行测试时也可以使用它,例如,在了解玩家体验和理解应用UI时就可以使用此工具。阅读更多,了解在游戏启动之前、期间和之后如何使用Analytics。

避免过热:AR优化技巧

AR应用对硬件的要求非常高:多个摄像机同步工作,深度感应功能,计算密集型算法,同时它往往采用移动/手持媒介,所以您需要进行相当多的性能优化,包括管理内存、处理和控制体验的物理区域。

这里是三个便捷的优化技巧,以帮助您在AR应用程序中保持简洁。

更多资源

您喜欢本文吗?请告诉我们!

喜欢。继续发送 还行。有待改进