包含此页的版本:
不含此页的版本:
Alpha 透明度允许视频或图像序列的某些部分显示为半透明或完全透明。
如果您想创建叠加层和视觉效果,透明视频非常有用,因为您可以在 Unity 中对视频进行分层场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您可以放置环境、障碍物和装饰,实质上是分部分设计和构建游戏。更多信息
请参阅术语表.
本页概述了 alpha 透明度,解释了视频中不同类型的透明度,并描述了 Unity 如何处理和转码 alpha 值以用于透明视频。
alpha 值确定视频的透明度级别或像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。像素光照是在每个屏幕像素下计算的。更多信息
请参阅术语表在视频中。
Alpha 值可以采用 0 到 1 或 0 到 255 范围内的任何值。此范围允许透明度的平滑和渐进变化。
| 价值 | 透明度级别 |
|---|---|
| 最低 (0) | 图像或像素是完全透明的。 |
| 最高(1 或 255) | 图像或像素完全不透明。 |
| 中间值 | 图像或像素部分透明。您可以同时查看图像及其后面的背景。 |
alpha 值是控制整个视频的图像还是像素取决于值的类型:全局或每像素。
视频播放器组件在播放相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表的近平面或远平面。更改此值时,视频中的每个像素都会更改透明度。如果将值设置为0.0f,整个视频变得完全透明。
有关如何更改全局 Alpha 值透明度的说明,请参阅更改整个视频的透明度(全局 Alpha)。
视频可以具有每像素的 alpha 值,这意味着透明度可能会在视频图像中有所不同。例如,视频的背景是透明的,而前景中的对象是不透明的。
有关如何导入每像素 Alpha 视频的说明,请参阅更改视频中像素的透明度(每像素 Alpha)。
有关 Unity 支持的透明格式,请参阅支持的每像素 alpha 透明度编解码器。
在 Unity 中使用透明视频时,在某些情况下,可能需要对视频进行转码,以确保其支持使用 alpha 值。如果出现以下情况,则需要对视频进行转码:
当您对具有 alpha 值的视频(例如 WebM 视频)进行转码时,Unity 会将 alpha 值打包到颜色流中。此过程允许您将透明视频与 H.264 和 VP8 一起使用。
在此过程中,Unity 会将视频的图像宽度加倍。例如,如果您有一个带有 alpha 值的 1280 x 720 视频,则在内部这将成为 2560 x 720 视频。
将视频宽度加倍后,生成的文件包含两个部分:
然后,着色器将两半重新打包到 RGBA 中,从而在视频播放器中生成最终纹理。之后,视频输出可以显示透明度。有关这些着色器(自动包含在构建中的)的列表,请转到 项目设置(Project Settings) > 图形(Graphics) > 着色器设置(Shader Settings) > 视频(Video)。
注意:此过程会降低视频可以具有的最大分辨率。H.264 的典型最大分辨率为 4096 x 2304。如果导入具有此分辨率的透明度视频,则视频将变为 8192 x 2304,这会失败,因为大多数编码器不支持此大小。
VP8 的最大分辨率为 16383 x 16383,因此更有可能接受这些更高的分辨率。但 VP8 通常使用纯软件路径实现,这速度较慢,并且可能会导致在这些较高分辨率下性能低下。