Skip to main content

创建后处理(Post-Process)配置文件

在场景中添加后处理这一操作有公认的最佳答案,而以下则是你在操作过程中需要注意的事情。

 首先,你应该先设置一个基本的 global post processing volume(全局后处理体积),用以配置一些基本的色调映射(tonemapping)和泛光参数(bloom parameters)。然后再使用单独的全局或局部体积进行色调偏移和其他效果。

例如,如果你想在游戏中关闭和打开 bloom(泛光),你可以整出一个额外的对象用于专门控制泛光,实现在游戏中交互以切换效果。请记住,单个体积可以覆盖的选项可多可少,你还可以使用动画(animations)在不同选项集之间平滑插值!

来让我们看看有哪些可用的设置!

Colour Grading(色彩分级)

最最重要的设置。有四个选项用于色调映射:None(无)、ACES、Neutral(中立)、Custom(自定义)。

image.png

  • 不要选择“None(无)”。它什么作用也没有。
  • ACES 提供了最电影级的图像效果,非常受现代、电影式游戏的欢迎。它具有夸张的对比度,大胆的颜色和白净的高光。
  • Neutral(中立) 是几年前最受欢迎的游戏设置,很好地保留了原本的颜色。与 ACES 相比,它可能显得有些褪色,但它能够保留颜色的特点非常适合风格化场景。我建议在将 Neural 调整到 30-50 时增加对比度。
  • Custom(自定义) 提供了许多选项,并允许你定义自己的 tonemapping curve(色调映射曲线)。仅建议用于真正想实现外观定制的专家。

在 ACES 和 Neutral 之间,你选择哪一个完全取决于你的喜好。可以试试两者,看看哪一个适合你的地图!使用 Neutral (中立)可以让你在保留现有地图的照明的同时获得 tone mapping(色调映射)的优势。它还非常适合用于调整其他颜色设置。而使用 ACES 可以获得丰富的色彩平衡,它需要强烈的照明才能充分发挥潜力,而最终结果往往会非常出色。

除了这一点只外,你还会获得一组用于更改场景颜色色调的选项。这些选项非常适合用于艺术创作,或者提供类似于夜间滤镜的选项,使世界变暗。如果你想玩一玩颜色,我建议使用 colour wheels(色轮),因为它有着十分精细的控制,可以调出惊人的细节!

但是,请保持较小的调整幅度!与在屏幕上显示的胶片或游戏不同,强烈大胆的色彩调色可能会使人感到不适,因为这会影响玩家看到的一切,也包括菜单。一个很管用的参照是,如果白色物体已经很难以识别为白色,那你已经做得太过分了。

Auto Exposure(自动曝光)

可以启用此选项,也可以不使用。

在真实的相机中,画面亮度和暗度由相机的 dynamic range(动态范围)和设置的 exposure point(曝光点)进行定义。此外,人眼还具有惊人的动态范围,因此即使在最暗和最亮区域之间存在很大的亮度差异,你也可以清楚地看到事物。 

默认情况下,Auto Exposure(自动曝光)在你提高最小值或最大值之前不会做任何事情。Minimum(最小值)控制自动曝光会纠正的最低亮度大小,而Maximum(最大值)控制它会纠正的最高亮度大小。换句话说,如要使黑暗的地方更亮,请降低最小值;如要使明亮的地方更暗,请提高最大值。

在现实生活中,你看到的事物可能会变得非常明亮。因此,你可能会考虑使用更加明亮的光源并使用曝光来处理它们。然而,在 VRchat 中有一个需要注意的事项 - 任何使用不考虑到 Unity 灯光的着色器的对象都可能会变得太暗或太亮。

因此,为了安全起见,你应该将事物的亮度保持在默认值附近。这通常更多地取决于你的光照设置而非后处理,但是自动曝光也·会严重影响玩家如何体验这些光照设置。

Bloom(泛光)

这个设置应该根据个人口味自行启用和调整。

