Vuforia入门学习笔记 —— VirtualButton功能的实现

功能描述

使用 Vuforia 提供的 Prefab:ARCamera,VirtualButtonImageTarget 实现在识别图上按下(释放)虚拟的 Button 显示(隐藏)识别物的功能。

开发环境

Win10 平台下的 Unity 5.4.3f1 + vuforia-unity-6-2-10

操作步骤

1.下载Vuforia插件

下载 Vuforia SDK (需要先注册账号并登录)
Vuforia入门学习笔记 —— VirtualButton功能的实现

2.导入Vuforia SDK

将下载好的 Vuforia SDK 导入到 Unity 编辑器。

3.搭建Hierarchy面板

Unity 编辑器的 Hierarchy 面板中默认的 Main Camera 删除,从 Project 面板中的 Assets/Vuforia/Prefabs 的路径下分别找到 AR Camera,ImageTarget,VirtualButton 三个 Prefab,然后将它们分别拖到 Hierarchy 面板中。并将 VirtualButton 作为 ImageTarget 的子物体,接着再创建一个 Cube 和一个 Sphere 作为 ImageTarget 的子物体,CubeSphere 用作 AR Camera 追踪到识别图后所显示的识别物。
Vuforia入门学习笔记 —— VirtualButton功能的实现

4.参数设置

设置App License Key

首先,进入官网获取App License KeyHierarchy 面板中的 AR Camera 游戏对象的 Inspector 中找到 VuforiaBehaviour 脚本,单击 Open Vuforia Configuration 按钮进入设置界面,将从官网获取到的 App License Key 填入相应的选项中。

设置Datasets

首先,进入官网设置并获取关于识别图的 Database 文件将从官网获取到的识别图 Database 文件导入到 Unity 中,在 Hierarchy 面板中的 AR Camera 游戏对象的 Inspector 中找到 VuforiaBehaviour 脚本,单击 Open Vuforia Configuration 按钮进入设置界面,** Datasets 参数下的两个选项,以此来加载并** Database 文件。
Vuforia入门学习笔记 —— VirtualButton功能的实现

设置ImageTarget

打开 ImageTargetInspector 面板,找到 ImageTargetBehaviour 组件,开始设置其中的参数,即关联导入 Unity 中的 Database 文件。
Vuforia入门学习笔记 —— VirtualButton功能的实现

设置VirtualButton

打开 VirtualButtonInspector 面板,找到 VirtualButtonBehaviour 组件,设置其中的参数:
Vuforia入门学习笔记 —— VirtualButton功能的实现
Vuforia入门学习笔记 —— VirtualButton功能的实现

5.编写脚本

一共需要编写两个脚本:ARCameraAutoFouscing.csVirtualButtonControl.cs

ARCameraAutoFouscing.cs脚本

ARCameraAutoFouscing.cs 脚本实现了摄像头的自动对焦功能,解决了摄像头模糊的问题。
Vuforia入门学习笔记 —— VirtualButton功能的实现
这里主要使用了 CameraDeciceSetFocusMode(FocusMode mode) 方法来实现摄像头的对焦模式。最后将 ARCameraAutoFouscing.cs 脚本拖给 AR Camera 游戏物体。

VirtualButtonControl.cs脚本

VirtualButtonControl.cs 脚本实现了 VirtualButton 的控制功能:按下时显示物体,释放时隐藏物体;
Vuforia入门学习笔记 —— VirtualButton功能的实现
这里主要实现了:用一个数组来获取所有的 VirtualButton 对象,为了能够检测到 VirtualButton 对象的状态变化,还要逐个对其进行注册事件处理程序。
VirtualButtonControl.cs 脚本继承了接口:IVirtualButtonEventHandler 此接口主要用来处理 VirtualButton 的状态变化。

  • VirtualButton 按下时显示物体
    Vuforia入门学习笔记 —— VirtualButton功能的实现
    VirtualButton 释放时隐藏物体
    Vuforia入门学习笔记 —— VirtualButton功能的实现
    最后将 VirtualButtonControl.cs 脚本拖给 ImageTarget 游戏物体。

测试

最后将项目打包成 apk 文件安装到 Android 平台进行测试。

结束语

通过这个小 Demo ,学习了 AR 自动对焦和 VirtualButton 功能的实现。
参考书目:《AR与VR开发实战》

相关文章:

  • 2021-11-09
  • 2021-08-08
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2021-06-11
  • 2022-01-01
猜你喜欢
  • 2021-11-21
  • 2021-10-29
  • 2021-04-28
  • 2021-11-04
  • 2021-10-31
  • 2021-07-28
  • 2022-12-23
相关资源
相似解决方案