假设有两个相机根据需求进行切换.
我的想法是设置渲染器切换渲染的相机即可:renderer.render(scene, camera);然后用visible 属性来判断渲染哪一个相机.
以下为参考例子:
<html> <head> <title>My first three.js app</title> <style> body { margin: 0; } canvas { width: 100%; height: 100% } </style> </head> <body> <script src="../static/three.js-master/build/three.js"></script> <script> var scene = new THREE.Scene(); // 场景 var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 ); // 摄像机 var camera2 = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 ); // 第二个摄像机 camera2.visible = false;//虽然无效,但是通过这个属性判断渲染那个相机 var renderer = new THREE.WebGLRenderer(); // 渲染器 renderer.setSize( window.innerWidth, window.innerHeight ); // 渲染器宽度 document.body.appendChild( renderer.domElement ); var animate = function () { requestAnimationFrame( animate ); // 循环渲染 cube.rotation.x += 0.01; cube.rotation.y += 0.01; if(camera.visible) { renderer.render( scene, camera ); // 渲染摄像机1 } else { renderer.render( scene, camera2 );// 渲染摄像机2 } }; animate(); </script> </body> </html>