创造你的世界
世界环境
在 ZEPETO 世界中应用 Post-Processing
6 分
如果你希望为你的世界添加炫酷的视觉效果,或是提升整体图形质量,可以尝试使用 unity 的 post processing 功能。 通过添加多种视觉特效,你可以打造出更具沉浸感和完成度的世界。 开始使用 post processing 安装 post processing 包 在 unity 中,打开 window > package manager 。将 packages 选项设置为 unity registry ,然后在列表中查找并安装 post processing 包。 复制 zepetocamera 预制体 在 project 文件夹中,进入 packages > zepeto character controller > runtime > resources > camera 找到 zepetocamera 预制体,将其复制并粘贴到 assets 文件夹中。 然后将复制的预制体命名为 zepetocameracopy 。 连接 zepetocameracopy 在 hierarchy 中,选择 managers > zepetoplayers 在 inspector 中,将 zepetocameracopy 拖放到 prefab 字段中。 创建新 layer 在 zepetocameracopy 的 inspector 中,点击 layer > add layer 来添加一个新的 layer 然后在 layer 字段中选择你新创建的 layer 。 📘 备注 你只能使用 layer 3 和 layer 6 以上的图层 layer 0~2 以及 layer 4~5 是 unity 的默认图层,无法修改。 应用 post processing post processing 的主要应用方式有两种: global :对整个世界应用效果 local :只在角色进入特定区域时应用效果 global 应用方式 为 zepetocameracopy 添加 post process layer 和 post process volume 在 inspector 中点击 add component,分别添加 post process layer 和 post process volume 组件 在 post process layer 的 volume blending > layer 字段中选择新建的 layer。 接着,在 post process volume 中勾选 is global 选项 在 profile 字段中设置包含你所需效果的 post process profile 如果没有现成的 profile,可以点击旁边的 new 按钮创建一个新的 profile。 向 post process profile 添加效果 如果你新建了一个 profile,选中它后点击 add effect 添加你需要的效果,并根据需要调整参数。 在更改参数前,请先勾选每个字段左边的复选框。 ✏️ 提示 即使在 play mode 下你也可以自由调整效果,而且这些更改在退出 play mode 后也会保留。 你可以在场景运行时在 inspector 中实时调整设置,并观察效果的即时反馈,进行更精准的调整。 <效果示例> local 应用方式 为 zepetocameracopy 添加 post process layer 在 zepetocameracopy 的 inspector 中添加 post process layer 组件 点击 this 按钮设置 trigger,并在 layer 字段中设置你创建的 layer。 创建 post process volume 对象 在 hierarchy 中点击 + > 3d object > post process volume 创建新的 volume 对象 将该对象的 layer 设置为你新建的 layer ,并取消勾选 is global 。 向 post process volume 添加效果 点击 add effect 添加你需要的效果,并调整参数来实现你想要的视觉风格。 放置 post process volume 将 post process volume 放置在你希望效果生效的位置。 \<local 应用示例> 通过脚本控制 post process volume 你也可以通过脚本来控制 post process volume 的启用与禁用。 以下是使用 toggle 控制开关效果的示例: 创建一个新的 gameobject 在 hierarchy 中点击 + > create empty 创建一个新的 gameobject 将其命名为 postprocessmanager 。 创建新的 toggle ui 在 hierarchy 中点击 + > ui > toggle 创建一个新的 toggle 元素。 创建新脚本 在 project 窗口中点击 + > zepeto > typescript 创建一个新脚本 将其命名为 postprocessscript ,打开脚本并粘贴以下代码: import { zepetoscriptbehaviour } from 'zepeto script'; import { gameobject } from 'unityengine'; import { postprocessvolume } from 'unityengine rendering postprocessing'; import { toggle } from 'unityengine ui'; export default class postprocessscript extends zepetoscriptbehaviour { public onofftoggle toggle; public postprocessobj gameobject; private postprosessvolume postprocessvolume; start() { this postprosessvolume = this postprocessobj getcomponent\<postprocessvolume>(); this onofftoggle onvaluechanged addlistener(()=>{ this postprosessvolume profile settings foreach( // 현재 profile settings의 모든 설정을 on/off합니다 (setting)=>{ setting active = !setting active; } ); }); } } 将脚本添加到 postprocessmanager 在 hierarchy 中选中 postprocessmanager 在 inspector 中点击 add component > zepeto script ,然后将 postprocessscript 拖到 script 字段中。 然后将 toggle 拖到 on off toggle 字段,将 post process volume 拖到 post process obj 字段。 <例子> 现在,当你在场景中点击 toggle 按钮时,post processing 效果就会在对应区域启用或关闭。