Three.js 切換相機

假設有兩個相機根據需求進行切換.

我的想法是設置渲染器切換渲染的相機即可: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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章