# 为后处理(Post-Processing)制作开关 ### 准备工作 我们需要先准备一个后处理文件,一个后处理体积,详细教程请看这里:[后处理与你 | VRCD 文档库](https://docs.vrcd.org.cn/books/7f39f) [![f18bf1113f68b326ccebf2d0fbc60184.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/scaled-1680-/G4R2lqHAOI6jovL3-f18bf1113f68b326ccebf2d0fbc60184.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/G4R2lqHAOI6jovL3-f18bf1113f68b326ccebf2d0fbc60184.png) ### 制作开关 老样子,我们创建一个 Toggle(开关) ,为其添加 **Udon Behaviour**。 创建一个 Udon Graph Assembly 脚本,命名后点击 Open Udon Graph 以打开节点编辑界面。 [![66f0f83761b1a78ab14e52e193ae636e.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/scaled-1680-/sKsk1dbv5IwVtefl-66f0f83761b1a78ab14e52e193ae636e.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/sKsk1dbv5IwVtefl-66f0f83761b1a78ab14e52e193ae636e.png) 我们准备两个变量,两个变量全部设置为公开(Public): - 一个 **GameObject** 类型,充当 `Target`(目标游戏对象)。 - 一个 **Toggle** 类型,充当 `Toggle` (开关)。 > 实际上这里的 **Toggle 类型变量** 无需设置,在这个案例用不到,仅作参考。 [![0d4ce57f8a5dd93616402c669b7c92af.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/scaled-1680-/Jk2LVag605m6Nia0-0d4ce57f8a5dd93616402c669b7c92af.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/Jk2LVag605m6Nia0-0d4ce57f8a5dd93616402c669b7c92af.png) 我们准备了一个 Custom Event ,在这一节点的输入框中输入 `IsTrigger` 充当接收事件。 我们再将 Target 变量拖入面板中,利用 GameObject 的 Get activeSelf 获取游戏对象的开启/关闭状态,再用 Boolean 的 UnaryNegation 反转 bool 变量(`true->false`,`false->true`),我们最终得到的 bool 将会是目标游戏对象(在此例中为后处理游戏对象)开启/关闭状态的相反值。 我们创建一个 GameObject 的 **SetActive** 节点,这个节点可以在接收事件以后将 instance(实例)的开启/关闭状态设置为下方 **value bool** 的数值。
`true`打开游戏对象
`false`关闭游戏对象
[![b34c8397ae17295c28e9d23e183392f6.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/scaled-1680-/uxLFR7eEvHBZJZhR-b34c8397ae17295c28e9d23e183392f6.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/uxLFR7eEvHBZJZhR-b34c8397ae17295c28e9d23e183392f6.png) OK,让我们解释一下: 后处理效果通过游戏对象上的 **后处理组件** 实现,当游戏对象开启 -> 后处理生效,当游戏对象关闭 -> 后处理失效。 [![1dd9b26889b825faabd0521587784813.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/scaled-1680-/ZcecG6x6xwKRnlGb-1dd9b26889b825faabd0521587784813.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-09/ZcecG6x6xwKRnlGb-1dd9b26889b825faabd0521587784813.png) 所以我们本质上还是在给游戏对象制作开关? 还真是,为游戏对象制作开关的详细教程可以在这里查看:(还没准备)