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¶
Public Properties¶
Public Functions¶
Public Events¶
Overwritten MonoBahaviour Functions¶
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.LoadImageTargetBehaviour 或 LoadIntoTrackerBehaviour 将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卸载结束事件。