高通AR 的cloud研究
原文地址:https://developer.vuforia.com/forum/unity-3-extension-technical-discussion/please-explain-step-step-how-use-vuforia-cloud
首先,你需要注册free Cloud Recognition developer账号,然后在Targe Manager创建一个Cloud DataBase
https://developer.vuforia.com/targetmanager
完成后,将会给你Access Keys,在你的AR程序中用那个Client Access Keys去请求数据库,
Server Access keys用来准备和管理你的云端targets的。
你可以往Cloud DataBase添加targets,使用Target Manager--选择Add Target 并且上传图片和相应的数据文件到数据库。
当你创建完成Cloud DataBase 并且targets设置完成,你就可以将Client Access keys填入到CloudRecoBehaviour这个组建的参数里了。
你可以从Qualcomm Augmented Reality/Prefabs folder中找到CloudRecognition 这个prefab,把他拽到hierarchy面板。
然后,加入一个CloudRecoEventHandler.cs到CloudRecognition这个物体上(下面会介绍)。这将能让你捕获图片扫描结果,结果将以TargetFinder.TargetSearchResult的结构返回给你。
public struct TargetSearchResult
{
// name of the target
public string TargetName;
// system-wide unique id of the target.
public string UniqueTargetId;
/// width of the target (in 3D scene units)
public float TargetSize;
// metadata associated with this target
public string MetaData;
//tracking rating for this target
/**
* The tracking rating represents a 5-star rating describing the
* suitability of this target for tracking on a scale from 0 to 5. A low
* tracking rating may result in poor tracking or unstable augmentation.
*/
public byte TrackingRating;
// pointer to native search result
public IntPtr TargetSearchResultPtr;
}
要显示返回的target,你需要用一个Image Target Template,它其实就是一个ImageTarget实例,在你的场景中你将他当成虚拟物体模板。你需要做的是把这个ImageTargets拖到CloudRecoEventHandler组件上的Image Target Template field这个参数上。
另外,你要做自己的设计的话,也可以用下面这个精简版的SimpleCloudRecoEventHandler.cs. 你需要获得的数据可以在OnNewSearchResult()方法中调用。
using System;
using UnityEngine;
/// <summary>
/// This MonoBehaviour implements the Cloud Reco Event handling for this sample.
/// It registers itself at the CloudRecoBehaviour and is notified of new search results.
/// </summary>
public class SimpleCloudRecoEventHandler : MonoBehaviour, ICloudRecoEventHandler
{
#region PRIVATE_MEMBER_VARIABLES
// CloudRecoBehaviour reference to avoid lookups
private CloudRecoBehaviour mCloudRecoBehaviour;
// ImageTracker reference to avoid lookups
private ImageTracker mImageTracker;
#endregion // PRIVATE_MEMBER_VARIABLES
#region EXPOSED_PUBLIC_VARIABLES
/// <summary>
/// can be set in the Unity inspector to reference a ImageTargetBehaviour that is used for augmentations of new cloud reco results.
/// </summary>
public ImageTargetBehaviour ImageTargetTemplate;
#endregion
#region ICloudRecoEventHandler_IMPLEMENTATION
/// <summary>
/// called when TargetFinder has been initialized successfully
/// </summary>
public void OnInitialized()
{
// get a reference to the Image Tracker, remember it
mImageTracker = (ImageTracker)TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER);
}
/// <summary>
/// initialization errors
/// </summary>
public void OnInitError(TargetFinder.InitState initError)
{
}
/// <summary>
/// update errors
/// </summary>
public void OnUpdateError(TargetFinder.UpdateState updateError)
{
}
/// <summary>
/// updates to the scanning state
/// </summary>
public void OnStateChanged(bool scanning)
{
}
/// <summary>
/// Handles new search results
/// </summary>
/// <param name="targetSearchResult"></param>
public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult)
{
// duplicate the referenced image target
GameObject newImageTarget = Instantiate(ImageTargetTemplate.gameObject) as GameObject;
// enable the new result with the same ImageTargetBehaviour:
ImageTargetBehaviour imageTargetBehaviour = mImageTracker.TargetFinder.EnableTracking(targetSearchResult, newImageTarget);
if (imageTargetBehaviour != null)
{
// stop the target finder
mCloudRecoBehaviour.CloudRecoEnabled = false;
}
}
#endregion // ICloudRecoEventHandler_IMPLEMENTATION
#region UNTIY_MONOBEHAVIOUR_METHODS
/// <summary>
/// register for events at the CloudRecoBehaviour
/// </summary>
void Start()
{
// register this event handler at the cloud reco behaviour
CloudRecoBehaviour cloudRecoBehaviour = GetComponent<CloudRecoBehaviour>();
if (cloudRecoBehaviour)
{
cloudRecoBehaviour.RegisterEventHandler(this);
}
// remember cloudRecoBehaviour for later
mCloudRecoBehaviour = cloudRecoBehaviour;
}
#endregion // UNTIY_MONOBEHAVIOUR_METHODS
}
这个程序将会自动调用扫描功能,你可以控制扫描状态,通过设置
CloudRecoBehaviour.CloudRecoEnabled = true || false
你不需要用ContentManager物体。那是例子中用来从服务器返回JSON数据用的。
高通AR 的cloud研究相关推荐
- 关于unity增强现实AR之高通AR(vufoia)的研究
研究高通AR有段时间了,具体到识别去官网上注册,打包,将包导入unity3d,需要注意的是识别图片大小问题. 关于识别多物体总结一下: 首先还是一样去官网上打包,https://developer.v ...
- Unity3D制作高通AR(增强现实)图片识别应用
最近在做游戏和AR,反正能做就做,这里简单介绍下高通AR图片识别的应用制作. 高通官网:https://developer.vuforia.com/ 首选下载unity3d的开发包 然后注册账号,登录 ...
- 高通AR增强现实Unity3D
高通AR增强现实Unity3D | 浏览: 780 | 更新: 2013-04-02 13:04 35 75 AR: 增强现实,台湾翻译叫做扩张实境 1.注册.然后下载sdk(注册账号主要是为了第3步 ...
- Unity Vuforia(高通)AR
Unity Vuforia制作AR软件 使用过高通AR.百度AR.EasyAR,还是觉得高通的使用起来更加简易.今天就记录一下怎么使用Vuforia制作一个可识别2D图片与3D物体的AR软件. 使用步 ...
- unity开发-高通Ar
今天没什么事干,就来搞下这个高通AR,用unity做一个简单的小demo,我会把原项目发给大家,顺便说下步骤,让大家看下,一起学习下. 骚年们先看下效果图吧! 最终项目是发布在手机上的,然后运行,扫描 ...
- 基于高通AR SDK的Demo总结(一)——常规3D模型的行为脚本
下载高通AR SDK以及在Unity中的基本搭建不再阐述,具体给出dzyi大神的文章以便参阅:http://blog.csdn.net/dzyi_/article/details/22892641 这 ...
- 高通AR增强现实最新教程unity3d
高通AR增强现实最新教程 之前网上很多有关于高通AR增强现实的教程,教我们unity的龙哥跟我们说这方面的时候便去搜了搜,但是很不巧的是,这玩意在前几天刚刚更新了,所以.......这应该是目前最新的 ...
- Unity 高通AR
今天测试一下高通AR,使用Unity5.6.4. 首先下载高通SDK,下载地址: https://developer.vuforia.com/downloads/sdk 下载完成后,把我们下载的uni ...
- Unity 高通AR发布到Android发生黑屏
这两天在做Unity 高通AR发布到Android的时候发生黑屏现象 后来发觉是不调用摄像头而不是黑屏(所谓黑屏是因为摄像头背景就是黑色的) 最后发觉是高通的文件夹出现错误 重新复制之前备份的一个高通 ...
最新文章
- ACL 2021 | 腾讯AI Lab、港中文杰出论文:用单语记忆实现高性能NMT
- 生产订单修改记录的跟踪方法!
- JavaWeb-综合案例(用户信息)-学习笔记04【删除选中功能】
- Mysql 面试常问5 让你根据业务写出比较复杂的SQL,往往和 Group BY 与 Having 相关
- commit分拆多个 git_Git操作:在多个分支之间,使用git am打patch和同步分支
- 同样是软件测试工程师,为什么性能测试月薪更高?
- 【JAVA】synchronized关键字
- NGINX(四)配置解析
- Chrome升级 76.0.3809.87后 GreenChrome无法使用的办法
- 跨平台客户端开发经验总结
- 武汉大学计算机考研复试考什么,2018武汉大学计算机考研复试经验贴
- echarts 力导向关系图
- 学完了C++语法之后该学什么??(网络基础篇)
- 小米 红米5A 线刷兼救砖_解账户锁_纯净刷机包_教程
- 扫读 | Towards Personalized Federated Learning
- 雍禾医疗上市的喜和忧:获80倍超额认购,利润开始下滑,成本高企
- JVM参数 KV设值类型
- c语言中sin67 怎么表示,sin68°sin67°-sin23°cos68°的值为( )A.-22B.22C.32D.1 - 作业在线问答...
- Beaglebone black 蚂蚁矿机L3+控制板 angstorm SSH 远程登录
- 神州数码易拓TIPTOP ERP集成WEB应用(使用Flexigrid插件)
热门文章
- Scala - Idea 项目报错 Cannot resolve symbol XXX
- rk3399 rv1126上使用wk2124
- SpringMVC 之类型转换Converter详解转载
- 聚观早报 | 科技巨头组建元宇宙组织,苹果缺席;推特董事会批准马斯克收购交易​;TikTok调整欧盟用户相关权利
- P1255 数楼梯(笔记侵删)(C语言)
- C++之模板初阶:甩锅编译器
- auc指标含义的理解
- Wikiwand——更酷的wiki打开方式
- mysql rownum写法_MySQL 的 RowNum 实现
- 戏说计算机发展史,戏说计算机与哲学