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

Leo*_*rak 5 unity-game-engine 360-degrees 360-virtual-reality

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

在此处输入图片说明

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

在此处输入图片说明

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

2:1 视频

在此处输入图片说明

免费相机设置

在此处输入图片说明 在此处输入图片说明

Rem*_*_rm 3

Edit3: \n显然该问题是由相机组件上的设置
引起的。Physical camera关闭物理相机将按预期导出等距柱状图像/电影。

\n\n

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

\n\n
\n\n

您的设置现在不会导出等距柱状图像,而是导出方形图像。等距柱状图像的长宽比要求为 2:1。而您当前的纵横比是 1:1。

\n\n

在 Unity 录制器设置中,您已将“360 度视图输出”设置为 2048x2048。结果就是您看到的方形图像。尝试将其设置为 4096x2048。这将生成纵横比为 2:1 的 4k 图像,该图像适用于等距柱状投影。

\n\n

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

\n\n
\n

扫描相机有时会覆盖超过一圈 360\xc2\xb0,但软件通常假设等距柱状图像水平覆盖 360\xc2\xb0,垂直覆盖 180\xc2\xb0,即确保等距柱状图像的长宽比正确为 2: 1 .

\n
\n\n


\n编辑:
\n查看 2:1 图片,Unity 似乎记录了立方体贴图,而不是等距柱状图像。您可能需要使用文档将立方体贴图转换为RenderTexture.ConvertToEquirect等距矩形

\n\n
if (renderStereo)\n{\n    cubemap.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Left);\n    cubemap2.ConvertToEquirect(equirect, Camera.MonoOrStereoscopicEye.Right);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

看看这个Unity 博客,其中更详细地介绍了 Unity 如何使用立方体贴图/等距矩形投影\n来自博客:

\n\n
\n

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

\n
\n\n

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

\n\n

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

\n\n

我的设置:\nUnity 录音机的设置

\n\n

输出:\n360 等距柱状投影输出图像

\n