NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模
在本文中,你将学习如何使用 Vuforia 和 Unity 创建增强现实体验,以及如何在 Android 智能手机上测试和运行你的应用程序。
这就是我们要构建的👇:
该立方体可以替换为任何其他 3D 对象,但为了简单起见,我们在本教程中仅使用立方体。
以下是上述视频中发生的情况的详细说明:
- 手机摄像头检测到图像
- 图像被识别为标记
- 然后手机在图像(或标记)之上渲染一个对象
这种 AR 体验(手机在图像上渲染 3D 内容)被称为基于标记的 AR 体验。 这就是我们今天要创建的目标,我们将使用名为 Vuforia 的 SDK 来实现。
1、为什么选择 Vuforia?
Vuforia 具有许多功能,例如:
- 图像追踪
- 物体追踪
- 地平面跟踪
- 多目标
- 云识别
- 虚拟按钮
以及更多。
我在本教程中使用 Vuforia 的原因之一是它的设置快速且简单。 无需编写代码即可创建你的第一个 AR 体验。
此外,如果你知道 Android 等平台上 Vuforia 的配置步骤,你将能够在 iOS 上应用相同的步骤。 这意味着你可以开发一次并将应用程序发布到多个平台。
Vuforia 相对于 ARCore 和 ARKit 的最大优势是它支持广泛的设备。 除了智能手机和平板电脑之外,Vuforia 还支持 Microsoft Hololens 和 Magic Leap 等增强现实耳机。 你可以在此处找到 Vuforia 推荐设备的完整列表。
2、先决条件
在我们开始使用 Unity 并开始该项目之前,请确保你已完成以下任务:
- 注册成为 Vuforia 引擎开发人员
- 确保你已安装 Unity 2021.3(LTS 版本)
- 检查你的设备是否支持增强现实
我们将介绍以下内容:
- 项目设置
- 使用 Unity 设置 Vuforia
- 如何在 Vuforia 中创建图像目标?
- 在图像目标之上渲染 3D 内容
1、项目设置
如果你还没有这样做,请创建一个新的 Unity 3D 项目并将其命名为“Hello Vuforia”。
你可以通过在计算机上启动 Unity Hub 并单击“新建项目”来完成此操作。
点击“新建项目”后,弹出以下窗口。 为了确保我们正在创建 3D 项目,请执行以下步骤:
- 从模板中选择“3D”
- 将“项目名称”从“我的项目”更新为“Hello Vuforia”
- 单击“创建项目”按钮
该项目需要几分钟才能在 Unity 中打开。
保持项目开放,让我们致力于集成 Vuforia。
2、使用 Unity 设置 Vuforia
在此步骤中,你将把 Vuforia 包添加到 Unity 中的“Hello Vuforia”项目中。
首先,下载 Vuforia 软件包。 请注意,除非你已注册为 Vuforia 开发人员,否则无法下载该软件包。
接下来,双击下载的 Unity 包,您将在 Unity 编辑器中自动看到此弹出窗口。 单击“导入”。
要验证 Vuforia 是否导入成功,请右键单击 Unity 编辑器中的“Hierarchy”面板。 如果您在下拉列表中看到“Vuforia Engine”,则表示Vuforia已成功导入。
从场景中删除“主摄像机”。 然后,右键单击“层次结构”面板 > Vuforia Engine > 将 AR 相机添加到场景。
在“项目窗口”中,转到“资源”>“资源”,然后双击“VuforiaConfiguration”以在检查器面板中查看其属性。 我们将在下一步中添加许可证密钥。
要添加许可证密钥,请转至 Vuforia 开发者门户许可证管理器并单击“获取基本”。
基本计划(免费提供)涵盖图像目标、多目标、圆柱目标、VuMarks 和地平面等功能。 您可以构建和发布无限数量的没有 Vuforia 水印的应用程序。
但是,如果您的应用程序使用 Vuforia 的高级功能(例如模型目标和区域目标),则会出现 Vuforia 水印。 这意味着您可以出于个人研究目的使用这些功能开发应用程序,但不能在任何平台上发布该应用程序。
如果您想访问模型目标和区域目标而不在应用程序中显示 Vuforia 水印,则可以购买高级计划。 要更详细地了解 Vuforia,您可以访问此链接。
保持许可证名称与您的项目名称相同; 即,你好 Vuforia。 您可以为您的许可证指定任何名称。 检查条款和条件框,然后单击“确认”。
接下来,复制许可证密钥。
并将其粘贴到 Unity 中的“App License Key”字段中。
完美! 您已成功配置 Vuforia 和 Unity 项目。
现在我们可以进入有趣的部分:图像识别。
3、如何在 Vuforia 中创建图像目标?
在此步骤中,我们将添加图像(或标记),以便 Vuforia 可以检测和跟踪它们。 这些检测到和跟踪的图像在 Vuforia 中称为图像目标。 图像目标的集合存储在数据库中。
图像目标和数据库都是从 Vuforia 开发者门户创建的。
要开始使用图像目标,请在 Vuforia 开发者门户中转至目标管理器。 然后单击“添加数据库”。
将数据库名称设置为“HelloVuforia”(无空格)并选择设备类型。 设备类型数据库是存在于您的应用程序中的数据库。 如果您有大型数据库,则选择云类型。 最后,点击“创建”。
创建数据库后,打开“HelloVuforia”并单击“添加目标”。
选择“图像”作为“类型”。 您可以在“文件”字段中上传任何图像; 我用的是Pixabay上的这个。 该图像将成为您的图像目标,这意味着您的应用程序将检测并跟踪它。
填写完上面的其余详细信息后,单击“添加”。 您将看到数据库中列出的图像。 每张图片对应有一个属性,叫做“Rating”。 尝试上传具有更高星数的图片。 星星的数量越多,图像就越容易被检测和跟踪。
在下图中,您将看到两个图像目标。 名为“stones_image”的目标只有三颗星,但“lens_image”目标有五颗星。 这两个图像都是可增强的,但“lens_image”将提供更好的性能。
单击下载数据库 > Unity 编辑器 > 下载。 下载后,您将获得一个名为“HelloVuforia.unitypackage”的文件。 双击该文件以在 Unity 中打开它。
您将看到以下弹出窗口。 单击“导入”。
在Unity中导入数据库后,在项目面板中转到Assets > Resources,然后双击“VuforiaConfiguration”以在Inspector面板中查看属性。 在“数据库”部分中,您将看到列出的 HelloVuforia。 这意味着您已成功将数据库导入到您的 Unity 项目中。
4、在图像目标之上渲染 3D 内容
现在你已准备好在图像目标顶部显示一个立方体。 请按照本教程中的其余步骤进行操作。
右键单击“层次结构面板”>“Vuforia 引擎”,然后将图像目标添加到场景中。
选择“ImageTarget”以在检查器面板中查看其属性。 在图像目标行为(脚本)中,进行以下更改:
- 将类型设置为来自数据库
- 将数据库设置为 HelloVuforia
- 将图像目标设置为lens_image(或您上传到HelloVuforia数据库的任何其他图像)
现在在场景中添加一个立方体作为 ImageTarget 的子级,如下所示👇:
将立方体缩小到 0.2(如果需要,也可以更小)。
然后,在正 y 轴上稍微移动立方体,使其看起来像是漂浮在图像上方。
就是这样! 现在您可以在 Android 设备上运行该应用程序了。
单击播放按钮以使用网络摄像头运行场景。
点击播放按钮后,将网络摄像头对准图像,立方体就会神奇地出现在图像顶部。 我已将图像下载到我的 iPad 上,但您也可以取出图像的打印输出并将网络摄像头指向打印输出。 它给出了相同的结果。
5、结束语
恭喜!
你刚刚使用 Unity 和 Vuforia 创建了增强现实体验。 对于那些尝试创建第一个 AR 体验的人来说,本教程是基础教程。 但是,立方体可以替换为任何其他 3D 模型。 试一试!
原文链接:How to create an AR experience with Unity and Vuforia
BimAnt翻译整理,转载请标明出处