验证工具

添加工具

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

../_images/image_g5_4.png

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

../_images/image_g5_5.png

注意不要创建多次。如果场景中有多个同样的工具节点,可能无法正常工作。

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

../_images/image_g2_34.png

需要注意的是,做准备工作的时候(比如添加并使用标注工具),上述按钮需要 不能按下 ,需要在准备工作完成之后才可按下并使用。

准备工作

准备EIF数据

验证效果需要使用EIF数据,请使用 Mega Toolbox 的 EIF录制工具 录制EIF文件。录制结果中会保存.eif文件和.eif.json文件,这两个文件缺一不可。

填写 EasyAR Sense License Key

在网页上登录 EasyAR开发中心 ,获取 EasyAR Sense License Key

../_images/image_g5_1.png

在Unity菜单中打开 EasyAR > Sense > Configuration

../_images/image_g5_2.png

然后在打开的 Project Settings 窗口中填写从网站上复制的license key

../_images/image_g5_3.png

连接Mega定位服务

为了连接Mega云服务以验证效果,需要在场景中添加以下工具中的其中一个: 标注工具Block浏览工具Block浏览工具(Unity开发) 。如需查看标注数据包的数据,则只能使用 标注工具

在添加工具之后,需要在对应工具中选择所需验证的 Mega定位服务

../_images/image_g5_6.png

准备Block数据(可选)

为了直观的查看定位效果,一般建议加载对应区域的Block模型数据。请参照对应工具的说明进行加载,加载后场景中会显示Block数据。

../_images/image_g5_7.png

需要注意的是,如果使用 Block浏览工具 并加载了多个Block,运行效果可能不一定正确。使用 标注工具Block浏览工具(Unity开发) 加载多个Block则不会有问题。

准备标注数据(可选)

如果需要在定位时显示标注数据,可以使用 标注工具 导入或标注,导入后场景中会显示标注数据

../_images/image_g5_8.png

如果这时场景中Block和标注数据都已经导入,场景中都会显示

../_images/image_g5_9.png

使用 EIF回放功能

界面说明

../_images/image_g5_10.png
1. 打开EIF文件
2. 播放/暂停
3. 重新播放
4. 当前时间/总时间
5. 播放进度
6. 控制Block模型透明度
7. 显示/隐藏视频背景
8. 显示/隐藏Block模型
9. 显示/隐藏标注数据

运行场景

点击播放按钮运行当前场景

../_images/image_g5_11.png

打开EIF文件

../_images/image_g5_12.png

使用图中按钮打开EIF文件。刚开始的时候部分数据加载可能需要几秒时间,加载过程中EIF不会播放,背景会显示黑色。

../_images/image_g5_13.png

加载完成后EIF开始播放

../_images/image_g5_14.gif

在播放过程中按下按钮,弹出文件选择窗口期间EIF播放会暂停,如果选择了文件,会从头开始播放选择的文件,如果取消选择则会在原来暂停的地方继续播放。

播放/暂停

../_images/image_g5_15.gif

重新播放

../_images/image_g5_16.gif

当前时间/总时间

../_images/image_g5_17.png

播放进度

../_images/image_g5_18.png

控制Block模型透明度

调整透明度可以方便查看运行效果,判断现实场景与定位跟踪结果的重合度。

../_images/image_g5_19.gif

显示/隐藏视频背景

../_images/image_g5_20.png ../_images/image_g5_21.png

显示/隐藏Block模型

../_images/image_g5_22.png ../_images/image_g5_23.png

显示/隐藏标注数据

../_images/image_g5_24.png ../_images/image_g5_25.png

使用 远程效果验证功能

界面说明

../_images/image_g5_26.png ../_images/image_g5_27.png
1. 开始/停止定位
2. 定位结果指示器
3. 定位结果信息
4. 定位异常信息
5. 显示/隐藏定位信息
6. 显示/隐藏高级控制
7. 结果稳定器开关
8. 保存定位结果

运行场景

点击播放按钮运行当前场景

../_images/image_g5_11.png

打开eif文件

../_images/image_g5_12.png

使用图中按钮打开EIF文件。刚开始的时候部分数据加载可能需要几秒时间,加载过程中EIF不会播放,背景会显示黑色。

开始/停止定位

../_images/image_g5_28.png ../_images/image_g5_29.png

如果加载了Block数据或标注数据,在定位成功后,Game窗口会叠加显示相机画面、Block数据和标注数据。在Scene窗口中可以查看设备在Block中的位置。

../_images/image_g5_30.gif

定位结果指示器

../_images/image_g5_31.gif

