---
title: 在 ZEPETO 世界中应用 Post-Processing
slug: world-sdk-guide-ch/zepeto-post-processing
docTags: 
createdAt: 2025-04-04T06:36:41.730Z
---

如果你希望为你的世界添加炫酷的视觉效果，或是提升整体图形质量，可以尝试使用 Unity 的 Post-processing 功能。

通过添加多种视觉特效，你可以打造出更具沉浸感和完成度的世界。

## 开始使用 Post-processing

:::::WorkflowBlock
:::WorkflowBlockItem
**安装 Post Processing 包**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/FTj_8V50vB-33q4nJwUTg_image.png)

在 Unity 中，打开 **Window > Package Manager**。将 Packages 选项设置为 **Unity Registry**，然后在列表中查找并安装 **Post Processing** 包。
:::

:::WorkflowBlockItem
**复制 ZepetoCamera 预制体**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/PdWhnifKGLEyiCRTf-ed8_image.png)

在 Project 文件夹中，进入 **Packages > ZEPETO.Character.Controller > Runtime > \_Resources > Camera**
找到 **ZepetoCamera** 预制体，将其复制并粘贴到 Assets 文件夹中。
然后将复制的预制体命名为 **ZepetoCameraCopy**。
:::

:::WorkflowBlockItem
**连接 ZepetoCameraCopy**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/B3TejRHBwsSsEZwXF0q0o_image.png" size="66" width="926" height="1064" position="center" showCaption="false"}

在 Hierarchy 中，选择 **Managers > ZepetoPlayers**
在 Inspector 中，将 ZepetoCameraCopy 拖放到 **Prefab** 字段中。
:::

::::WorkflowBlockItem
**创建新 Layer**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/Y_jWTA-9EYVgfahV5q0pm_image.png)

在 ZepetoCameraCopy 的 Inspector 中，点击 **Layer > Add Layer** 来添加一个新的 Layer
然后在 Layer 字段中选择你新创建的 **Layer**。

:::hint{type="info"}
📘 **备注**

你只能使用 Layer 3 和 Layer 6 以上的图层

Layer 0～2 以及 Layer 4～5 是 Unity 的默认图层，无法修改。
:::
::::
:::::



## 应用 Post-processing

Post-processing 的主要应用方式有两种：

1. **Global**：对整个世界应用效果
2. **Local**：只在角色进入特定区域时应用效果

### Global 应用方式

:::::WorkflowBlock
:::WorkflowBlockItem
**为 ZepetoCameraCopy 添加 Post-process Layer 和 Post-process Volume**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/pIFvgTz2102f9IBsGEHjL_image.png" size="68" width="804" height="1064" position="center" showCaption="false"}

在 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。
:::

::::WorkflowBlockItem
**向 Post Process Profile 添加效果**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/SF6yzeZoC4XVKUIvw2qfA_image.png" size="68" width="790" height="841" position="center" showCaption="false"}

如果你新建了一个 Profile，选中它后点击 **Add Effect**
添加你需要的效果，并根据需要调整参数。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/DrxtpYh8vWlcsAj4j53uN_image.png" size="68" width="846" height="834" position="center" showCaption="false"}

在更改参数前，请先勾选每个字段左边的复选框。

:::hint{type="info"}
✏️ **提示**

即使在 Play Mode 下你也可以自由调整效果，而且这些更改在退出 Play Mode 后也会保留。

你可以在场景运行时在 Inspector 中实时调整设置，并观察效果的即时反馈，进行更精准的调整。
:::
::::
:::::



**\<效果示例>**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/5hojtFjbUV1OqjRqoqvgX_image.png "Bloom")

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/EAdJ80rmInnavWtjOTmPP_image.png "Lens Distortion")

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/lNEAIx6y0eP43_zWAKaue_image.png "Color Grading")



### Local 应用方式

::::WorkflowBlock
:::WorkflowBlockItem
**为 ZepetoCameraCopy 添加 Post-process Layer**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/ywAazWJRAjP9nbyltadhI_image.png" size="68" width="926" height="1216" position="center" showCaption="false"}


在 ZepetoCameraCopy 的 Inspector 中添加 **Post-process Layer** 组件
点击 **This** 按钮设置 Trigger，并在 Layer 字段中设置你创建的 Layer。
:::

:::WorkflowBlockItem
**创建 Post-process Volume 对象**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/EmOfkdtw4NCNCvB4f-NZx_image.png" size="68" width="934" height="1200" position="center" showCaption="false"}

在 Hierarchy 中点击 **+ > 3D Object > Post-process Volume** 创建新的 Volume 对象

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/oJS7z-TipBvJp4jjXzYjA_image.png" size="68" width="964" height="1197" position="center" showCaption="false"}

将该对象的 Layer 设置为你新建的 **Layer**，并取消勾选 **Is Global**。
:::

:::WorkflowBlockItem
**向 Post-process Volume 添加效果**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/-nG6591Mzrg7hJXp0i5pf_image.png" size="68" width="933" height="1153" position="center" showCaption="false"}

点击 **Add Effect** 添加你需要的效果，并调整参数来实现你想要的视觉风格。
:::

:::WorkflowBlockItem
**放置 Post-process Volume**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/1iyXq3hJNWpI59jsxxXJH_image.png)

将 Post-process Volume 放置在你希望效果生效的位置。
:::
::::



**\<Local 应用示例>**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/ZFa8s144qsC5zBTvGwPxJ_local.gif)



## 通过脚本控制 Post-process Volume

你也可以通过脚本来控制 Post-process Volume 的启用与禁用。

以下是使用 Toggle 控制开关效果的示例：

::::WorkflowBlock
:::WorkflowBlockItem
**创建一个新的 GameObject**

在 Hierarchy 中点击 **+ > Create Empty** 创建一个新的 GameObject
将其命名为 **PostProcessManager**。
:::

:::WorkflowBlockItem
**创建新的 Toggle UI**

在 Hierarchy 中点击 **+ > UI > Toggle** 创建一个新的 Toggle 元素。
:::

:::WorkflowBlockItem
**创建新脚本**

在 Project 窗口中点击 **+ > ZEPETO > TypeScript&#x20;**&#x521B;建一个新脚本

将其命名为 **PostProcessScript**，打开脚本并粘贴以下代码：

```typescript
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;
                }
            );
        });
    }
}
```
:::

:::WorkflowBlockItem
**将脚本添加到 PostProcessManager**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/tZbeuWSyrXM_NSJpmDZsr_image.png" size="66" width="1058" height="1348" position="center" showCaption="false"}

在 Hierarchy 中选中 PostProcessManager
在 Inspector 中点击 **Add Component > Zepeto Script**，然后将 PostProcessScript 拖到 **Script** 字段中。

然后将 Toggle 拖到 **On Off Toggle** 字段，将 Post-process Volume 拖到 **Post Process Obj&#x20;**&#x5B57;段。
:::
::::



**\<例子>**

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/J4lvzQyphSw39C0Yo-uMd_script-post-process.gif)

现在，当你在场景中点击 Toggle 按钮时，Post-processing 效果就会在对应区域启用或关闭。
