本指南介绍了如何将可脚本化渲染器功能应用于特定的相机一个组件,它会创建场景中特定视点的图像。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
参见 术语表类型。
这种方法允许您控制可脚本化渲染器功能的效果应用于哪些相机。当项目使用额外的相机来渲染反射等元素时,这尤其重要,在这种情况下使用可脚本化渲染器功能可能会导致意外结果。
您可以在可脚本化渲染器功能脚本中添加逻辑,以便在可脚本化渲染器功能应用效果之前检查特定的相机类型。
本指南分为以下几部分
本指南假设您已经有一个完整的可脚本化渲染器功能可以使用。如果您没有,请参考 如何创建自定义渲染器功能。
此脚本将可脚本化渲染器功能应用于特定相机类型。在本例中,它仅将功能应用于游戏相机。
打开您要应用于相机的可脚本化渲染器功能的 C# 脚本。
在 AddRenderPasses
方法中,添加以下 if
语句
if (renderingData.cameraData.cameraType == CameraType.Game)
使用 EnqueuePass
方法将可脚本化渲染器功能中必要的渲染传递添加到渲染器中,如下所示。
if (renderingData.cameraData.cameraType == CameraType.Game)
{
renderer.EnqueuePass(yourRenderPass);
}
此可脚本化渲染器功能现在仅适用于相机类型为游戏的相机。
注意:请注意,URP 至少会针对每帧的每个相机调用
AddRenderPasses
方法,因此最好在此处尽量减少复杂性,以避免性能问题。