3d threejs:在单个webgl渲染器中渲染多个场景

3d threejs:在单个webgl渲染器中渲染多个场景,3d,three.js,renderer,scene,3d,Three.js,Renderer,Scene,我正在尝试按照以下代码将多个场景包括到单个webgl渲染器中: 渲染器。渲染(场景1,摄影机) 渲染器。渲染(场景2,摄影机) 我面临的问题是,在最后一个场景中,传递给渲染器的对象正在绘制,而上一个对象没有绘制。我通过交换上面两行代码确认了这一点。我是threejs的新手,想知道是否可以实现上述目标?还有,如果你能给我提供一些支持性的例子(如果有的话) 谢谢 您可以在这里找到的最小解决方案: 谢谢@WestLangley!参考资料很有帮助,终于让我的示例发挥作用。Arg,你的解决方案是什么!?两

我正在尝试按照以下代码将多个场景包括到单个webgl渲染器中:

渲染器。渲染(场景1,摄影机)
渲染器。渲染(场景2,摄影机)

我面临的问题是,在最后一个场景中,传递给渲染器的对象正在绘制,而上一个对象没有绘制。我通过交换上面两行代码确认了这一点。我是threejs的新手,想知道是否可以实现上述目标?还有,如果你能给我提供一些支持性的例子(如果有的话)


谢谢

您可以在这里找到的最小解决方案:


谢谢@WestLangley!参考资料很有帮助,终于让我的示例发挥作用。Arg,你的解决方案是什么!?两个场景中的对象仍然相交。如何使scene2在scene1之上渲染(因此它类似于两层)?在渲染第二个场景之前插入“renderer.clearDepth();”
var animate = function() {
    requestAnimationFrame(animate);

    renderer.autoClear = true;

    //render scene1
    renderer.render(scene1, camera);

    //prevent canvas from being erased with next .render call
    renderer.autoClear = false;

    //just render scene2 on top of scene1
    renderer.render(scene2, camera);
};