Vuforia——VuMark 的使用

2023-11-05

一.创建KEY就不详说了


二.创建VuMark图片








Download DataBase 将资源导入 unity  其中Gnerate VuMark用于下载供手机扫描的不同ID图片



三,将图中两个预制物拖入Hierarchy中


填入key 勾选资源包


四,修改图片的Texture type



五,在VuMark物体上挂上如图脚本


五,新建一个物体 管理VuMark



六,编写脚本VuMarkMethod 


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;
public class VuMarkMethod : MonoBehaviour
{

	// I am girl!!!!
    public VuMarkManager mVuMarkManager;
    public int vuMarkID;
    private int defID = -1;
	void Start () {
        //赋值
        mVuMarkManager = TrackerManager.Instance.GetStateManager().GetVuMarkManager();
        //注册事件
        mVuMarkManager.RegisterVuMarkDetectedCallback(OnVuMarkDetected);
        mVuMarkManager.RegisterVuMarkLostCallback(OnVuMarkLost);
        vuMarkID = defID;
	}
    //当销毁时 注销事件
    void OnDestroy()
    {
        // unregister callbacks from VuMark Manager
        mVuMarkManager.UnregisterVuMarkDetectedCallback(OnVuMarkDetected);
        mVuMarkManager.UnregisterVuMarkLostCallback(OnVuMarkLost);
    }
   //当丢失图片时
    private void OnVuMarkLost(VuMarkTarget obj)
    {
        print("相机没有扫描到图片");
        // 将当前存储ID 改为默认ID
        vuMarkID = defID;
    }
    //当追踪到图片时 
    private void OnVuMarkDetected(VuMarkTarget obj)
    {
        print("相机扫描到了目标图片");
       //获取图片的ID
        vuMarkID = int.Parse(GetVuMarkString(obj));
    }
    //获取具体内容,最终返回string 类型
    private string GetVuMarkString(VuMarkTarget vumark)
    {
        switch (vumark.InstanceId.DataType)
        {
            case InstanceIdType.BYTES:
                return vumark.InstanceId.HexStringValue;
            case InstanceIdType.STRING:
                return vumark.InstanceId.StringValue;
            case InstanceIdType.NUMERIC:
                return vumark.InstanceId.NumericValue.ToString();
        }
        return "";
    }
}

七,另外 VuMarkBehaviour还提供的一些其他的获取当前状态的方法

 public VuMarkBehaviour vuMark;

//如果当前状态为没有找到目标状态 (当然还有其他枚举状态)

if (vuMark.CurrentStatus == TrackableBehaviour.Status.NOT_FOUND){  }


八,  在VuMark下建子物体 类似于像ImageTarget一样的功能


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vuforia——VuMark 的使用 的相关文章

