版本:Unity 6 (6000.0)
语言:English
使用视频播放器组件管理时钟
视频分析器模块

全景视频

Unity 的全景视频功能使您能够

  • 轻松包含以 360 度拍摄的真实世界视频。
  • 通过包含预渲染的背景视频而不是真实的几何体,减少场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建游戏。 更多信息
    请参阅 术语表
    VR虚拟现实 更多信息
    请参阅 术语表
    中的复杂性。

Unity 支持 180 度和 360 度视频,无论是在等距圆柱投影布局(经度和纬度)还是立方体贴图布局(6 帧)。

等距圆柱投影 2D 视频的纵横比图像比例尺寸的关系,例如宽度和高度。
请参阅 术语表
对于 360 内容应正好为 2:1,对于 180 内容应为 1:1。

Equirectangular 2D video
等距圆柱投影 2D 视频

立方体贴图 2D 视频的纵横比应为 1:6、3:4、4:3 或 6:1,具体取决于面的布局。

Cubemap 2D video
立方体贴图 2D 视频

要在 Unity 编辑器中使用全景视频功能,您必须能够访问全景视频剪辑,或了解如何创作它们。

此页面描述了在编辑器中显示任何全景视频的以下步骤

  1. 设置一个视频播放器,将视频源播放到渲染纹理

  2. 设置一个接收渲染纹理的天空盒材质。

  3. 将场景设置为使用天空盒材质。

注意:这是一个资源密集型功能。为了获得最佳视觉效果,请使用尽可能高的分辨率(通常为 4K 或 8K)的全景视频。大型视频需要更多的计算能力和资源才能进行解码。大多数系统对最大视频解码分辨率都有特定限制(例如,许多手机限制为 HD 或 2K,而旧版台式机可能限制为 2K 或 4K)。

1. 视频播放器设置

将您的视频作为资源导入 Unity。要创建视频播放器,请将视频资源从项目视图拖动到 Unity 层级视图的空白区域。默认情况下,这会将组件设置为为默认摄像机一个组件,用于创建场景中特定视点的图像。输出要么绘制到屏幕上,要么捕获为纹理。 更多信息
请参阅 术语表
播放全屏视频。按播放查看此内容。

您应该更改此行为,使其渲染到渲染纹理。这样,您可以精确控制其显示方式。为此,请转到资源游戏中或项目中可以使用的任何媒体或数据。资源可能来自在 Unity 外部创建的文件,例如 3D 模型、音频文件或图像。您还可以在 Unity 中创建某些资源类型,例如动画控制器、音频混音器或渲染纹理。 更多信息
请参阅 术语表
> 创建 > 渲染纹理一种特殊的纹理类型,在运行时创建和更新。要使用它们,首先创建一个新的渲染纹理,并指定其中一个摄像机渲染到其中。然后,您可以像使用常规纹理一样在材质中使用渲染纹理。 更多信息
请参阅 术语表

将渲染纹理的大小设置为与您的视频完全匹配。要检查视频的尺寸,请在资源文件夹中选择视频并查看检查器一个 Unity 窗口,显示有关当前选定的游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
请参阅 术语表
窗口。滚动到 Unity 预览视频的部分,在预览窗口中选择视频的名称,然后将其更改为源信息

接下来,将渲染纹理的深度缓冲区一个内存存储,用于保存图像中每个像素的 z 值深度,其中 z 值是从投影平面到每个渲染像素的深度。 更多信息
请参阅 术语表
选项设置为无深度缓冲区

Render Texture set to No depth buffer
渲染纹理设置为无深度缓冲区

现在,打开视频播放器检查器并将渲染模式切换到渲染纹理。将新的渲染纹理从资源视图拖动到目标纹理插槽。

进入播放模式以验证此功能是否正常工作。

视频不会在游戏窗口中渲染,但您可以选择渲染纹理资源以查看其内容是否随每个视频帧更新。

2. 创建天空盒材质

您需要将默认天空盒替换为视频内容,以将全景视频渲染为场景的背景。

为此,请创建一个新的材质(资源 > 创建 > 材质定义如何渲染表面的资源。 更多信息
请参阅 术语表
)。转到新材质的检查器并将材质的着色器设置为 Skybox/Panoramic(转到着色器在 GPU 上运行的程序。 更多信息
请参阅 术语表
> 天空盒一种特殊的材质类型,用于表示天空。通常是六面体。 更多信息
请参阅 术语表
> 全景)。

