OnMarkerFound 事件未被调用 - Unity3D ARToolKit

OnMarkerFound event not getting called - Unity3D ARToolKit

我正在尝试在 Unity3D 上使用 ARToolKit SDK 实现一些自定义行为。
根据文档 hereARCamera 使用 BroadcastMessage 系统调用 OnMarkerFound(ARMarker marker)OnMarkerLost(ARMarker marker) 以在找到或丢失标记时发出通知。
但是,我根本无法启动这些功能。我已经浏览了整个源代码,添加了调试监视,工作......但是这两个事件没有触发。
我的脚本如下所示:

using UnityEngine;
using System.Collections;

public class CustomTrack : MonoBehaviour {
    void OnMarkerFound(ARMarker marker){
        Debug.Log("MARKER FOUND! WHEEEE!");
    }

    void OnMarkerLost(ARMarker marker){
        Debug.Log("MARKER LOST! WHEEEE!");
    }

    void OnMarkerTracked(ARMarker marker){
         Debug.Log("MARKER TRACKED! WHEEEE!");
    }
}

我在论坛等地方看到其他几个人也遇到了类似的问题,所以如果能最终找到解决这个问题的方法就好了。


编辑 - 答案

只是为了解释我做了什么让这个工作,按照@bleater所说的,我将 GameObject 添加到 ARTrackedObject 然后将我的 CustomScript 添加到 GameObject。我犯的一个错误是将 CustomScript 附加到 ARMarkerScene。所以,那奏效了。我希望这对其他人也有用。

文档有点过时,因为自 ARToolKit for Unity v5.2 起,这些事件由 ARTrackedObject 组件生成。接收事件的对象必须连接到 ARTrackedObject 上的 "Event receiver",这在编辑器中公开:

由于使用了BroadcastMessage,事件接收者和任何子对象都会收到消息,所以如果你需要调用多个GameObject,将它们放在一个组中,让父对象成为事件接收者。