Vuforia——VuMark 的使用

一.创建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一样的功能


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值