标注工具

添加工具

Hierachy 面板空白处右键点击,选择 EasyAR Mega > Tool > Annotation Tool (Edit Mode)

../_images/image_g2_1.png

添加后会多出来两个节点:

../_images/image_g2_2.png

该工具是编辑时工具,只能在编辑器中且非运行状态使用。即需要在下图中的按钮 没有按下 时使用。

../_images/image_g2_34.png

在运行时,工具相关节点和数据仍将在场景中保留,可以配合验证工具使用,但工具本身所有功能都不可使用。如果你在开发Unity应用,应在app打包到移动设备上之前删除场景中的 EasyAR.Mega.Annotation 节点。

工具模块说明

../_images/image_g2_27.png
  1. 账号模块

  2. 云服务模块

  3. Block模块

  4. 标注工具包模块

  5. 标注数据包模块

使用 Mega 云服务

访问自己的服务

  1. 登录EasyAR账号

选中 EasyAR.Mega.Annotation 节点,在 Inspector 面板中填写账号信息并登录

../_images/image_g2_3.png
  1. 选择服务(可跳过并直接选择标注数据包)

点击 Mega Cloud Service 右侧按钮

../_images/image_g2_12.png

选择 Mega 定位服务

../_images/image_g2_13.png

访问他人的服务

  1. 使用服务入口

../_images/image_g2_14.png
  1. 添加服务信息

点击 Mega Cloud Service 右侧按钮

../_images/image_g2_15.png

添加服务信息

../_images/image_g2_16.png

(服务信息可以从EasyAR 开发中心登录他人账号获取,应由该用户复制并提供)

../_images/image_g2_17.png

使用 Block

查看 Block 列表

在选择服务或标注数据包之后,当前库中的Block列表会显示在 MegaBlocks 节点下,并显示在工具面板上。

../_images/image_g2_8.png

刷新 Block 列表

Block列表不会随服务变化自动更新,如果在网页端添加或删除了Block,需点击刷新按钮进行数据同步

../_images/image_g2_20.png

加载 Block

点击加载选择Block

../_images/image_g2_9.png

点击后会先下载再加载

../_images/image_g2_10.png

加载完成后,Block会显示在 Scene 窗口中。

../_images/image_g2_11.png

载入后,可以在 Scene 窗口中操作,调整查看的视角位置。同时检查下Block文件是否可用(比如Block坐标系是否正常,是否过于模糊而无法找到位置摆放AR资源等)

注意:在这里可以查看的数据并不能直接反应Mega 定位服务的效果。

导出 Block

可以从Block数据中导出obj文件。

../_images/image_g2_29.png

注意:这里的导出仅导出用于展示的部分数据,并不会导出用于定位的数据及其它工具内所使用的数据。EasyAR不提供所有数据的导出和私有存储服务。

点击后会先下载再导出

../_images/image_g2_30.png

一般导出后会有多个文件,可以导入到建模软件或其它相关软件中使用

../_images/image_g2_31.png

管理 Block 缓存

使用中下载的Block数据存储于用户目录下,根据Unity工程配置会有不同。这些文件有时候会占用非常多的空间。点击清空按钮可以清除文件缓存。

../_images/image_g2_33.png

管理 Block 根节点

版本需求:>= 2.1

如果场景中存在多个工具创建出来的节点,可以选择任意一个为当前工具的管理节点。

../_images/image_g2_39.png

这个节点不能被其它工具使用。选择一个不同的节点会重置内部状态,已加载的block会被自动删除。

如有需要,也可以新建一个节点。

../_images/image_g2_40.png

管理 Block 全局坐标系

版本需求:>= 2.1

../_images/image_g2_41.png

Mega默认使用GPS全局坐标系,在block数据有GPS信息时,工具会自动按GPS相对位置摆放不同的block。在这个模式下,block在场景中相对于根节点的位置是不能被改变的。

如果选择None,block将可以相对根节点自由移动,block之间的相对位置关系将在标注数据(ema文件)中导出。

使用 标注工具包

版本需求:>= 2.1

使用 标注工具 时,标注工具包会默认打开。当Block模块中存在数据时, Scene 窗口将显示工具。

../_images/image_g2_42.png

工具界面说明:

../_images/image_g2_43.png
1. 展示工具节点
2. 关闭标注工具包,关闭后需使用6重新打开
3. 单点标注/批量标注 选择
4. 标注节点类型 选择
5. 操作提示及开关
6. 打开/关闭工具包
7. 导入/导出/清空 标注数据
8. 导入标注数据(文件或标注数据包)使用的导入方式

创建标注(使用Scene View工具)

版本需求:>= 2.1

按住 Ctrl (Windows) / Command (Mac) 键,然后在需要标注的地方点击鼠标左键即可。

../_images/image_g2_45.gif

如果鼠标所指向区域是Block的一部分,标注数据将会以底面紧贴Block模型(或其上方的物体)的方式被创建出来。

如果鼠标所指向区域不是Block的一部分,点击鼠标时将会弹出选择创建的标注数据在哪个Block上。如果根节点有GPS信息,也可以使用GPS数据进行标注。

../_images/image_g2_49.png

你可以选择创建Cube标注或Point标注,这个类型会在标注数据(ema文件)中体现。

../_images/image_g2_46.gif

你也可以在空间中批量创建标注数据。

../_images/image_g2_47.gif

批量创建时可以选择不同的标注类型,也可以随意调整标注间隔。

../_images/image_g2_48.gif

工具还提供了很多功能,使用时可以参考屏幕提示。常见的操作说明如下,

  • Shift + 单击左键: 调整视角及旋转中心到鼠标所指向的Block区域

