FrameRecording

  • 演示如何录制eif文件

  • 演示如何使用eif文件进行回放和调试

用法

../../_images/image_21.png
Recorder: 切换到frame录制模式。
Player: 切换到frame回放模式。
Record/Playback/Stop: 启动/停止录制或回放。

详解

场景中的Frame recorder

如果要使用frame录制功能,需要在场景中添加 FrameRecorder。详细的配置说明可以参考脚本中的API文档。

../../_images/image_s21_1.png

可以在inspector或脚本中设置保存录制的eif文件的文件路径。这个样例在脚本中设置。

启动/停止 FrameRecorder

可以使用 FrameRecorder.enabled 开关FrameRecorder。

recorder.enabled = val;

场景中的Frame player

如果要使用frame播放功能,需要在场景中添加 FramePlayer。详细的配置说明可以参考脚本中的API文档。

../../_images/image_s21_2.png

可以在inspector或脚本中设置需要播放的eif文件的文件路径。这个样例在脚本中设置。

启动/停止 FramePlayer

可以使用 FramePlayer.PlayFramePlayer.Stop 开关FramePlayer。

if (val)
{
    player.Play();
}
else
{
    player.Stop();
}

FramePlayer是一种FrameSource,使用时需要禁用场景中的VideoCameraDevice和VIOCameraDevice。

eif文件的使用

FrameRecorder生成的eif文件可以用作设备调试。在设备上录制eif文件后,frame(包括图像、相机参数、跟踪状态等)讲被存储在文件中。这个文件可以在Windows或Mac上模拟运动跟踪功能,驱动稀疏空间地图或稠密空间地图工作。

使用这个样例,可以在Android或iOS设备上录制eif并在Windows或Mac上播放,只需要修改脚本中的文件路径即可。

如果需要录制eif并用作运动跟踪或空间地图的调试,需要在录制的时候在场景中使用VIOCameraDevice。

录制的eif文件不是运行时数据的完整拷贝,低端设备上录制的数据帧率可能会降低。