ImageTargetBaseBehaviour Class

Description

ImageTargetBaseBehaviour是在AR场景中控制ImageTarget的component。

你需要设置ImageTargetBaseBehaviour为与target相关需要显示的3D内容的父节点。Augmenter与跟踪到的Target之间的相对位置(transform )是由EasyAR控制的。

为了使用ImageTargetBaseBehaviour(让tracker跟踪ImageTargetBaseBehaviour内部的target),你必须先使用图片或json设置(setup)这个component然后将这个ImageTargetBaseBehaviour加载到TrackerBaseBehaviour中。

通常有两种方法可以设置(setup)这个component。一个是设ActiveTargetOnStart为true然后设置一些变量(Name、Path、Size和Storage),加载操作将会在 MonoBehaviour.Start中被调用。另一个方法是手动调用SetupWith* 方法。你也可以在任意时间使用SetupWith* 方法重新加载target。

在设置(setup)之后你需要把ImageTargetBaseBehaviour加载进TrackerBaseBehaviour。同样也有两种方法,一个是在SetupWith* 调用或是 MonoBehaviour.Start (当ActiveTargetOnStart为true的时候)之前Bind一个TrackerBaseBehaviour,然后ImageTargetBaseBehaviour会自动被加载进TrackerBaseBehaviour。另一种放方法是手动调用 TrackerBaseBehaviour.LoadImageTargetBehaviour 或者 LoadIntoTrackerBehaviour

Public Fields

bool ActiveTargetOnStart
string Name
string Path
Vector2 Size
StorageType Storage
ImageTarget Target

Public Properties

List<TrackerBaseBehaviour> Loaders (until 1.2.1)
List<ImageTrackerBaseBehaviour> Loaders (since 1.3.0)

Public Functions

void Bind(TrackerBaseBehaviour behaviour) (until 1.2.1)
void Bind(TrackerBaseBehaviour behaviour) (since 1.3.0)
void UnBind(TrackerBaseBehaviour behaviour) (until 1.2.1)
void LoadIntoTrackerBehaviour(TrackerBaseBehaviour trackerBaseBehaviour) (until 1.2.1)
void UnloadFromAllTrackers() (until 1.2.1)
bool SetupWithImage(string path, StorageType storageType, string targetname, Vector2 size)
bool SetupWithJsonFile(string path, StorageType storageType, string targetname)
bool SetupWithJsonString(string json, StorageType storageType, string targetname)
bool SetupWithTarget(ImageTarget target)

Public Events

event Action<ImageTargetBaseBehaviour> TargetFound (since 1.3.0)
event Action<ImageTargetBaseBehaviour> TargetLost (since 1.3.0)
event Action<ImageTargetBaseBehaviour, ImageTrackerBaseBehaviour, bool> TargetLoad (since 1.3.0)
event Action<ImageTargetBaseBehaviour, ImageTrackerBaseBehaviour, bool> TargetUnload (since 1.3.0)

Overwritten MonoBahaviour Functions

protected virtual void Awake()
protected virtual void OnDestroy()
protected virtual void Start()
protected virtual void Update()

bool ActiveTargetOnStart

是否在 MonoBehaviour.Start 被调用时加载target。

string Name

target名字。如果ActiveTargetOnStart为true,set操作应该在 MonoBehaviour.Start 之前调用。这个值将在target的自身加载之后以及target加载进入tracker之后更新。

详见 ImageTarget.Load/ImageTarget.LoadImage/ImageTarget.LoadJsonFile/ImageTarget.LoadJsonString

string Path

target的路径。如果ActiveTargetOnStart为true,set操作应该在 MonoBehaviour.Start 之前调用。这个值将在target的自身加载之后以及target加载进入tracker之后更新。

详见 ImageTarget.Load/ImageTarget.LoadImage/ImageTarget.LoadJsonFile/ImageTarget.LoadJsonString 以及 StorageType

Vector2 Size

target的大小。如果ActiveTargetOnStart为true,set操作应该在 MonoBehaviour.Start 之前调用,并且只有非{0, 0}值会被用来初始化Target的大小。这个值将在target的自身加载之后以及target加载进入tracker之后更新。

详见 ImageTarget.Load/ImageTarget.LoadImage/ImageTarget.LoadJsonFile/ImageTarget.LoadJsonString

