【增强现实】快速上手 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 模型识别和放置的应用就完成了,应用会安装在我们的调试设备上。

相关推荐
两水先木示2 小时前
【Unity】对指定物体进行描边——模板测试法
unity·游戏引擎·shader·外描边
2501_944521592 小时前
Flutter for OpenHarmony 微动漫App实战:列表项组件实现
android·开发语言·javascript·flutter·ecmascript
小风呼呼吹儿2 小时前
Flutter 框架跨平台鸿蒙开发 - 种子发芽记录器:记录植物成长的每一刻
android·flutter·华为·harmonyos
一起养小猫2 小时前
Flutter for OpenHarmony 实战:Dart类与面向对象编程
android·flutter
ar01232 小时前
AR汽车智能巡检-汽车运维的新技术变革
人工智能·ar
2501_944526422 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 多语言国际化实现
android·java·开发语言·javascript·flutter·游戏
Miss_SQ2 小时前
实现Unity录音、百度云语音转文字
unity·语音识别
2501_916007472 小时前
iOS APP 开发,从项目创建、证书与描述文件配置、安装测试和IPA 上传
android·ios·小程序·https·uni-app·iphone·webview
AC赳赳老秦2 小时前
Docker+DeepSeek:生成镜像优化Dockerfile与容器健康检查脚本
android·运维·人工智能·机器学习·docker·容器·deepseek