ObjectTarget Class¶
这个类型是C#语言的 EasyAR Sense API: ObjectTarget 。页面中部分描述可能与Unity环境无关。
这个类型已经部分封装进Unity组件: ObjectTargetController 。在大部分情况下不需要直接使用这个类型的成员和实例。如果要使用一些没有被封装的接口,需要使用 ObjectTargetController.Target ,而非创建新的实例。
Description¶
ObjectTarget表示3D object target,它可以被 ObjectTracker 所跟踪。
ObjectTarget的大小由 obj 文件决定。可以通过修改 scale 达到修改size的目的。 scale 默认为1。
ObjectTarget通过 ObjectTracker.loadTarget 成功载入 ObjectTracker 之后可以被 ObjectTracker 检测和跟踪。
Methods¶
createFromParameters¶
- C#
public static Optional<ObjectTarget> createFromParameters( ObjectTargetParameters parameters)
从参数创建。
createFromObjectFile¶
- C#
public static Optional<ObjectTarget> createFromObjectFile(string path, StorageType storageType, string name, string uid, string meta, float scale)
从obj, mtl和jpg/png文件创建。
scale¶
- C#
public virtual float scale()
模型的缩放比例。其值为模型在空间中的物理大小与在模型坐标系中的大小的比值,默认值为1。(假设模型坐标系中的标尺单位为米)
boundingBox¶
- C#
public virtual List< Vec3F > boundingBox()
物体的包围盒,包括盒子的8个顶点。
顶点索引定义如下:
4-----7
/| /|
5-----6 | z
| | | | |
| 0---|-3 o---y
|/ |/ /
1-----2 x
setScale¶
- C#
public virtual bool setScale(float scale)
设置模型的缩放比例。设置之后会覆盖默认值以及在json文件中设的数值。其值为模型在空间中的物理大小与在模型坐标系中的大小的比值,默认值为1。(假设模型坐标系中的标尺单位为米)
还需要在渲染引擎中单独设置此模型缩放。
注意该设置需要在通过 ObjectTracker.loadTarget 载入 ObjectTracker 之前进行。
runtimeID¶
- C#
public override int runtimeID()
获取target id。target id是运行时创建的整型数据,只有在成功的配置之后才是有效(非0)的。这个id是非0且全局递增的。
uid¶
- C#
public override string uid()
获取target uid。ImageTarget的uid在云识别算法中使用。在没有接入云识别的时候,你可以在json配置中设置这个uid,在自己的代码中作为另一种区分target的方法。
name¶
- C#
public override string name()
获取target名字。名字用来在json文件中区分target。
setName¶
- C#
public override void setName(string name)
设置target名字。这个操作会覆盖上一次的设置或是服务器返回的数据。
meta¶
- C#
public override string meta()
获取setMetaData所设置的meta data。或者在云识别返回的target中,获得服务器所设置的meta data。
setMeta¶
- C#
public override void setMeta(string data)
设置meta data。这个操作会覆盖上一次的设置或是服务器返回的数据。