教程1:开发物体识别应用

首先,请确保工程中已导入AuraSDK,并且已经在开发者工具窗口中选择了要被识别的模具(参考“快速入门:创建你的第一个应用”)。

然后,新建场景,或者打开已有的场景,会发现场景中存在一个叫做AURA(Clone)的物体,这就说明当前场景已经准备就绪,我们可以进行开发。

模具放在影见投影区域内将会触发3个阶段的事件,分别为:模具被检测到、模具被移动和模具丢失。

1.创建一个继承自 AURABehaviour 的脚本

开发者通过创建一个继承自AURABehaviour的脚本来得到“获取检测信息”的能力。

重要说明:继承自AURABehaviour的脚本,如果声明了Awake或者OnDestroy函数,请务必在Awake中调用base.Awake(),OnDestroy中调用base.OnDestroy()以确保功能正常)

2. 模具被检测到

当模具刚被放置到投影区域内将会触发“模具被检测到”的事件,通常用于模型的实例化。

OnObjectDetected 的声明形式为:


        void OnObjectDetected (ObjectInfo objectInfo)
        
参数说明:objectInfo:为ObjectInfo类型,包含检测到的模具信息 (模具的name, id, 三维位姿,轮廓点)。

3. 模具位置姿态更新

当模具位姿发生变化时将会触发“模具位置姿态更新”的事件,通常用于更新模型的位姿。

OnObjectUpdated 的声明形式为:


        void OnObjectUpdated (ObjectInfo objectInfo)
        
参数说明:objectInfo:为ObjectInfo类型,包含检测到的模具信息 (模具的name, id, 三维位姿,轮廓点)。

4. 模具丢失

当模具被从投影区域拿走时将会触发“模具丢失”的事件,通常用于销毁场景中的模型。

OnObjectLost 的声明形式为:


        void OnObjectLost (ObjectInfo objectInfo)
        
参数说明:objectInfo:为ObjectInfo类型,包含检测到的模具信息 (模具的name, id, 三维位姿,轮廓点)。