首页 > 解决方案 > 统一录制 360° 视频不是 equirectangular

问题描述

我在 Unity 2018.2.10f1 中有一个时间线项目。我使用Unity Recorder导出360 ° 视频。这是设置:

在此处输入图像描述

但输出不是 equirectangular,不能作为 360° 视频播放:

在此处输入图像描述

出了什么问题以及如何解决?谢谢

2:1 视频

在此处输入图像描述

免费相机设置

在此处输入图像描述 在此处输入图像描述

标签: unity3d360-degrees360-virtual-reality

解决方案


Edit3:
显然问题是由Physical camera相机组件的设置引起的。关闭物理相机将按预期导出 equirectangular 图像/电影。

下面的信息仍然是相关的,但不是这个特定问题的确切解决方案。


您的设置现在不导出 equirectangular 图像,而是导出方形图像。等距矩形图像需要具有 2:1 的纵横比。而您当前的纵横比是 1:1。

在 Unity 记录器设置中,您已将“360 视图输出”设置为 2048x2048。导致您看到的方形图像。尝试将此设置为 4096x2048。这将产生一个纵横比为 2:1 的 4k 图像,这应该适用于 equirectangular 投影。

有关equirectangular 投影如何工作的更多信息,请参阅此页面。(强调我的)

扫描相机有时会覆盖超过一个 360° 转弯,但软件通常假定等距矩形图像水平覆盖 360° 和垂直 180°,即确保您的等距矩形图像具有 2:1 的适当纵横比


编辑:
查看 2:1 图片,Unity 似乎记录了一个立方体贴图,而不是一个 equirectangular 图像。您可能需要使用文档RenderTexture.ConvertToEquirect将立方体贴图转换为equirectangular :

if (renderStereo)
{
    cubemap.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Left);
    cubemap2.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Right);
}

看看这个Unity 沼泽,它更详细地介绍了 unity 如何使用立方体贴图/等角投影来自博客:

生成立体立方体贴图后,我们可以将这些立方体贴图转换为立体 equirectangular 贴图,这是 360 视频播放器使用的投影格式 [...] 要将立方体贴图转换为立体 equirectangular 贴图,请调用 RenderTexture.ConvertToEquirect()

Recorder可能需要调整“立方体贴图”上的宽度参数以获得所需的结果。但不确定哪个值最有效。

Edit2:
我创建了一个测试项目(在GitHub 上)。但是,尽管(似乎)具有相同的设置,但我没有得到与您相同的输出。我的输出看起来像一个非常精细的 equirectangular 图像(不需要进行任何转换,因为我认为可能需要如我的第一次编辑中所解释的那样)。

我的设置: Unity Recorder 的设置

输出: 360 equirectangular 输出图像


推荐阅读