原文地址: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研究相关推荐

  1. 关于unity增强现实AR之高通AR(vufoia)的研究

    研究高通AR有段时间了,具体到识别去官网上注册,打包,将包导入unity3d,需要注意的是识别图片大小问题. 关于识别多物体总结一下: 首先还是一样去官网上打包,https://developer.v ...

  2. Unity3D制作高通AR(增强现实)图片识别应用

    最近在做游戏和AR,反正能做就做,这里简单介绍下高通AR图片识别的应用制作. 高通官网:https://developer.vuforia.com/ 首选下载unity3d的开发包 然后注册账号,登录 ...

  3. 高通AR增强现实Unity3D

    高通AR增强现实Unity3D | 浏览: 780 | 更新: 2013-04-02 13:04 35 75 AR: 增强现实,台湾翻译叫做扩张实境 1.注册.然后下载sdk(注册账号主要是为了第3步 ...

  4. Unity Vuforia(高通)AR

    Unity Vuforia制作AR软件 使用过高通AR.百度AR.EasyAR,还是觉得高通的使用起来更加简易.今天就记录一下怎么使用Vuforia制作一个可识别2D图片与3D物体的AR软件. 使用步 ...

  5. unity开发-高通Ar

    今天没什么事干,就来搞下这个高通AR,用unity做一个简单的小demo,我会把原项目发给大家,顺便说下步骤,让大家看下,一起学习下. 骚年们先看下效果图吧! 最终项目是发布在手机上的,然后运行,扫描 ...

  6. 基于高通AR SDK的Demo总结(一)——常规3D模型的行为脚本

    下载高通AR SDK以及在Unity中的基本搭建不再阐述,具体给出dzyi大神的文章以便参阅:http://blog.csdn.net/dzyi_/article/details/22892641 这 ...

  7. 高通AR增强现实最新教程unity3d

    高通AR增强现实最新教程 之前网上很多有关于高通AR增强现实的教程,教我们unity的龙哥跟我们说这方面的时候便去搜了搜,但是很不巧的是,这玩意在前几天刚刚更新了,所以.......这应该是目前最新的 ...

  8. Unity 高通AR

    今天测试一下高通AR,使用Unity5.6.4. 首先下载高通SDK,下载地址: https://developer.vuforia.com/downloads/sdk 下载完成后,把我们下载的uni ...

  9. Unity 高通AR发布到Android发生黑屏

    这两天在做Unity 高通AR发布到Android的时候发生黑屏现象 后来发觉是不调用摄像头而不是黑屏(所谓黑屏是因为摄像头背景就是黑色的) 最后发觉是高通的文件夹出现错误 重新复制之前备份的一个高通 ...

最新文章

  1. ACL 2021 | 腾讯AI Lab、港中文杰出论文:用单语记忆实现高性能NMT
  2. 生产订单修改记录的跟踪方法!
  3. JavaWeb-综合案例(用户信息)-学习笔记04【删除选中功能】
  4. Mysql 面试常问5 让你根据业务写出比较复杂的SQL,往往和 Group BY 与 Having 相关
  5. commit分拆多个 git_Git操作:在多个分支之间,使用git am打patch和同步分支
  6. 同样是软件测试工程师,为什么性能测试月薪更高?
  7. 【JAVA】synchronized关键字
  8. NGINX(四)配置解析
  9. Chrome升级 76.0.3809.87后 GreenChrome无法使用的办法
  10. 跨平台客户端开发经验总结
  11. 武汉大学计算机考研复试考什么,2018武汉大学计算机考研复试经验贴
  12. echarts 力导向关系图
  13. 学完了C++语法之后该学什么??(网络基础篇)
  14. 小米 红米5A 线刷兼救砖_解账户锁_纯净刷机包_教程
  15. 扫读 | Towards Personalized Federated Learning
  16. 雍禾医疗上市的喜和忧:获80倍超额认购,利润开始下滑,成本高企
  17. JVM参数 KV设值类型
  18. c语言中sin67 怎么表示,sin68°sin67°-sin23°cos68°的值为( )A.-22B.22C.32D.1 - 作业在线问答...
  19. Beaglebone black 蚂蚁矿机L3+控制板 angstorm SSH 远程登录
  20. 神州数码易拓TIPTOP ERP集成WEB应用(使用Flexigrid插件)

热门文章

  1. Scala - Idea 项目报错 Cannot resolve symbol XXX
  2. rk3399 rv1126上使用wk2124
  3. SpringMVC 之类型转换Converter详解转载
  4. 聚观早报 | 科技巨头组建元宇宙组织,苹果缺席;推特董事会批准马斯克收购交易​;TikTok调整欧盟用户相关权利
  5. P1255 数楼梯(笔记侵删)(C语言)
  6. C++之模板初阶:甩锅编译器
  7. auc指标含义的理解
  8. Wikiwand——更酷的wiki打开方式
  9. mysql rownum写法_MySQL 的 RowNum 实现
  10. 戏说计算机发展史,戏说计算机与哲学