本指南介绍如何将可编程渲染器功能应用于特定摄像机类型。
此方法可用于控制可编程渲染器功能的特效应用于哪些摄像机。当项目使用附加摄像机来渲染诸如反射之类的元素时,这尤其重要,因为使用可编写脚本的渲染器功能可能会导致意外结果。
您可以在可编程渲染器功能脚本中添加逻辑,以便在可编程渲染器功能应用特效之前检查特定摄像机类型。
本指南分为以下章节:
本指南假定您已经拥有完整的可编程渲染器功能可供使用。否则,请参阅如何创建自定义渲染器功能。
此脚本将可编程渲染器功能应用于特定摄像机类型。在此示例中,该功能仅应用于游戏摄像机。
打开要应用于摄像机的可编程渲染器功能的 C# 脚本。
在 AddRenderPasses 方法中,添加以下 if 语句:
if (renderingData.cameraData.cameraType == CameraType.Game)
使用如下所示的 EnqueuePass 方法,将可编程渲染器功能中必要的渲染通道添加到渲染器。
if (renderingData.cameraData.cameraType == CameraType.Game)
{
renderer.EnqueuePass(yourRenderPass);
}
此可编程渲染器功能现在仅应用于游戏摄像机类型的摄像机。
注意:请注意,URP 至少每个摄像机每帧调用一次
AddRenderPasses方法,因此最好在此处最大限度降低复杂性以避免性能问题。