【问题标题】:Excluding objects / layers from post-processing in Three.js从 Three.js 的后处理中排除对象/图层
【发布时间】:2013-01-28 01:42:46
【问题描述】:

从后处理中排除某些对象或(理想情况下)一层对象的最佳方法是什么?

例如,我想用各种后期处理效果(SSAO、倾斜移位等)渲染出复杂的背景场景,然后覆盖另一层 3D 对象,而不对其进行后期处理效果。

我在想我可以在彼此之上有 2 个完全不同的 WebGL 渲染器(具有透明背景),但我希望 2 个图层相互集成,所以看起来未处理的图层对象是集成的/ 在已处理的图层对象之上。

如果有帮助,我不会对影响第二层的倾斜移位那么大惊小怪 - 我最感兴趣的是确保第二层没有应用 SSAO。

我希望这至少有点道理。当我可能有一个我不知道的完美方法时,我想在我陷入太深的兔子洞之前在这里问一下。 :)

【问题讨论】:

    标签: 3d three.js shader


    【解决方案1】:

    我假设您使用THREE.EffectComposer 进行后处理。看看the advanced post-processing example 以及它如何在EffectComposer 中使用MaskPass(它利用模板缓冲区)将某些后处理(模糊)限制在背景中。您还需要将背景对象和前景对象放在不同的场景中。

    【讨论】:

    • 谢谢!这足以让我开始:)
    猜你喜欢
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2017-09-21
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多