在本页面中,您将找到有关将通用渲染管线一系列操作,用于获取场景内容并在屏幕上显示。Unity 允许您选择预构建的渲染管线,或编写自己的渲染管线。 更多信息
参见 术语表 (URP) 的旧版本升级到当前版本的信息。
要构建项目的控制台版本,您需要为每个要支持的平台安装一个额外的包。
在早期版本的 URP 中,如果启用了后期处理在图像显示在屏幕上之前,通过应用滤镜和效果来改善产品视觉效果的过程。例如,您可以使用后期处理效果来模拟物理相机和胶片属性,例如 Bloom 和景深。 更多信息 后期处理, 后处理, 后处理
参见 术语表,则管线将始终需要深度。我们改进了后期处理集成,仅在启用景深模拟相机镜头聚焦属性的后期处理效果。 更多信息
参见 术语表、运动模糊或 SMAA 效果时,才需要管线提供深度。这在许多情况下提高了性能。
由于使用后期处理的相机一个组件,用于创建场景中特定视点的图像。输出要么绘制到屏幕上,要么捕获为纹理。 更多信息
参见 术语表默认不再需要深度,因此,如果您将其用于其他效果(例如软粒子创建半透明效果(如烟雾、雾或火焰)的粒子。软粒子在靠近不透明物体时会逐渐消失,以防止与几何体相交。 更多信息
参见 术语表),则现在必须手动指示相机需要深度。
要使所有相机都要求深度,请在管线资源中启用“深度纹理”选项。要使单个相机要求深度,请在相机检查器中将“深度纹理”选项设置为“开启”。
在早期版本的 URP 中,如果为主光源启用了阴影级联,则阴影将在屏幕空间传递中解决。管线现在始终在渲染不透明或透明对象时解决阴影。这可以确保一致性并解决了与阴影相关的许多问题。
如果您有自定义 HLSL着色器在 GPU 上运行的程序。 更多信息
参见 术语表并采样 _ScreenSpaceShadowmapTexture
纹理,则必须对其进行升级,以便通过使用 GetMainLight
函数而不是采样阴影。
例如
float4 shadowCoord = TransformWorldToShadowCoord(positionWorldSpace);
Light mainLight = GetMainLight(inputData.shadowCoord);
// now you can use shadow to apply realtime occlusion
half shadow = mainLight.shadowAttenuation;
您还必须在 .shader 文件中定义以下内容,以确保您的自定义着色器可以正确接收阴影
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE
使用阴影级联时,透明对象现在可以接收阴影。您还可以选择禁用透明对象的阴影接收以提高性能。为此,请在正向渲染器资源中禁用“透明接收阴影”。