您可以将controls
保留在单独的场景中,以便可以在主场景之后单独渲染它们.您还需要清除渲染调用之间的depthBuffer
,以便在所有先前渲染的对象上进行渲染.下面是一些伪代码来解释这个概念:
const controls = new THREE.Group();
const scene2 = new THREE.Scene();
scene2.add(controls);
scene2.autoClear = false
// Render loop
update() {
renderer.clear()
// Render all your regular objects
renderer.render(scene1, camera);
// Clear the depthBuffer
renderer.clearDepth();
// Render your controls
renderer.render(scene2, camera);
}
你可以阅读更多细节about .clearDepth()
in the docs.