统一录制360°视频不是矩形

时间:2019-12-08 19:54:30

标签: unity3d 360-degrees 360-virtual-reality

我在Unity 2018.2.10f1中有一个时间轴项目。我使用throw app_error{"FAILED: Exception code is ", exceptionInteger, ". Unable to create ", 5, " needed resources."}; 导出 360°视频。这是设置:

enter image description here

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

enter image description here

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

2:1视频

enter image description here

免费相机设置

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

Edit3:
显然,此问题是由相机组件上的Physical camera设置引起的。关闭“物理相机”将按预期导出等矩形图像/电影。

下面的信息仍然有用,但不能完全解决此特殊问题。


您的设置当前不会导出等角矩形图像,而是可导出方形图像。等角矩形图像的纵横比必须为2:1。而您当前的长宽比是1:1。

在Unity记录器设置中,您已将“ 360视图输出”设置为2048x2048。生成您所看到的正方形图像。尝试将其设置为4096x2048。这将产生纵横比为2:1的4k图像,该图像应适用于等角矩形投影。

See this page了解有关等角投影如何工作的更多信息。 (强调我的)

  

扫描相机有时可以覆盖一个360°的转弯,但是软件通常会假设等角矩形的图像水平覆盖360°,垂直覆盖180°。确保您的等边矩形图像的长宽比为2:1 。


编辑:
查看2:1图片,看来Unity记录了一个立方体贴图,而不是等矩形图像。您可能需要使用the docs中的RenderTexture.ConvertToEquirect将立方体贴图转换为等角矩形:

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

看看这个Unity bog,它进一步详细介绍了团结如何使用立方体贴图/矩形三角形投影 来自博客:

  

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

可能需要调整Recorder上的“多维数据集映射”宽度参数以获得所需的结果。但是不确定哪个值最合适。

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

我的设置: Settings of the Unity Recorder

输出: 360 equirectangular output image