高通Vuforia(Unity3D)云识别初级使用教程
高通Vuforia(Unity3D)云识别初级使用教程
最近因项目开发需要,接触了高通的AR引擎Vuforia云识别,个人感觉稳定性还是很不错的,唯一不爽的地方就是免费的云识别库每个月只能识别1000次,想继续使用只能重新再建一个云识别库或者拿钱了(苦逼)。。。
正赶上现在有点时间,也把自己这段时间所学到的给大家分享一下,比较小白,打算勿喷(ha ha ha ha ...)
先上传送门:
高通Vuforia:https://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)云识别初级使用教程的更多相关文章
- 高通vuforia+Unity3D 制作ar app
很简单就可以用Unity3D做出增强现实的一个小例子 新人第一次写博客,若出现错误望指正^_^ 需要下载de东西: unity3d 5.0 http://unity3d.com/get-unity ...
- [AR]高通Vuforia Getting Started
Vuforia Getting Started 简介 Vuforia创建增强现实应用程序是一个软件平台.开发人员可以轻松地将先进的计算机视觉功能添加到任何应用程序中,允许它识别图像和对象,或在现实 ...
- GJM : Unity3D 高通Vuforia SDK AR 开发
一.AR概念: 增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实.是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息 ...
- Unity+高通Vuforia SDK——AR
一.AR概念: 增强现实(Augmented Reality,简称AR),是在虚拟现实的基础上发展起来的新技术,也被称之为混合现实.是通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息 ...
- 这几天用高通VUFORIA的体会
VUFORIA 主要用来做图像识别,先把图片上至网站,然后网站分析生成数据包 在UNITY中导入VUFORIA SDK和数据包后,就可以正常使用了 对了,数据包需要勾选Load Active那个选项, ...
- 高通Vuforia
这里使用高通的Vuroria来做一个AR歌姬. 工具: Vuforia,MMD4Mecanim 模型: 初音未来pmd模型文件,极乐净土vmd动作文件. 逻辑: 当发现识别卡时:开启音乐,模型速度为1 ...
- Unity3d使用高通Vuforia发布IOS工程不支持64位的一些解决办法
1.将Unit升级至4.6.x或5.0.x,将Vuforia差距升级到最新版本(vuforia-unity-mobile-android-ios-4-0-105 ) 2.平台Other Setting ...
- [AR]高通Vuforia之Frame Markers
软件环境 SDK:FrameMarkers-6-0-112.unitypackage(从官网 -> Download -> Samples -> Core Features 下载 ) ...
- UNITY使用高通Vuforia导出XCode包编译出错
1.referenced from: in libVuforia.a 此处重新导入引用库并按http://game.ceeger.com/forum/read.php?tid=20447(三楼处理方式 ...
随机推荐
- 重磅!阿里发布《Java开发手册(泰山版)》
最近,阿里的<Java开发手册>又更新了,这个版本历经一年的修炼,取名:<Java开发手册(泰山版)>正式出道. 正所谓无规矩不成方圆,在程序员的世界里,也存在很多规范,阿里出 ...
- React Hooks: useCallback理解
useCallback把匿名回调“存”起来 避免在component render时候声明匿名方法,因为这些匿名方法会被反复重新声明而无法被多次利用,然后容易造成component反复不必要的渲染. ...
- Java中基础类基础方法(学生类)(手机类)
学生类: //这是我的学生类class Student { //定义变量 //姓名 String name; //null //年龄 int age; //0 //地址 String address; ...
- 用Python打造电脑人脸屏幕解锁神器附带接头暗号!
前言 最近突然有个奇妙的想法,就是当我对着电脑屏幕的时候,电脑会先识别屏幕上的人脸是否是本人,如果识别是本人的话需要回答电脑说的暗语,答对了才会解锁并且有三次机会.如果都没答对就会发送邮件给我,通知有 ...
- Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)
目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...
- JS 获取浏览器
function getInfo() { var s = ""; s = " 网页可见区域宽:" document.body.clientWidth; s = ...
- swoole学习--图文直播和聊天室
其实这个也没有什么好值得记录的,但是前面都记下来了,我也顺便说说吧: 1.为了方便,最好把http服务声明为超全局变量. 2.在一些地方里面,你声明的http超全局变量是用不了的,你只能用他自己内置的 ...
- dotnetcore配置框架简介
一.前言 配置的本质就是字符串的键值对,微软的一系列接口其实就是对这些键值对字符串的抽象. 二.基本类型 2.1.Nuget包 Microsoft.Extensions.Configuration.A ...
- CentOS7编译安装NodeJS
概述 在CentOS7下采用编译NodeJS二进制源码包的方式安装NodeJS 下载NodeJS安装包 你可以先下载NodeJS二进制源码安装包文件然后上传到CentOS系统,也可以通过wget命令直 ...
- 删除集群mds
2019独角兽企业重金招聘Python工程师标准>>> 删除cephfs文件系统步骤: 1.停掉服务端mds: #systemctl stop {mds_service} 2.将md ...