StorageType Storage

target存储位置的类型。 如果ActiveTargetOnStart为true,set操作应该在 MonoBehaviour.Start 之前调用。这个值将在target的自身加载之后以及target加载进入tracker之后更新。

详见 ImageTarget.Load/ImageTarget.LoadImage/ImageTarget.LoadJsonFile/ImageTarget.LoadJsonString 以及 StorageType

ImageTarget Target

ImageTarget物体。你可以通过Target获得更加高级的控制。详见 ImageTarget

List<TrackerBaseBehaviour> Loaders (until 1.2.1)

List<ImageTrackerBaseBehaviour> Loaders (since 1.3.0)

当前加载了这个component的所有loader(TrackerBaseBehaviour)。

void Bind(TrackerBaseBehaviour behaviour) (until 1.2.1)

void Bind(ImageTrackerBaseBehaviour behaviour) (since 1.3.0)

Binds TrackerBaseBehaviour。在bind了TrackerBaseBehaviour之后,所有SetupWith*的成功调用或是 MonoBehaviour.Start (当ActiveTargetOnStart为true)将会自动跟随一个 TrackerBaseBehaviour.LoadImageTargetBehaviour 调用,将这个component加载入TrackerBaseBehaviou r。如果没有bind则必须手动调用 TrackerBaseBehaviour.LoadImageTargetBehaviourLoadIntoTrackerBehaviour 将component加载进入TrackerBaseBehaviour,这样target才可以被 tracker检测和跟踪。

1.3版本中Bind的行为有很大变化。它不再仅仅是静态绑定,同时也替代了LoadIntoTrackerBehaviour(1.3之前)的功能 , 而Bind(null)则完成了UnloadFromAllTrackers(1.3之前)的功能。

void UnBind(TrackerBaseBehaviour behaviour) (until 1.2.1)

Unbind TrackerBaseBehaviour。在1.3及以后版本中,请使用Bind(null)。

void LoadIntoTrackerBehaviour(TrackerBaseBehaviour trackerBaseBehaviour) (until 1.2.1)

加载这个component以及它的target进入TrackerBaseBehaviour。这个方法与 TrackerBaseBehaviour.LoadImageTargetBehaviour 相同。在1.3及以后版本中,请使用Bind。

void UnloadFromAllTrackers() (until 1.2.1)

从所有Loader(TrackerBaseBehaviour)中卸载这个component。在1.3及以后版本中,请使用Bind(null) 。

bool SetupWithImage(string path, StorageType storageType, string targetname, Vector2 size)

通过图片配置这个component。详见 ImageTarget.LoadImage

component上之前存在的Target将会从所有Loader上卸载。你需要重新加载这个component到TrackerBaseBeha viour才能被tracker跟踪。

bool SetupWithJsonFile(string path, StorageType storageType, string targetname)

通过json文件配置这个component。详见 ImageTarget.LoadJsonFile

component上之前存在的Target将会从所有Loader上卸载。你需要重新加载这个component到TrackerBaseBeha viour才能被tracker跟踪。

bool SetupWithJsonString(string json, StorageType storageType, string targetname)

通过json字符串配置这个component。详见 ImageTarget.LoadJsonString

component上之前存在的Target将会从所有Loader上卸载。你需要重新加载这个component到TrackerBaseBeha viour才能被tracker跟踪。

bool SetupWithTarget(ImageTarget target)

通过加载好的Target或是云端返回的Target来配置这个component。关于如何加载target可以参见 ImageTarget.Load/ImageTarget.LoadImage/ImageTarget.LoadJsonFile/ImageTarget.LoadJsonString

component上之前存在的Target将会从所有Loader上卸载。你需要重新加载这个component到TrackerBaseBehaviour才能被tracker跟踪。

event Action<ImageTargetBaseBehaviour> TargetFound (since 1.3.0)

Target找到事件。

event Action<ImageTargetBaseBehaviour> TargetLost (since 1.3.0)

Target丢失事件。

event Action<ImageTargetBaseBehaviour, ImageTrackerBaseBehaviour, bool> TargetLoad (since 1.3.0)

Target加载结束事件。

event Action<ImageTargetBaseBehaviour, ImageTrackerBaseBehaviour, bool> TargetUnload (since 1.3.0)

Target卸载结束事件。