高通Vuforia(Unity3D)云识别初级使用教程

   最近因项目开发需要,接触了高通的AR引擎Vuforia云识别,个人感觉稳定性还是很不错的,唯一不爽的地方就是免费的云识别库每个月只能识别1000次,想继续使用只能重新再建一个云识别库或者拿钱了(苦逼)。。。

  正赶上现在有点时间,也把自己这段时间所学到的给大家分享一下,比较小白,打算勿喷(ha ha ha ha ...)

先上传送门:

  高通Vuforiahttps://developer.vuforia.com/

下面教程开始:

  1、官网注册登录并且创建许可证管理器(License Manager)和目标管理器(Target Manager)------步骤略(网上教程一大堆---度娘传送门

      保存好许可证管理器里的Key值和目标管理器的Client Access Keys

         

   2、之后下载Vuforia的Unity3D版本SDK--------传送门

   

  导入之后的效果  ↑↑↑↑↑↑

  之后把场景内主摄像机删除,把Assets\Vuforia\Prefabs\ARCamera  预制拖入Hierarchy窗口

  然后相同方式拖入CloudRecognition、ImageTarget两个预制

  1、点击菜单栏Vuforia->configuration  在右侧App License Key中填入可证管理器里的Key值

  

  2、点击Hierarchy窗口中的CloudRecognition,在Inspector面板中填入目标管理器的Client Access Keys

     

  3、点击Hierarchy窗口中的ImageTarget,在Inspector面板中ImageTargetBehaviour的参数改为

  

  4、模型拖为ImageTarget子物体,更改位置(模型为半成品-演示所用,勿喷)

  

下面新建脚本,开始码脚本吧,苦逼。。。

  5、任意物体上新建脚本,名称暂定为:CloudRecoManage,双击打开

  

  记得必须要using Vuforia    并且继承ICloudRecoEventHandler并实现

   ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 代码在此 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

 using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia; //添加引用 public class CloudRecoManage : MonoBehaviour, ICloudRecoEventHandler //继承接口并实现
{
//声明两个变量
private GameObject mImageTarget; //ImageTarget的Object对象
private ObjectTracker mObjectTracker; //跟踪器变量 (个人理解)识别出的物体就靠它才能跟着图片移动 //需要保留Start方法 初始化用
void Start()
{
//把这个脚本和CloudRecoBehaviour云识别进行绑定 --不然脚本怎么知道哪个云识别模块给这个脚本提供识别信息呢~ //获取到场景中的云识别组件 因为我们只有一个云识别 所以不用担心冲突
CloudRecoBehaviour cloudRecoBehaviour = FindObjectOfType<CloudRecoBehaviour>(); //把云识别和脚本绑定
cloudRecoBehaviour.RegisterEventHandler(this);
} public void OnInitError(TargetFinder.InitState initError)
{
//初始化错误
Debug.Log("初始化错误:" + initError);
} public void OnInitialized()
{
//初始化
Debug.Log("初始化开始"); //获取ImageTarget的Object对象
mImageTarget = FindObjectOfType<ImageTargetBehaviour>().gameObject; //获取追踪管理器
mObjectTracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
} public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult)
{
//搜索到新的目标
Debug.Log("搜索到目标:" + targetSearchResult.TargetName);
if (targetSearchResult.TargetSize <= ) //判断targetSearchResult是否符合要求
return;
//搜索到新的目标关闭ClearTrackables
mObjectTracker.TargetFinder.ClearTrackables(false); //启动追踪 很简单 两个参数1、识别到的目标 2、生成的物体 两个同步运动
mObjectTracker.TargetFinder.EnableTracking(targetSearchResult, mImageTarget);
} public void OnStateChanged(bool scanning)
{
//云识别状态改变
Debug.Log("云识别状态:" + scanning);
//云识别开启时关闭ClearTrackables
if (scanning)
mObjectTracker.TargetFinder.ClearTrackables(false);
} public void OnUpdateError(TargetFinder.UpdateState updateError)
{
//云识别错误
Debug.Log("云识别错误:" + updateError); }
}

CloudRecoManage

接下来点击运行(截图压缩了,有点不清楚)

终于写完了,全原创,欢迎交流QQ:1107628852(加备注)

