Skip to main content

为后处理(Post-Processing)制作开关

准备工作

我们需要先准备一个后处理文件,一个后处理体积,详细教程请看这里:后处理与你 | VRCD 文档库

f18bf1113f68b326ccebf2d0fbc60184.png

制作开关

老样子,我们创建一个 Toggle(开关) ,为其添加 Udon Behaviour

创建一个 Udon Graph Assembly 脚本,命名后点击 Open Udon Graph 以打开节点编辑界面。

66f0f83761b1a78ab14e52e193ae636e.png

我们准备两个变量,两个变量全部设置为公开(Public):

  • 一个 GameObject 类型,充当 Target(目标游戏对象)。
  • 一个 Toggle 类型,充当 Toggle (开关)。
实际上这里的 Toggle 类型变量 无需设置,在这个案例用不到,仅作参考。

0d4ce57f8a5dd93616402c669b7c92af.png

我们准备了一个 Custom Event ,在这一节点的输入框中输入 IsTrigger 充当接收事件。

我们再将 Target 变量拖入面板中,利用 GameObject 的 Get activeSelf 获取游戏对象的开启/关闭状态,再用 Boolean 的 UnaryNegation 反转 bool 变量(true->falsefalse->true),我们最终得到的 bool 将会是目标游戏对象(在此例中为后处理游戏对象)开启/关闭状态的相反值。

我们创建一个 GameObject 的 SetActive 节点,这个节点可以在接收事件以后将 instance(实例)的开启/关闭状态设置为下方 value bool 的数值。

true 打开游戏对象
false 关闭游戏对象

b34c8397ae17295c28e9d23e183392f6.png

OK,让我们解释一下:

后处理效果通过游戏对象上的 后处理组件 实现,当游戏对象开启 -> 后处理生效,当游戏对象关闭 -> 后处理失效。

1dd9b26889b825faabd0521587784813.png

所以我们本质上还是在给游戏对象制作开关?

还真是,为游戏对象制作开关的详细教程可以在这里查看:(还没准备)