THREE.JS 抗锯齿在多场景设置中不起作用

THREE.JS Anti-Alias not working in multi-scene set-up

让抗锯齿在覆盖在大场景之上的小场景上正常工作的技巧是什么?

在此处查看 fiddle: https://jsfiddle.net/gilomer88/j974zmq0/6/

当您点击任何一个立方体时,您会看到一个新的较小的“detailsS​​cene”在主场景的顶部打开 - 而那个“detailsS​​cene”中的立方体看起来不太好。 (这里看起来可能没那么糟糕,但相信我,在我的真实项目中,我正在加载一个“.glb”模型,那里看起来真的很糟糕。而且它不是关闭的模型。我知道,因为当我加载它在我的主场景中看起来 100% 完美。除非出于某种原因我必须将它重新加载到这个较小的场景中...?)

否则我很确定我为这个较小的场景设置了正确的渲染器,使用:

detailsRenderer.setPixelRatio( window.devicePixelRatio );

(您会在 fiddle 代码的 JS 的第 192 行找到该位。)

有什么想法吗?

抗锯齿工作正常。场景有点模糊,因为 canvas 被放大,而渲染器以较小的尺寸渲染。您应该始终设置渲染器的大小,使其与 canvas 大小相匹配。仅仅将 canvas 元素传递给渲染器显然不足以让渲染器知道它应该渲染场景的大小。

detailsRenderer.setSize(detailsCanvas.offsetWidth, detailsCanvas.offsetHeight);

https://jsfiddle.net/sg3fn0tk/