跳到主要内容

旧版后期效果

已弃用

基于脚本的旧版后期效果已弃用,将在引擎未来的主要版本移除。它们仍能使用,但在引擎调试构建中添加到相机时,会输出弃用警告。请改用 CameraFrame,参见迁移到 CameraFrame。

PlayCanvas 提供基于脚本的旧版后期效果。每个效果在 CameraFrame 中都有更新、更高效的替代方案,或可写成自定义 CameraFrame 效果。

配置​

这些后期效果实现为脚本,可添加到附有相机组件的实体上。添加步骤如下:

  1. 选择下面的效果之一,从 GitHub 链接取得脚本。

  2. 为相机实体添加脚本组件。

  3. 将所需后期效果脚本分配给相机实体的脚本组件。注意,脚本在组件中的排列顺序决定效果的应用顺序。

也可以创建自己的后期效果。GitHub 上还有更多效果。

迁移到 CameraFrame​

从相机移除旧版后期效果脚本,改为添加 CameraFrame:编辑器中附加 CameraFrame 脚本,代码中创建 CameraFrame。然后启用替代旧版效果的功能:

旧版脚本CameraFrame 替代方案
泛光(posteffect-bloom.js)泛光(bloom)
散景(posteffect-bokeh.js)景深(dof)
亮度与对比度(posteffect-brightnesscontrast.js)颜色分级的 brightness 和 contrast(grading)
色相与饱和度(posteffect-huesaturation.js)颜色分级的 saturation(grading)。色相偏移使用颜色查找表(colorLUT)
明度(posteffect-luminosity.js)将颜色分级的 saturation 设为 0(grading)
棕褐色(posteffect-sepia.js)颜色查找表(colorLUT)
暗角(posteffect-vignette.js)暗角(vignette)
FXAA(posteffect-fxaa.js)多重采样(rendering.samples)、时间抗锯齿(taa)或 SmaaEffect
SSAO(posteffect-ssao.js)环境光遮蔽(ssao)
轮廓(posteffect-outline.js)OutlineRenderer
边缘检测、混合、水平和垂直移轴没有内置替代方案,请编写自定义效果

除非修改相机的 disablePostEffectsLayer,否则旧版效果不应用到 UI 图层及之后的图层。CameraFrame 将效果应用于截至 Immediate(含)的图层,之后的 UI 等图层则在效果之后渲染。