包含此页的版本:
不含此页的版本:
本页介绍如何创建自定义后处理在图像出现在屏幕上之前通过应用滤镜和效果来改善产品视觉效果的过程。你可以使用后期处理效果来模拟物理摄像机和胶片属性,例如泛光和景深。更多信息 后处理, 后处理, 后处理
在术语表中查看具有音量支持的效果。
URP 为自定义后期处理效果提供了一个模板。模板中的实现包括渲染器功能(Renderer Feature),你可以在其中注入自定义效果的代码,以及实现与体积组件交互的代码的脚本。
要使用模板创建效果,请选择以下菜单项:
Unity 创建了两个新的脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表在Assets文件夹:包含渲染器功能模板和体积组件脚本的脚本。
该模板包含反转屏幕上颜色的示例效果实现。
在渲染器功能中,在Create方法,您可以为自定义效果或实现效果逻辑的渲染通道定义自定义材质。
渲染器功能脚本包含ScriptableRenderPass实现。
您将着色器在 GPU 上运行的程序。更多信息
请参阅术语表渲染密码中以下区域中自定义效果的属性:
#region PASS_SHARED_RENDERING_CODE
渲染通道包含以下两个区域。Unity 选择PASS_RENDER_GRAPH_PATH区域,如果项目禁用了兼容模式,则使用渲染图 API,并使用PASS_NON_RENDER_GRAPH_PATH否则区域。
#region PASS_NON_RENDER_GRAPH_PATH
#region PASS_RENDER_GRAPH_PATH
要在体积组件上设置效果属性,请修改AddRenderPasses方法:
NewPostProcessEffectVolumeComponent myVolume = VolumeManager.instance.stack?.GetComponent<NewPostProcessEffectVolumeComponent>();
if (myVolume == null || !myVolume.IsActive())
s_SharedPropertyBlock.SetFloat("_Intensity", myVolume.intensity.value);