将渲染纹理从资源视图拖动到新材质检查器中的纹理插槽。

您必须正确识别视频中内容的类型(立方体贴图或等距圆柱投影),才能使全景视频正确显示。对于立方体贴图内容(例如十字形和条形布局,这对于静态天空盒纹理很常见),请将映射设置为6 帧布局

对于等距圆柱投影内容,请将映射设置为纬度经度布局,然后选择360 度180 度子选项。如果视频覆盖了完整的 360 度视图,请选择360 度选项。如果视频只是正面的 180 度视图,请选择180 度

查看材质检查器底部的预览。环顾四周并检查内容是否正确。

3. 将全景视频渲染到天空盒

最后,您必须将新的天空盒材质连接到场景。

  1. 打开灯光窗口(菜单:窗口 > 常规 > 灯光)。

  2. 将新的天空盒材质资源拖放到环境下的第一个插槽。

  3. 按播放以在天空盒上显示视频作为场景背景。

  4. 更改场景摄像机的方向以显示天空盒的不同部分(以及因此全景视频的不同部分)。

3D 全景视频

播放器设置中打开虚拟现实支持(菜单:编辑 > 项目设置一系列广泛的设置,允许您配置物理、音频、网络、图形、输入以及项目其他许多方面的行为。 更多信息
请参阅 术语表
,然后选择播放器类别,并打开XR 设置面板),尤其是在源视频具有立体内容的情况下。这将在天空盒/全景材质中解锁一个额外的3D 布局选项。3D 布局有三个选项:并排上下(默认值)。

如果视频在左侧包含左眼的內容,在右侧包含右眼的內容,请使用并排设置。如果左右内容在视频中上下放置,请选择上下。Unity 检测当前正在渲染的眼睛,并将此信息发送到天空盒/全景着色器,使用单通道立体渲染。当 Unity 在 VR 中渲染每个眼睛的内容时,着色器包含根据此信息选择视频正确一半的逻辑。

3D panoramic video
3D 全景视频

对于非 360 度 3D 视频(不应使用天空盒材质),当使用摄像机近/远平面渲染模式时,相同的3D 布局直接在视频播放器组件中可用。

立方体贴图视频的替代渲染纹理类型

在处理立方体贴图视频时,您可以让视频播放器直接渲染到渲染纹理立方体,而不是渲染到 2D 渲染纹理并保留精确的立方体贴图布局。

为此,请将渲染纹理资源的维度2D更改为立方体,并将渲染纹理的大小__设置为与源视频各个面的尺寸完全相同。

例如,如果您有一个 4 x 3 水平交叉立方体贴图布局视频,其尺寸为 4096 x 3072,请将渲染纹理的大小设置为 1024 x 1024(4096 / 4 和 3072 / 3)。

在渲染到立方体目标纹理时,视频播放器假设源视频包含以十字形或条形布局的立方体贴图(它使用视频纵横比确定)。然后,视频播放器使用正确的立方体面填充渲染纹理的面。

将生成的渲染纹理立方体用作天空盒。为此,请创建一个材质并将Skybox/Cubemap指定为着色器着色器 > 天空盒 > 立方体贴图六个方形纹理的集合,可以表示环境中的反射或几何体后面绘制的天空盒。这六个正方形形成了围绕对象的假想立方体的面;每个面都表示沿世界轴方向(上、下、左、右、前和后)的视图。 更多信息
请参阅 术语表
),而不是上面描述的天空盒/全景材质。

视频尺寸和转码

包含 3D 内容需要视频的宽度或高度的两倍(对应于并排上下布局)。

请记住,许多台式机硬件视频解码器限制为 4K 分辨率,而移动硬件视频解码器通常限制为 2K 或更低,这限制了这些平台上实时播放的分辨率。

您可以使用视频转码来生成全景视频的较低分辨率版本,但请注意避免在左右 3D 内容之间或立方体贴图面和相邻黑色区域之间引入出血。一般来说,您应该以 2 的幂尺寸创作视频,并转码到其他 2 的幂尺寸,以减少视觉伪影。


  • 2017 年 10 月 25 日 页面发布

  • 2017.3 版本中添加了 2D 和 3D 全景视频支持 NewIn20173

使用视频播放器组件管理时钟
视频分析器模块