美文网首页
【Vuforia 琐碎知识 2】ImageTarget 自定义跟

【Vuforia 琐碎知识 2】ImageTarget 自定义跟

作者: 大刀和长剑 | 来源:发表于2019-03-12 11:03 被阅读0次

本文的测试环境:

  • macOS Mojave 10.14.2 / MacBook Pro 2015
  • Unity 2018.3.8f1
  • Vuforia 8.0.10

非常简单,只需要创建一个脚本,你可以命名为CustomTrackableEventHandler, 然后:

  • 继承DefaultTrackableEventHandler,
  • 重载父类的函数
  • ImageTarget上的DefaultTrackableEventHandler换成CustomTrackableEventHandler

例子如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CustomTrackableEventHandler : DefaultTrackableEventHandler
{
    protected override void OnTrackingFound()
    {
        var o = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        o.transform.SetParent(mTrackableBehaviour.transform);
        o.transform.localPosition = Vector3.zero;
        o.transform.localRotation = Quaternion.identity;
        o.transform.localScale = Vector3.one;
    }
    protected override void OnTrackingLost()
    {
        if (transform.childCount != 0)
            Destroy(transform.GetChild(0).gameObject);
    }
}

你可以打开DefaultTrackableEventHandler查看,这个类里面只有下面这点东西:

  • mTrackableBehaviour m_PreviousStatus m_NewStatus
  • Start OnDestroy
  • OnTrackableStateChanged
  • OnTrackingFound OnTrackingLost

根据需要重写代码就行了,有点无脑,没多大意思。

DefaultTrackableEventHandler开头就是注释:

/// <summary>
/// A custom handler that implements the ITrackableEventHandler interface.
///
/// Changes made to this file could be overwritten when upgrading the Vuforia version.
/// When implementing custom event handler behavior, consider inheriting from this class instead.
/// </summary>

它就表示需要自定义跟踪事件处理程序的话,可以考虑继承这个类。

如果你千辛万苦找到这里才解决你的问题,那么我就要告诉你了:😂😂😂,没事翻翻源代码还是很有用的。

相关文章

网友评论

      本文标题:【Vuforia 琐碎知识 2】ImageTarget 自定义跟

      本文链接:https://www.haomeiwen.com/subject/lmhgpqtx.html