指示器颜色说明

  • 绿色:定位到Block且设备VIO跟踪成功显示绿色,若无新的定位结果将在5s内渐变至透明;

  • 黄色:定位到Block但设备VIO跟踪失败显示黄色,若无新的定位结果将在5s内渐变至透明;

  • 白色:定位不到Block显示白色,若无新的定位结果将在5s内渐变至透明;

  • 红色:定位出错显示红色,在下次定位结果返回前保持显示;

../_images/image_g5_32.png ../_images/image_g5_33.png ../_images/image_g5_34.png ../_images/image_g5_35.png

定位结果信息

显示数据中有间隔一段时间更新的定位结果数据,这些数据反映了服务器返回的结果的一部分,主要用于问题分析和参考,它并不是最终设备每一帧准确的情况。

显示数据中有每帧更新的Pose数据,这个数据并不是服务器返回的数据,而是经过融合的跟踪数据,它反映的是每一帧的情况。

../_images/image_g5_36.png

定位异常信息

../_images/image_g5_37.png

显示/隐藏定位信息

../_images/image_g5_38.png ../_images/image_g5_39.png

显示/隐藏高级控制

../_images/image_g5_40.png ../_images/image_g5_41.png

结果稳定器开关

../_images/image_g5_42.png

打开开关时是正常的运行效果。一般只有在分析问题的时候才需要关闭。

保存定位结果

../_images/image_g5_43.png

在开启这个选项时定位,会将定位时刻的图像保存成png,定位结果也会存成json文件。文件存放在用户目录下,根据Unity工程配置会有不同。

在Windows上,数据存放在

%USERPROFILE%\AppData\LocalLow\(Company Name)\(Product Name)\MegaStudio\ResolveData\YYYY-MM-DD_HH-mm-ss

比如

%USERPROFILE%\AppData\LocalLow\DefaultCompany\New Unity Project\MegaStudio\ResolveData\2021-04-27_18-15-37

其中YYYY-MM-DD_HH-mm-ss以工具启动时间命名。Company Name和Product Name可以在Untiy的Project Settings中查看

../_images/image_g5_44.png

显示效果及Unity使用建议

调整Game窗口大小

窗口大小建议与EIF视频帧大小一致。一般建议使用大致与1080P相当的固定大小,比如1080x1920(横屏1920x1080)。

../_images/image_g5_45.png ../_images/image_g5_46.png

如果窗口大小与EIF视频帧差异较大,将无法查看完整的视频画面,工具也会显示警告信息。

调整场景光照

为了更好的观察渲染效果,可以根据需求添加和调整光照。如果没有Unity光照的特殊需求,可以让Unity自动生成环境光,

../_images/image_g5_47.png ../_images/image_g5_48.png

同时显示Scene窗口和Game窗口

有些时候需要同时查看Scene窗口和Game窗口的内容,这时候可以调整Unity默认窗口布局,根据需求调整Scene窗口和Game窗口的位置。

../_images/image_g5_49.png

Unity开发注意点

定位服务配置

如果你熟悉EasyAR Sense Unity Plugin,也可以在不使用标注工具或Block浏览工具的情况下,通过配置运行过程中MegaBlockTrackerFrameFilter节点上的服务器配置来选择定位库。

../_images/image_g5_50.png

ARSession

工具启动时会自动创建ARSession及其它必要的EasyAR组件,但如果场景中本身就有ARSession存在(active),则工具会使用场景中现有的组件。这时需要注意如果一些工具需要的组件不存在工具会抛出错误,而组件的状态不符合需求的时候,可能工具会工作不正常。

通常建议在使用工具时deactive场景中的ARSession,让工具自动创建组件,或者参考工具自动创建出来的组件去配置场景中的相关组件。

Main Camera

工具在运行时会修改main camera的Clear Flags和Background。Clear Flags会被改为Solid Color。Background会被改为黑色。

打包应用

EasyAR.Mega.Validation.Localize 和 EasyAR.Mega.Validation.FramePlayback 并未设计用来在用户开放的app中使用。

版本 >= 2.3 在使用2.3及更新版本时,打包应用前建议删除这两个节点,如不删除不会影响其它功能,但按下按钮将提示错误信息。

版本 <= 2.2 在使用2.2或老版本时,打包应用前必须删除这两个节点,否则可能会出现未知错误。

中心模式

在使用 标注工具Block浏览工具(Unity开发) 加载Block数据时,工具运行时可以使用所有可支持的中心模式。通常情况下推荐使用 First Target 中心模式。

在使用 Block浏览工具 加载Block数据时,工具运行时只能使用 First Target 中心模式。