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。这个操作会覆盖上一次的设置或是服务器返回的数据。