包含此页的版本:
不含此页的版本:
本页介绍如何从旧版本的 Universal 升级渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表(URP) 到版本 10.1.x。
从 10.0.x 版本开始,URP 可以生成名为_CameraNormalsTexture.要在自定义中渲染到此纹理着色器在 GPU 上运行的程序。更多信息
请参阅术语表,添加名称为DepthNormals.例如,请检查Lit.shader.
URP 10.0.x 实现了屏幕空间环境光遮挡 一种近似环境光(不是来自特定方向的光)可以击中表面上某个点的量的方法。
请参阅术语表(SSAO) 效应。
如果打算将 SSAO 效果与自定义着色器一起使用,请考虑以下与 SSAO 相关的实体:
这_SCREEN_SPACE_OCCLUSION关键词。
Input.hlsl包含新声明float2 normalizedScreenSpaceUV在InputData结构。
Lighting.hlsl包含AmbientOcclusionFactorstruct 替换为用于计算间接和直接遮挡的变量:
struct AmbientOcclusionFactor
{
half indirectAmbientOcclusion;
half directAmbientOcclusion;
};
Lighting.hlsl包含以下用于对 SSAO 纹理进行采样的函数:
half SampleAmbientOcclusion(float2 normalizedScreenSpaceUV)
Lighting.hlsl包含以下函数:
AmbientOcclusionFactor GetScreenSpaceAmbientOcclusion(float2
normalizedScreenSpaceUV)
要在自定义着色器中支持 SSAO,请将DepthNormalsPass 和_SCREEN_SPACE_OCCLUSION关键字 the 着色器。有关示例,请检查Lit.shader.
如果自定义着色器实现自定义光照函数,请使用GetScreenSpaceAmbientOcclusion(float2 normalizedScreenSpaceUV)要获取AmbientOcclusionFactor值。
首先升级到 URP 7.2.0。请参阅升级到 Universal Render Pipeline 的 7.2.0 版。
URP 8.x.x 不支持包 Post-Processing Stack v2。如果你的项目使用包 Post-Processing Stack v2,请先迁移使用该包的效果。