OnMarkerFound 事件未被调用 - Unity3D ARToolKit
OnMarkerFound event not getting called - Unity3D ARToolKit
我正在尝试在 Unity3D 上使用 ARToolKit SDK 实现一些自定义行为。
根据文档 here,ARCamera
使用 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,将它们放在一个组中,让父对象成为事件接收者。
我正在尝试在 Unity3D 上使用 ARToolKit SDK 实现一些自定义行为。
根据文档 here,ARCamera
使用 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,将它们放在一个组中,让父对象成为事件接收者。