【增强现实】快速上手 Vuforia Unity Android AR 应用开发

准备

  1. Unity 2022.3.62f3c1 长期稳定版本,获取 Unity 时要勾选 Android SDK 以构建运行至 Android 设备,另外 Unity 有简体中文语言包,进入 Unity 任意项目后可以在菜单栏 Edit - Preferences 外观设置的 Languages 项进行调整;
  2. Vuforia Unity SDK 页面的 Download for Unity 得到的 Vuforia Engine 11.4 SDK,获取前要进行邮箱注册和登录;
  3. Vuforia Target Manager 页面点击右上角的 Generate Database,选择 Divice 类别和任意 Name 进行数据库创建,进入数据库页面后点击左侧的 Add Target,选择 Type 为 Image,File 上传任意用于 AR 识别的真实物体照片,Width 设置 4,任意名称,添加后回到数据库页面,勾选刚才添加的 Target,点击右侧的 Download Database,选择适用平台为 Unity Editor 进行下载,最后我们会得到 unitypackage 后缀的识别包文件;
  4. Sketchfab 模型下载页面获取任意 3D 模型,选择 GLB 格式,获得放置在识别图片上的模型资源。

步骤

  1. 启动 Unity 2022,创建 3D (Built-In Render Pipeline) 项目。

  2. 点击菜单栏的 Assets - Import Package - Custom Package,将准备的 Vuforia Engine 11.4 SDK 文件导入项目,导入后会有如图所示的提示框,我们点击 Update,注意单次操作可能不会将 SDK 完整导入,我们进行多次操作直到出现如图所示的 Nothing to import 弹窗。

  3. 导入后可能会出现如图所示的提示框,这里我们点击 Yes,等待项目重启。

  4. 项目重启后,我们点击菜单栏 Edit - Project Settings 的 Player 项,找到 Active Input Handling,选择 Input System Package (New) 取代原设置的 Both,再次等待项目重启。

  5. 点击菜单栏的 File - Build Settings,在设置页面首先点击 Add Open Scenes,再点击 Android - Switch Platform 切换移动开发平台。

  6. 点击菜单栏 Window - Vuforia Configuration 触发的右侧 Inspector 栏 Add License 项以配置密钥。跳转到 Vuforia 网页后点击居中的 Generate Basic License,配置任意 License Name 回到主页面后点击刚才配置的 License,点击复制灰色部分密钥填入如图所示的 App License Key 项。

  7. 回到主页面,删除 Hierarchy 的 Main Camera,增加 Vuforia Engine - ARCarema 和 ImageTarget,选中 ImageTarget,在 ImageTarget 下方 Create Empty 创建空物体 GameObject。

  8. 点击菜单栏的 Edit - Project Settings - Player,展开 Android 设置的 Other Settings 选项,将 Minimum API Level 改成 Android 10.0 (API Level 29),Scripting Backend 设置 IL2CPP,Api Compatibility Level* 设置 .NET Framework,Target Archiectures 仅勾选 ARM64。

  9. 再次点击菜单栏的 Assets - Import Package - Custom Package,将准备的识别模型 unitypackage 导入,点击 Image Target,在右侧 Inspector - Type 选择 From Database,下方会出现 Database 和 Image Target 两个选项,选择 Database 的我们在 Vuforia 创建的识别图名称。此时 Scene 会出现准备的识别图片样式。

  10. 点击下方 Project,选择 Assets - Resources,将准备的放置模型文件夹完整拖到此处,选中其中模型样式的文件,在右侧 Inspector - Materials 设置下点击 Materials 的 Extract Materials,此时会弹出保存地址页面,直接点击选择文件夹即可。以人体模型为例,操作后的画面如图所示。

  11. 点击各球样式的模型,在右侧 Inspector 可以看到 Main Maps - Apbedo 选项,将模型文件夹的图片素材拖动到对应名称球模型 Albedo 右侧方框中,拖动所有图片后,将非球模型拖动到 Scene 场景内的 Image Target 上方。得到的结果如图所示。

  12. 将左侧 Hierarchy 显示的模型文件拖动到 GameObject 下方,若 Hierarchy 的 SampleScene 右侧有 * 标识则表示未保存,此时要按下 Ctrl + S 保存。保存后点击菜单栏的 File - Build Settings,将开启开发者模式和 USB 调试的 Android 设备用调试线连接电脑,查看 Build Settings 的 RunDevice 项,选中 Android 设备,若没有则尝试其右侧的 Refresh 按钮或重新插拔调试线,最后点击 Build And Run,Unity 会首先让我们保存 AR 应用的安装包 APK 文件,最后会在调试设备上运行。不出意外的话,此时简单的 AR 模型识别和放置的应用就完成了,应用会安装在我们的调试设备上。

相关推荐
成都大菠萝11 小时前
Android Car CarProperty 车辆信号链路
android
敲代码的鱼12 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
时光足迹13 小时前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
Coffeeee17 小时前
闲聊几句,Android老哥们,你们多久没做技改需求了
android·程序员·代码规范
萝卜er18 小时前
Fragment 生命周期与状态恢复-《Android深水区(四)》
android
萝卜er18 小时前
Intent 显式、隐式与 PendingIntent-《Android深水区(五)》
android
Kapaseker20 小时前
一文吃透 Kotlin 集合操作符
android·kotlin
三少爷的鞋1 天前
Main-safe:现代Android 架构真正的分水岭
android
沐怡旸1 天前
深入解析 Android Performance Analyzer (APA) 底层架构与技术原理
android
李斯维2 天前
从历史的角度看 Android 软件架构
android·架构·android jetpack