THREE.JS Anti-Alias在多场景设置中不起作用
让抗锯齿在较小的场景(覆盖在大场景之上)上正常工作的诀窍是什么 看看这里的小提琴: 当你点击你看到的任何一个立方体时,一个新的较小的“detailsScene”会在主场景的顶部打开,而“detailsScene”中的立方体看起来不太好。(这里看起来可能没那么糟糕,但相信我,在我的真实项目中,我加载了一个“.glb”模型,它在那里看起来非常糟糕。而且它不是关闭的模型。我知道这一点,因为当我将它加载到我的主场景中时,它看起来100%完美。除非出于某种原因我不得不将它重新加载到这个较小的场景中…?) 否则,我非常确定我使用以下方法为这个较小的场景设置了正确的渲染器:THREE.JS Anti-Alias在多场景设置中不起作用,three.js,antialiasing,Three.js,Antialiasing,让抗锯齿在较小的场景(覆盖在大场景之上)上正常工作的诀窍是什么 看看这里的小提琴: 当你点击你看到的任何一个立方体时,一个新的较小的“detailsScene”会在主场景的顶部打开,而“detailsScene”中的立方体看起来不太好。(这里看起来可能没那么糟糕,但相信我,在我的真实项目中,我加载了一个“.glb”模型,它在那里看起来非常糟糕。而且它不是关闭的模型。我知道这一点,因为当我将它加载到我的主场景中时,它看起来100%完美。除非出于某种原因我不得不将它重新加载到这个较小的场景中…?)
detailsRenderer.setPixelRatio( window.devicePixelRatio );
(您将在fiddle代码的JS中的第192行找到该位。)
有什么想法吗?抗锯齿工作正常。场景只是有点模糊,因为画布是按比例放大的,而渲染器渲染的大小较小。您应该始终设置渲染器的大小,使其与画布大小匹配。仅将画布元素传递给渲染器显然是不够的,无法让渲染器知道渲染场景的大小
detailsrender.setSize(detailsCanvas.offsetWidth,detailsCanvas.offsetHeight);