标注工具¶
添加工具¶
在 Hierachy
面板空白处右键点击,选择 EasyAR Mega > Tool > Annotation Tool (Edit Mode)
添加后会多出来两个节点:
该工具是编辑时工具,只能在编辑器中且非运行状态使用。即需要在下图中的按钮 没有按下 时使用。
在运行时,工具相关节点和数据仍将在场景中保留,可以配合验证工具使用,但工具本身所有功能都不可使用。如果你在开发Unity应用,应在app打包到移动设备上之前删除场景中的 EasyAR.Mega.Annotation
节点。
工具模块说明¶
账号模块
云服务模块
Block模块
标注工具包模块
标注数据包模块
使用 Mega 云服务¶
访问自己的服务¶
登录EasyAR账号
选中 EasyAR.Mega.Annotation
节点,在 Inspector
面板中填写账号信息并登录
选择服务(可跳过并直接选择标注数据包)
点击 Mega Cloud Service
右侧按钮
选择 Mega 定位服务
访问他人的服务¶
使用服务入口
添加服务信息
点击 Mega Cloud Service
右侧按钮
添加服务信息
(服务信息可以从EasyAR 开发中心登录他人账号获取,应由该用户复制并提供)
使用 Block¶
查看 Block 列表¶
在选择服务或标注数据包之后,当前库中的Block列表会显示在 MegaBlocks
节点下,并显示在工具面板上。
刷新 Block 列表¶
Block列表不会随服务变化自动更新,如果在网页端添加或删除了Block,需点击刷新按钮进行数据同步
加载 Block¶
点击加载选择Block
点击后会先下载再加载
加载完成后,Block会显示在 Scene
窗口中。
载入后,可以在 Scene
窗口中操作,调整查看的视角位置。同时检查下Block文件是否可用(比如Block坐标系是否正常,是否过于模糊而无法找到位置摆放AR资源等)
注意:在这里可以查看的数据并不能直接反映Mega 定位服务的效果。
导出 Block¶
可以从Block数据中导出obj文件。
注意:这里的导出仅导出用于展示的部分数据,并不会导出用于定位的数据及其它工具内所使用的数据。EasyAR不提供所有数据的导出和私有存储服务。
点击后会先下载再导出
一般导出后会有多个文件,可以导入到建模软件或其它相关软件中使用
管理 Block 缓存¶
使用中下载的Block数据存储于用户目录下,根据Unity工程配置会有不同。这些文件有时候会占用非常多的空间。点击清空按钮可以清除文件缓存。
管理 Block 根节点¶
版本需求:>= 2.1
如果场景中存在多个工具创建出来的节点,可以选择任意一个为当前工具的管理节点。
这个节点不能被其它工具使用。选择一个不同的节点会重置内部状态,已加载的block会被自动删除。
如有需要,也可以新建一个节点。
管理 Block 全局坐标系¶
版本需求:>= 2.1
Mega默认使用GPS全局坐标系,在block数据有GPS信息时,工具会自动按GPS相对位置摆放不同的block。在这个模式下,block在场景中相对于根节点的位置是不能被改变的。
如果选择None,block将可以相对根节点自由移动,block之间的相对位置关系将在标注数据(ema文件)中导出。
使用 标注工具包¶
版本需求:>= 2.1
使用 标注工具 时,标注工具包会默认打开。当Block模块中存在数据时, Scene
窗口将显示工具。
工具界面说明:
创建标注(使用Scene View工具)¶
版本需求:>= 2.1
按住 Ctrl (Windows) / Command (Mac) 键,然后在需要标注的地方点击鼠标左键即可。
如果鼠标所指向区域是Block的一部分,标注数据将会以底面紧贴Block模型(或其上方的物体)的方式被创建出来。
如果鼠标所指向区域不是Block的一部分,点击鼠标时将会弹出选择创建的标注数据在哪个Block上。如果根节点有GPS信息,也可以使用GPS数据进行标注。
你可以选择创建Cube标注或Point标注,这个类型会在标注数据(ema文件)中体现。
你也可以在空间中批量创建标注数据。
批量创建时可以选择不同的标注类型,也可以随意调整标注间隔。
工具还提供了很多功能,使用时可以参考屏幕提示。常见的操作说明如下,
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
上使用 Ctrl
, Mac
上使用 Command
如遇到快捷键冲突,需要使用原本的Unity快捷键时,可以关闭标注工具包。
创建标注(使用Hierarchy View菜单)¶
使用这种方式创建Node时,标注数据将被创建在 Scene
窗口中央,如果中央有物体(比如block),标注数据将创建在其上方,否则会创建在一个浮空的位置。
选中需要标注的Block节点(一般名称为以 Block_
开头 ),右击选择 EasyAR Mega > Annotation > *
添加
可以添加不同类型的标注节点(立方体、点)或标注数据组 ( 版本需求:>= 2.1
)
也可以选中注数据组之后进行创建( 版本需求:>= 2.1
)
创建标注(使用快捷键)(已废弃)¶
版本需求:< 2.1
选中需要标注的Block节点(一般名称为以 Block_
开头 ),然后在 Scene
窗口中将鼠标移动到需要标注的地方,按下快捷键 Alt + 1
( Option + 1
)添加
使用这种方式,标注数据将会以底面紧贴Block模型的方式被创建出来。
修改标注¶
标注数据节点可以根据需要进行命名,名字会体现在标注结果中。
创建之后Annotation可以随意移动,标注的节点可以调整位置、旋转和缩放,这些信息将会被记录在标注结果中。
需要注意的是,如果在场景树中位置不正确(比如不在 Block_
开头的节点下),标注数据将不会被导出。
管理标注数据¶
标注之后,标注结果可以导出成ema文件。ema文件是个json格式的文件,其格式定义可以参考ema格式说明。
在没有标注数据的场景中导入ema文件,可以将ema文件中的标注结果添加到场景中。要导入ema,首先需保证场景中已经通过工具添加了对应的Block,如果Block不存在,导入ema将失败。
可以使用清空按钮来清空当前场景中的标注数据。
可以选择导入ema时场景中现有数据的处理方式, 合并
将在导入后与场景中现有数据合并, 覆盖
则会在完全清空场景数据之后再进行导入。(2.1之前版本的导入方式为 合并
。)
这个选项也会影响存储于服务器的 标注数据包 的导入方式。
使用 标注数据包¶
标注数据包是存储于 Mega 定位服务中的ema数据。它可以在 Mega Toolbox的验证工具中使用,也可以由应用开发者自由使用。
选择标注数据包¶
点击标注数据包右侧按钮
选择 Mega 定位服务
并创建标注数据包
点击 +
后,在输入框中输入任意名称,然后点击 √
完成创建。
选择创建好的标注数据包
上传标注数据¶
标注完成后,可以更新标注数据到服务器。
上传标注数据之后,在 Mega Toolbox 中的验证工具中可以使用,使用EasyAR账号登录 Toolbox,并选择该标注数据包即可进行现场跟踪定位验证。
在标注数据更新到服务器后,还可在对应服务管理中查看该记录。
点击进入之后可以看到标注内容的一部分细节。
注意:同步到服务器端的数据仅包含标注数据本身(可以导出标注文件查看详细信息)。若在Unity中添加了模型,模型内容将不会同步到服务端。EasyAR不提供模型存储和动态加载服务。
获取标注数据¶
如需再使用该标注数据包,可以在选中该标注数据包后,从服务器更新标注数据到工具中,标注数据将显示在对应位置上。
中断与恢复¶
在使用中如需保存当前工作,并在下次继续使用,有两种做法。
保存Unity场景
使用Unity菜单或快捷键保存场景
下次使用时通过菜单或直接双击打开保存的场景
版本 >= 2.3
在使用2.3及更新版本时,保存场景将不会保存block模型数据。下次打开场景后选择工具,会提示进行加载。
版本 <= 2.2
在使用2.2或老版本时,但保存和加载速度会比较慢,且当加载的数据较多的时候场景会保存或加载失败。
保存工具节点的Prefab
选中 EasyAR.Mega.Annotation
节点并拖拽到 Project
窗口中Assets文件夹下,然后不保存直接关闭场景。
下次使用创建新场景然后从Assets文件夹中将保存的Prefab拖到场景中。
如果创建Prefab时场景中已经加载了Block数据,下次添加到场景中时会提示进行加载。