高通Vuforia(Unity3D)云识别初级使用教程的更多相关文章

  1. 高通vuforia+Unity3D 制作ar app

    很简单就可以用Unity3D做出增强现实的一个小例子 新人第一次写博客,若出现错误望指正^_^ 需要下载de东西: unity3d 5.0 http://unity3d.com/get-unity   ...

  2. [AR]高通Vuforia Getting Started

    Vuforia Getting Started 简介 ​ Vuforia创建增强现实应用程序是一个软件平台.开发人员可以轻松地将先进的计算机视觉功能添加到任何应用程序中,允许它识别图像和对象,或在现实 ...

  3. GJM : Unity3D 高通Vuforia SDK AR 开发

    一.AR概念: 增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实.是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息 ...

  4. Unity+高通Vuforia SDK——AR

    一.AR概念: 增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实.是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息 ...

  5. 这几天用高通VUFORIA的体会

    VUFORIA 主要用来做图像识别,先把图片上至网站,然后网站分析生成数据包 在UNITY中导入VUFORIA SDK和数据包后,就可以正常使用了 对了,数据包需要勾选Load Active那个选项, ...

  6. 高通Vuforia

    这里使用高通的Vuroria来做一个AR歌姬. 工具: Vuforia,MMD4Mecanim 模型: 初音未来pmd模型文件,极乐净土vmd动作文件. 逻辑: 当发现识别卡时:开启音乐,模型速度为1 ...

  7. Unity3d使用高通Vuforia发布IOS工程不支持64位的一些解决办法

    1.将Unit升级至4.6.x或5.0.x,将Vuforia差距升级到最新版本(vuforia-unity-mobile-android-ios-4-0-105 ) 2.平台Other Setting ...

  8. [AR]高通Vuforia之Frame Markers

    软件环境 SDK:FrameMarkers-6-0-112.unitypackage(从官网 -> Download -> Samples -> Core Features 下载 ) ...

  9. UNITY使用高通Vuforia导出XCode包编译出错

    1.referenced from: in libVuforia.a 此处重新导入引用库并按http://game.ceeger.com/forum/read.php?tid=20447(三楼处理方式 ...

随机推荐

  1. cmd 文件/文件夹的一切操作

    dir // 列出目录下所有文件夹 rd dirname // 删除dirname文件夹(空文件夹) rd /s/q dirname // 删除dirname文件夹(非空)

  2. Hadoop的下载和安装

    Hadoop的下载和安装 一:Hadoop的简介 Apache的Hadoop是一个开源的.可靠的.可扩展的系统架构,可利用分布式架构来存储海量数据,以及实现分布式的计算. Hadoop许使用简单的编程 ...

  3. 如何让ThreadPoolExecutor更早地创建非核心线程

    最近在项目中遇到一个需要用线程池来处理任务的需求,于是我用ThreadPoolExecutor来实现,但是在实现过程中我发现提交大量任务时它的处理逻辑是这样的(提交任务还有一个submit方法内部也调 ...

  4. 十七, Oracle索引约束

    管理索引-原理介绍 索引是用于加速数据存取的数据对象.合理的使用索引可以大大降低i/o次数,从而提高数据访问性能. 单列索引 适当的索引对于大型数据库的性能有不错的提升, 但在创建索引时要小心.选择字 ...

  5. 设置共享内存大小 【windows】

    hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, // use paging file NULL, // default security PAG ...

  6. 现代软件工程讲义 如何提出靠谱的项目建议 NABCD

    互联网时代对于创新者来说, 既是一个伟大的时代, 又是一个糟糕的时代. 你有很多机会做出影响世界的产品,  但是, 似乎任何想法都被别人想到过了, 做出来了, 上市了, 移植到各种平台上去了-  那么 ...

  7. Clickhouse 字符串拆分 OR 一行转多行

    Clickhouse 字符串拆分 OR 一行转多行 我想把 '123_456_142354_23543' 通过'_' 下划线进行拆分成

  8. 数学--数论--Hdu 5793 A Boring Question (打表+逆元)

    There are an equation. ∑0≤k1,k2,⋯km≤n∏1⩽j<m(kj+1kj)%1000000007=? We define that (kj+1kj)=kj+1!kj! ...

  9. Redis为什么是单线程的

    一.前言   最近在学习Redis,这篇文章就来简单聊聊一道常考的面试题--Redis为什么是单线程的.废话不多说,直接开始吧. 二.正文 2.1 为什么需要多线程   首先,现在的CPU一般都是由多 ...

  10. Unity 游戏框架搭建 2019 (四十二、四十三) MonoBehaviour 简化 & 定时功能

    MonoBehaviour 简化 在前两篇,我们完成了第九个示例.为了完善第九个示例,我们复习了类的继承,又学习了泛型和 params 关键字. 我们已经接触了类的继承了.接触继承之前,把类仅仅当做是 ...