我在Unity 2018.2.10f1中有一个时间轴项目。我使用throw app_error{"FAILED: Exception code is ", exceptionInteger, ". Unable to create ", 5, " needed resources."};
来导出 360°视频。这是设置:
但是输出不是矩形的,不能作为360°视频播放:
出了什么问题以及如何解决?谢谢
2: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上)。但是,尽管(似乎)具有相同的设置,但我却没有得到与您相同的输出。我的输出看起来像是一个完美的等矩形图像(不需要进行任何转换,正如我第一次编辑中所解释的那样,我认为可能是不需要的)。