假設有兩個相機根據需求進行切換.
我的想法是設置渲染器切換渲染的相機即可: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>