在平滑网格上的Three.js SSAO产生阴影效果

时间:2018-11-02 16:31:06

标签: three.js ssao

我正在使用Three.js r97,在我的场景中,我使用了带有有效法线的BufferGeometry网格。当我设置material.flatShading = false时,我看到一个平滑的网格,但是当我对该网格(https://threejs.org/examples/webgl_postprocessing_ssao.html)应用SSAO后处理时,我可以看到网格三角形,就好像它的原始材料flatShading设置为true一样。是否缺少我可以设置的参数(在深度材质上或在SSAO着色器本身中),以使SSAO不显示原始网格三角形,而是平滑? SSAOPass使用的depthMaterial默认情况下具有flatShading = false,但在这种情况下似乎并不重要。 请参见下面的图片。如果需要的话,我们很乐意提供更多详细信息,因为我在这个问题上已经停留了几天,目前甚至不确定是否可以完成,除了通过使用radius,aoClamp和lumInfluence参数使SSAO三角形变得不太细腻之外

网格-平面阴影(material.flatShading = true): enter image description here

网格-平滑阴影(material.flatShading =假): enter image description here

网格-平滑阴影+ SSAO: enter image description here

1 个答案:

答案 0 :(得分:1)

好吧,对于任何对此感到疑惑的人-看起来自r75以来,《三人行》中的SSAO就已经被破坏了:

https://github.com/mrdoob/three.js/issues/8576