单点标注模式:

  • Shift + 单击左键: 调整视角及旋转中心到鼠标所指向的Block区域

  • Ctrl/Command + 单击左键: 创建标注节点

  • Ctrl/Command + 单击右键: 显示菜单(可以重新对齐选中的标注,或是在有GPS信息时复制GPS)

批量标注模式:

  • Shift + 单击左键: 调整视角及旋转中心到鼠标所指向的Block区域

  • Ctrl/Command + (shift) + 单击左键: 开始/继续创建批量标注区域,按住shift时对齐到水平面

  • Ctrl/Command + (shift) + 双击左键: 结束创建批量标注区域(可提前结束来创建线或面)

  • Esc 删除批量标注区域: 取消批量标注创建

  • 选中批量标注区域 + 单击右键: 显示菜单(批量标注区域创建完成后,可以在区域内创建标注)

导航点图模式:

  • Ctrl/Command + 单击右键: 取消选中

以上 Ctrl/Command 表示在 Windows 上使用 CtrlMac 上使用 Command

如遇到快捷键冲突,需要使用原本的Unity快捷键时,可以关闭标注工具包。

创建标注(使用Hierarchy View菜单)

使用这种方式创建Node时,标注数据将被创建在 Scene 窗口中央,如果中央有物体(比如block),标注数据将创建在其上方,否则会创建在一个浮空的位置。

选中需要标注的Block节点(一般名称为以 Block_ 开头 ),右击选择 EasyAR Mega > Annotation > * 添加

../_images/image_g2_19.png

可以添加不同类型的标注节点(立方体、点)或标注数据组 ( 版本需求:>= 2.1

也可以选中注数据组之后进行创建( 版本需求:>= 2.1

../_images/image_g2_44.png

创建标注(使用快捷键)(已废弃)

版本需求:< 2.1

选中需要标注的Block节点(一般名称为以 Block_ 开头 ),然后在 Scene 窗口中将鼠标移动到需要标注的地方,按下快捷键 Alt + 1Option + 1 )添加

../_images/image_g2_18.png

使用这种方式,标注数据将会以底面紧贴Block模型的方式被创建出来。

修改标注

标注数据节点可以根据需要进行命名,名字会体现在标注结果中。

../_images/image_g2_21.png

创建之后Annotation可以随意移动,标注的节点可以调整位置、旋转和缩放,这些信息将会被记录在标注结果中。

需要注意的是,如果在场景树中位置不正确(比如不在 Block_ 开头的节点下),标注数据将不会被导出。

../_images/image_g2_22.png

管理标注数据

标注之后,标注结果可以导出成ema文件。ema文件是个json格式的文件,其格式定义可以参考ema格式说明。

../_images/image_g2_28.png

在没有标注数据的场景中导入ema文件,可以将ema文件中的标注结果添加到场景中。要导入ema,首先需保证场景中已经通过工具添加了对应的Block,如果Block不存在,导入ema将失败。

可以使用清空按钮来清空当前场景中的标注数据。

可以选择导入ema时场景中现有数据的处理方式, 合并 将在导入后与场景中现有数据合并, 覆盖 则会在完全清空场景数据之后再进行导入。(2.1之前版本的导入方式为 合并 。)

../_images/image_g2_50.png

这个选项也会影响存储于服务器的 标注数据包 的导入方式。

使用 标注数据包

标注数据包是存储于 Mega 定位服务中的ema数据。它可以在 Mega Toolbox的验证工具中使用,也可以由应用开发者自由使用。

选择标注数据包

点击标注数据包右侧按钮

../_images/image_g2_4.png

选择 Mega 定位服务 并创建标注数据包

../_images/image_g2_5.png

点击 + 后,在输入框中输入任意名称,然后点击 完成创建。

../_images/image_g2_6.png

选择创建好的标注数据包

../_images/image_g2_7.png

上传标注数据

标注完成后,可以更新标注数据到服务器。

../_images/image_g2_23.png

上传标注数据之后,在 Mega Toolbox 中的验证工具中可以使用,使用EasyAR账号登录 Toolbox,并选择该标注数据包即可进行现场跟踪定位验证。

在标注数据更新到服务器后,还可在对应服务管理中查看该记录。

../_images/image_g2_24.png

点击进入之后可以看到标注内容的一部分细节。

../_images/image_g2_25.png

注意:同步到服务器端的数据仅包含标注数据本身(可以导出标注文件查看详细信息)。若在Unity中添加了模型,模型内容将不会同步到服务端。EasyAR不提供模型存储和动态加载服务。

获取标注数据

如需再使用该标注数据包,可以在选中该标注数据包后,从服务器更新标注数据到工具中,标注数据将显示在对应位置上。

../_images/image_g2_26.png

中断与恢复

在使用中如需保存当前工作,并在下次继续使用,有两种做法。

  1. 保存Unity场景

使用Unity菜单或快捷键保存场景

../_images/image_g2_37.png

下次使用时通过菜单或直接双击打开保存的场景

../_images/image_g2_38.png

版本 >= 2.3 在使用2.3及更新版本时,保存场景将不会保存block模型数据。下次打开场景后选择工具,会提示进行加载。

版本 <= 2.2 在使用2.2或老版本时,但保存和加载速度会比较慢,且当加载的数据较多的时候场景会保存或加载失败。

  1. 保存工具节点的Prefab

选中 EasyAR.Mega.Annotation 节点并拖拽到 Project 窗口中Assets文件夹下,然后不保存直接关闭场景。

../_images/image_g2_35.png

下次使用创建新场景然后从Assets文件夹中将保存的Prefab拖到场景中。

../_images/image_g2_36.png

如果创建Prefab时场景中已经加载了Block数据,下次添加到场景中时会提示进行加载。