ObjectTrackerBaseBehaviour Class¶
Inherits: DeviceUserAbstractBehaviour
Description¶
ObjectTrackerBaseBehaviour 是在AR场景中控制ObjectTracker的component。
ObjectTracker可以检测和跟踪3D物体。ObjectTracker检测和跟踪 ObjectTarget 。你可以通过StartTrack/StopTrack来开始和停止跟踪。StartTrack 和StopTrack 是非常轻量的调用。
一个 ObjectTrackerBaseBehaviour 需要 Bind 到一个 DeviceAbstractBehaviour 才能正常工作。如果在一切启动之前 ObjectTrackerBaseBehaviour 就已经在场景中,这个工作通常会由 ARBuilder 自动完成。如果你在后面某个时刻将这个 component 添加到场景中,请保证调 Bind 它到一个 DeviceAbstractBehaviour 上,比如 Bind 到一个 CameraDeviceBaseBehaviour 上。
ObjectTargetBaseBehaviour 必须先被加载到ObjectTrackerBaseBehaviour中它内部的target才能被跟踪。加载可以通过显式调用 LoadObjectTargetBehaviour 或调用 ObjectTargetBaseBehaviour.Bind 隐式实现。
当 target 被检测到或丢失的时候,可以收到 TargetAbstractBehaviour.TargetFound / TargetAbstractBehaviour.TargetLost 以及 ARCameraBaseBehaviour.TargetFound / ARCameraBaseBehaviour.TargetLost 事件。
你可以使用 ARCameraBaseBehaviour.FrameUpdate 来获取一帧 Frame 。Frame中包含当前的camera图像和跟踪到的 TargetInstance 。
Public Properties¶
Public Functions¶
Public Events¶
Overwritten MonoBahaviour Functions¶
List<ObjectTargetBaseBehaviour> LoadedTargetBehaviours¶
当前加载进这个component的所有ObjectTargetBaseBehaviour。
int SimultaneousNum¶
最大可被tracker跟踪的目标个数。默认值为1。
void LoadObjectTargetBehaviour(ObjectTargetBaseBehaviour ObjectTargetBaseBehaviour)¶
将ObjectTargetBaseBehaviour以及它内部的target加载进这个component。只能在没有调用 ObjectTargetBaseBehaviour.Bind 的时候调用这个方法。详见 ObjectTargetBaseBehaviour.Bind 。
void UnloadObjectTargetBehaviour(ObjectTargetBaseBehaviour ObjectTargetBaseBehaviour)¶
从这个component中卸载ObjectTargetBaseBehaviour和它的target。
bool StartTrack()¶
开始跟踪。跟踪只有在 behaviour 被 Bind 到一个 DeviceAbstractBehaviour 之后才会开始。如果在一切启动之前 ObjectTrackerBaseBehaviour 就已经在场景中,这个工作通常会由 ARBuilder 自动完成。
bool StopTrack()¶
停止跟踪。可以通过StartTrack来再次开启跟踪功能。
event Action<ObjectTrackerBaseBehaviour, ObjectTargetBaseBehaviour, Target, bool> TargetLoad¶
Target加载事件。
event Action<ObjectTrackerBaseBehaviour, ObjectTargetBaseBehaviour, Target, bool> TargetUnload¶
Target卸载事件。