博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高通Vuforia(Unity3D)云识别初级使用教程
阅读量:7115 次
发布时间:2019-06-28

本文共 3263 字,大约阅读时间需要 10 分钟。

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

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

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

先上传送门:

  高通Vuforia

下面教程开始:

  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并实现

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

1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using UnityEngine; 5 using Vuforia;  //添加引用 6  7 public class CloudRecoManage : MonoBehaviour, ICloudRecoEventHandler //继承接口并实现 8 { 9     //声明两个变量10     private GameObject mImageTarget;        //ImageTarget的Object对象  11     private ObjectTracker mObjectTracker;   //跟踪器变量  (个人理解)识别出的物体就靠它才能跟着图片移动12 13     //需要保留Start方法 初始化用 14     void Start()15     {16         //把这个脚本和CloudRecoBehaviour云识别进行绑定   --不然脚本怎么知道哪个云识别模块给这个脚本提供识别信息呢~17 18         //获取到场景中的云识别组件   因为我们只有一个云识别 所以不用担心冲突19         CloudRecoBehaviour cloudRecoBehaviour = FindObjectOfType
();20 21 //把云识别和脚本绑定22 cloudRecoBehaviour.RegisterEventHandler(this);23 }24 25 public void OnInitError(TargetFinder.InitState initError)26 {27 //初始化错误28 Debug.Log("初始化错误:" + initError);29 }30 31 public void OnInitialized()32 {33 //初始化34 Debug.Log("初始化开始");35 36 //获取ImageTarget的Object对象 37 mImageTarget = FindObjectOfType
().gameObject;38 39 //获取追踪管理器40 mObjectTracker = TrackerManager.Instance.GetTracker
();41 }42 43 public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult)44 {45 //搜索到新的目标46 Debug.Log("搜索到目标:" + targetSearchResult.TargetName);47 if (targetSearchResult.TargetSize <= 1) //判断targetSearchResult是否符合要求48 return;49 //搜索到新的目标关闭ClearTrackables50 mObjectTracker.TargetFinder.ClearTrackables(false); 51 52 //启动追踪 很简单 两个参数1、识别到的目标 2、生成的物体 两个同步运动53 mObjectTracker.TargetFinder.EnableTracking(targetSearchResult, mImageTarget);54 }55 56 public void OnStateChanged(bool scanning)57 {58 //云识别状态改变59 Debug.Log("云识别状态:" + scanning);60 //云识别开启时关闭ClearTrackables61 if (scanning)62 mObjectTracker.TargetFinder.ClearTrackables(false);63 }64 65 public void OnUpdateError(TargetFinder.UpdateState updateError)66 {67 //云识别错误68 Debug.Log("云识别错误:" + updateError);69 70 }71 }
CloudRecoManage

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

 

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

 

转载于:https://www.cnblogs.com/ikay/p/6841797.html

你可能感兴趣的文章
组策略--受限制的组
查看>>
SQL Server数据库快照的工作方式
查看>>
解决Android版Firefox字体显示过大的问题
查看>>
[Command] alias - 别名
查看>>
Fedora 10编程开发工具
查看>>
paip..禁用mmseg 的默认词库. . 仅仅使用自定义词库from数据库.
查看>>
C# 仿金山毒霸启动和关闭淡入淡出效果
查看>>
[转载][Groovy] Groovy与Java的区别(一)
查看>>
使用mysqladmin ext了解MySQL运行状态【转】
查看>>
使用Bootstrap3和Ladda UI实现的多种按钮“加载中”效果体验
查看>>
[译]MVC网站教程(三):动态布局和站点管理
查看>>
CSS侧边栏宽度不动(更改页面宽度时),内容区宽度自适应
查看>>
传统媒体:广告都去哪儿了?
查看>>
排列生成算法注意事项
查看>>
Java核心知识点学习----多线程 倒计时记数器CountDownLatch和数据交换的Exchanger
查看>>
那些最好的轮子 - PHP篇
查看>>
采用Unity快速开发高质量游戏的若干优化建议
查看>>
10 001st prime number
查看>>
C#-MessageBox全部函数重载形式及举例
查看>>
滑板控制器
查看>>