随机推荐

  • 用Python进行面向对象编程:提高代码可重用性和扩展性

    数据来源 01 初识对象 生活中数据的组织 程序中数据的组织 使用对象组织数据 演示 演示使用对象组织数据 在程序中设计表格 我们称之为 设计类 class class Student name None 记录学生姓名 gender Non
  • [4G+5G专题-132]: 传输层 - 以太网电缆的类型(Cat5,Cat5e,Cat6,Cat6a)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121552941 目录 1 主要的技术
  • BUUCTF Misc 二维码 & 你jing然赶我走 & 大白 & N种方法解决 & 乌镇峰会种图1 & 基础po解

    目录 二维码 你竟然赶我走 大白 N种方法解决 乌镇峰会种图 基础po解 二维码 下载文件 一个二维码 使用 QR research扫描 扫描完提示flag就在这 把二维码拖入010 editor打开 有个txt文档 使用kali中的bin
  • win7安装vmtools

    打开该虚拟机的虚拟机设置 选择软盘 设备状态设置为启动时连接 连接选择使用物理驱动器并使用自动检测 如图所示 然后保存并退出设置 在虚拟机选项中就可以选择安装vmtools了 或者在该虚拟机中选择软盘进行安装
  • 一周简报(维护项目空间)

    这一周 是9月的第三周了 我依然战斗在XX海油上 本周我的主要任务是处理项目空间中的一个需求变更 顾客就是上帝 对于他们合理的需求 我们努力去做到尽善尽美 当然也要保证在客户要求的时间内去完成 在这个高节奏 快步伐的时代 效率和质量是大家追
  • Unity 游戏框架搭建 2019 (四十六) 简易消息机制

    在上一篇 我们接触了单例 使用单例解决了我们脚本之间访问的问题 脚本之间访问其实有更好的方式 我们先分下脚本访问脚本的几种形式 第一种 A GameObject 是 B GameObject 的 Parent 或者是中间隔着几个层级的 Pa
  • 蓝桥杯-高精度阶乘(Java代码)

    问题描述 输入一个正整数n 输出n 的值 其中n 123 n 算法描述 n 可能很大 而计算机能表示的整数范围有限 需要使用高精度计算的方法 使用一个数组A来表示一个大整数a A 0 表示a的个位 A 1 表示a的十位 依次类推 将a乘以一
  • 昆仑天工AIGC——基于Stable Diffusion的多语言AI作画大模型测评

    文章目录 1 AIGC 2 技术背景 2 1 Stable Diffusion 2 1 1 图像感知压缩 Perceptual Image Compression 2 1 2 隐扩散模型 Latent Diffusion Models 2
  • ModelSerializer序列化与反序列化(重点)

    视图类 class UserV3APIView APIView 单查群查 def get self request args kwargs pk kwargs get pk if pk user obj models User object
  • 2020年第十一届蓝桥杯第二场省赛B组C++题解

    2020年第十一届蓝桥杯第二场省赛B组C 题解 题单 第一题 第二题 第三题 第四题 第五题 第六题 第七题 第八题 题单 第一题 小蓝要为一条街的住户制作门牌号 这条街一共有 2020 位住户 门牌号从 1 到 2020 编号 小蓝制作门
  • Win10多用户远程桌面连接

    Win10远程桌面多用户连接 实验室的服务器需要多人同时登入 我在网上找到了能够成功使用Win 10 远程连接的方法 现在我把我的操作过程记录下来 供大家交流学习 文章目录 Win10远程桌面多用户连接 方法原理 一 使用步骤 1 下载RD
  • SeekBar自定义(颜色,大小,图片)

    要实现下面图的效果 import android os Bundle Seekbar 自定义 颜色 author Andy public class TestSeekBar extends Activity Override protect
  • Android Studio 3.0正式版填坑之路

    Android Studio 3 0启动图 序言 总看别人的文章 今天尝试着自己来写一篇 在逛论坛时候 无意间发现Android Studio 3 0正式版本推送更新了 早听说AS 3 0添加了许多新功能 然后手贱迫不及待地想先睹为快 结果
  • FreeRTOS系列

    本文主要介绍如何在任务或中断中向队列发送消息或者从队列中接收消息 使用STM32CubeMX将FreeRTOS移植到工程中 创建两个任务以及两个消息队列 并开启两个中断 两个任务 Keyscan Task 读取按键的键值 并将键值发送到队列
  • JavaScript异步编程---同步模式、异步模式、回调函数

    概述 众所周知 当前主流的JavaScript环境都是以单线程模式去执行代码的 其原因和当时设计该语言的初衷有关系 最早这门语言就是运行在浏览器上的脚本语言 目的是为了实现页面上的动态交互 其核心就是dom操作 该点决定了他必须要使用单线程
  • protobuf详细介绍和使用

    一 protobuf初识 一 protocol buffers 是什么 protocol buffers 是一种灵活 高效 自动化机制的结构数据序列化方法 可类比 XML 但是比 XML 更小 更快 更为简单 你可以定义数据的结构 然后使用
  • ChatGPT帮你30秒生成大师销售文案『AI效率神器』

    一篇好的销售文案大家都应该知道其重要性 但是 想要撰写一篇好的销售文案也并不容易 尤其是对于新手来说 需要有一定的写作技巧和经验 但是现在有了ChatGPT就不用担心啦 即便你是个完完全全的菜鸟 也可以利用AI轻松快速的模仿出销售大师才能撰
  • Git教程 - 如何新建干净的分支?(不基于其他分支)

    背景 分支整理 想要在原有GIT项目上创建一个新分支 但从浏览器端操作 发现都必须要基于其他分支创建 这样的话 新分支会包含旧分支的代码和历史提交信息 这里想创建一个空白的分支 尝试了以下方法解决 步骤 clone远程项目 git clon
  • Mybatis

    本文章根据尚硅谷在哔哩哔哩发布的视频的评论区中的网友 拂星星 提供的markdown文档整理而来 1 Mybatis简介 1 1 MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis 2010年6月这个项目由Apa
  • Vuforia——VuMark 的使用

    一 创建KEY就不详说了 二 创建VuMark图片 Download DataBase 将资源导入 unity 其中Gnerate VuMark用于下载供手机扫描的不同ID图片 三 将图中两个预制物拖入Hierarchy中 填入key 勾选