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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章