理想的设置一般意味着具有 较低的 Bloom 强度 和些许或基本没有阈值。这种组合拳意味着被通常照亮的对象不会产生可见的Bloom,但明亮的对象和 glancing reflections(掠射反射)会,从而在世界中正确地模拟一个干净但不完全干净的镜头。

  • Intensity(强度):0.01到0.3,不要超过0.3!
  • Threshold(阈值):低于1.0,但理想情况下为0。
  • Soft Knee:1.0
  • Clamp(钳位):30 - 不需要,用于防止某些类型的困扰。
  • Radius(半径):理想情况下为7,但更高也可以
  • Anamorphic(变形):理想情况下为0,因为它会随着 VR 中的头显而旋转。
  • Fast Mode(快速模式):关闭,除非你的场景没有明亮的对象。
  • Dirt(污垢):关闭。不要使用 Dirt。正如 Unity 会告诉您的那样,“在VR中使用 Dirt 纹理是不建议的。”

Bloom 是附加功能。Bloom 效果出来的任何光线都会添加到画面中。如果将 Bloom 的强度(Intensity)设置为1,这意味着所有事物的平均亮度将翻倍,并且所有事物在顶部都会变得模糊。此外,眼睛适应值(eye adaptation values)是在 Bloom 效果之前计算的,所以它不会阻止您的 Bloom 使画面过于明亮。

但如果 threshold(阈值)为零,难不成一切都会 Bloom(泛光)吗?

不,因为低 Bloom Intensity(强度)意味着只有明亮的对象才会有可见的泛光!

在 VRchat 中,照亮世界不仅取决于世界本身,还取决于玩家在世界中的外观。因此,依赖 Threshold(阈值)不是一个好主意。这就是一个糟糕的 Bloom 使用案例。由于 Threshold(阈值)的存在,只有画面中明亮的部分会有 Bloom ...但由于 Intensity(强度)很高,结果会变成 Bloom 从一件普通的白衬衫中疯狂爆出。

还有一个值得注意的是,超大的阈值会导致 Bloom 闪烁,引起眼睛疲劳。所以,请减轻 Intensity(强度)和 Threshold(阈值)!如果你的世界需要某些事物 Bloom 起来 ,那就直接让它们变得非常明亮。

要检查你的 Bloom 设置是否正确,请将一个白色球体(附带有白色 emission(自发光))的自发光强度调整至 1.0 强度处,并确保它几乎没有辉光。

Film Grain(电影颗粒)

你可以按照你的喜好进行调整,但不要使其过于浓烈,否则会让人感到不知所措!在 VR 中,电影颗粒在摄像头面前大约一米的距离产生加倍,设置得太强则会导致人们产生一种破碎的视差感。

与 Stack v1 不同的是,你不需要使用此功能来掩盖差劲的 dithering(抖动)。我在这里提到这一点以便你清楚知道你不应该使用它...除非你想要电影颗粒效果。

其他的一切

以上涵盖了你可以使用的内容。以下则是你不应使用的内容。

  • Anti-aliasing(反锯齿):不要使用它。这东西超级爆使。SMAA会使屏幕加倍。FXAA会使一切都变得模糊。TAA会使一切都超级模糊,并让渲染对象顺序错误。总之,不要使用 Anti-aliasing(反锯齿)。
  • Ambient occlusion(环境光遮蔽):Ambient occlusion 是一种在使用延迟渲染的游戏中最好的效果。VRchat 使用的是 Forward 渲染。这意味着它会在其他内容全部渲染后才将效果应用在一切之上,很差劲!Ambient occlusion 也没有针对 VR 进行优化,性能成本非常高,并且它为每个眼睛渲染的方式都不同!最重要的是,高质量的 AO(Ambient occlusion) 效果在 VR 中完全不可用。如果你想要 AO(Ambient occlusion),请单独烘焙你的照明。而不要使用这个。
  • Depth of field(景深):性能成本很高,而且在 VR 中非常容易让人迷失方向。请尽量不要使用。如果你真的想使用,请将其默认禁用。
  • Motion blur(运动模糊):如果你真的想使用它,请将其默认禁用。运动模糊会导致运动晕动症。在 VR 中,它会自动禁用。
  • Screen-space Reflections(屏幕空间反射):仅适用于使用延迟渲染器的游戏。VRchat 不支持延迟渲染,因此无法使用。
  • Lens Distortion(镜头失真):这种效果会让人们非常不舒服。它在 VR 中会导致晕动症。在 v2 中,Unity 会自动为 VR 禁用Lens Distortion(镜头失真)。
  • Vignette(晕影):仅应在某些特定场景中使用。全覆盖的晕影会在 VR 中引起晕动症。

下一部分将涵盖设置场景后处理的最后注意事项。