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

相关推荐
迪普阳光开朗很健康1 小时前
Unity中new() 和实例化有什么区别?
unity·游戏引擎
mxwin1 小时前
Unity Shader 极坐标特效 从数学原理到实战案例
unity·游戏引擎·shader·uv
mygljx2 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
xinhuanjieyi4 小时前
ruoyimate导入sql\antflow\bpm_init_db.sql报错
android·数据库·sql
闲猫5 小时前
基于RABC的权限控制设计
android
星霜笔记8 小时前
GitMob — 手机端 GitHub 管理工具
android·kotlin·github·android jetpack
LiuYaoheng8 小时前
问题记录:Android Studio Low memory
android·ide·android studio
独隅9 小时前
Python 标准库 (Standard Library) 全面使用指南
android·开发语言·python
always_TT9 小时前
strlen、strcpy、strcat等常用字符串函数
android
qqty12179 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql