版本:Unity 6 (6000.0)
语言:英语
相机输出
从相机输出深度纹理

相机输出简介

一个 相机一个组件,它在场景中创建一个特定视点的图像。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
查看 词汇表
可以生成深度、深度+法线或运动矢量纹理。这是一种最小化的 G-buffer 纹理,可用于 后期处理在图像显示在屏幕上之前应用滤镜和效果来改善产品视觉效果的过程。您可以使用后期处理效果来模拟物理相机和胶片属性,例如 Bloom 和景深。 更多信息 后期处理,后期处理,后期处理
查看 词汇表
效果或实现自定义照明模型。

这些主要用于效果;例如,后期处理效果 通常使用深度信息。

深度纹理中的像素值范围在 0 到 1 之间,具有非线性分布。精度通常为 32 位或 16 位,具体取决于配置和使用的平台。从深度纹理读取时,将返回 0 到 1 之间的范围内的值。如果您需要从相机获取距离或其他线性 0-1 值,请使用 辅助宏 手动计算。

深度纹理在大多数现代硬件和图形 API 中受支持。特殊要求列在下面

  • Direct3D 11+(Windows)、OpenGL 3+(Mac/Linux)、Metal(iOS)和流行的控制台支持深度纹理。

可以使用脚本中的 Camera.depthTextureMode 变量启用相机的深度纹理模式。还可以使用 着色器替换 功能自己构建类似的纹理。

有三种可能的深度纹理模式

  • DepthTextureMode.Depth:深度纹理。
  • DepthTextureMode.DepthNormals:深度和视图空间法线打包成一个纹理。
  • DepthTextureMode.MotionVectors:每个屏幕纹素的当前帧的每像素屏幕空间运动。打包成 RG16 纹理。

这些是标志,因此可以指定上述纹理的任何组合。

幕后

深度纹理可以来自实际的 深度缓冲区一个内存存储器,它保存图像中每个像素的 z 值深度,其中 z 值是投影平面从每个渲染像素的深度。 更多信息
查看 词汇表
,或者在单独的通道中渲染,具体取决于使用的 渲染路径渲染管道用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他路径更适合不同的平台和硬件。 更多信息
查看 词汇表
和硬件。通常在使用内置 渲染管道一系列操作,这些操作将场景的内容获取并显示在屏幕上。Unity 允许您从预构建的渲染管道中选择,或编写自己的渲染管道。 更多信息
查看 词汇表
中的 延迟着色内置渲染管道中的一种渲染路径,它对可以影响游戏对象的灯光数量没有限制。所有灯光都按像素进行评估,这意味着它们都与法线贴图等正确交互。此外,所有灯光都可以具有饼干和阴影。 更多信息
查看 词汇表
渲染路径时,深度纹理是“免费”的,因为它们本来就是 G-buffer 渲染的产物。

启用后,运动矢量纹理始终来自额外的渲染通道。Unity 将移动的 游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、相机、航点等等。游戏对象的功用由附加到它的组件来定义。 更多信息
查看 词汇表
渲染到此缓冲区中,并从上一帧构造到当前帧的运动。

相机输出
从相机输出深度纹理