三.js 初始化与靠近相机的对象

在我的 three.js 项目中,我像这样设置我的场景和相机:


        var container = document.getElementById('container');


        renderer = new THREE.WebGLRenderer({ antialias: true });

        renderer.setPixelRatio(window.devicePixelRatio);

        renderer.setSize(window.innerWidth, window.innerHeight);

        renderer.setAnimationLoop(render);

        renderer.outputEncoding = THREE.sRGBEncoding;

        renderer.toneMapping = THREE.ACESFilmicToneMapping;

        renderer.toneMappingExposure = 1.25;

        container.appendChild(renderer.domElement);


        window.addEventListener('resize', onWindowResize, false);


        stats = new Stats();

        container.appendChild(stats.dom);


        //


        camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 0.1, 100);

        camera.position.set(3.5, 2, - 2.5);



        controls = new OrbitControls(camera, container);

        controls.target.set(0, 0.5, 0);

        controls.update();


        scene = new THREE.Scene();

        scene.background = new THREE.Color(0xeeeeee);

        scene.environment = new RoomEnvironment(renderer);

        scene.fog = new THREE.Fog(0xeeeeee, 10, 50);

        ...

好吧,我的场景是这样开始的:

http://img2.mukewang.com/63520db20001127506510306.jpg

我想开始加倍我的对象,像这样:

http://img4.mukewang.com/63520dbd00016d0a06530305.jpg

我尝试:

camera.zoom.set(2);

但什么也没发生所以我尝试定义一个vector3(2,2,2)并缩放我的对象:

myobj.scale.set(myVector3);

没有什么。

有人可以帮助我用更大的对象开始我的场景吗?


达令说
浏览 137回答 1
1回答

隔江千里

如果你这样做:camera.zoom.set(2);您必须确保像这样更新项目矩阵:camera.updateProjectionMatrix();关于另一个问题,Vector3.set()只接受三个标量作为参数。您不能将该方法与 type 的单个参数一起使用Vector3。所以你可以这样做:myobj.scale.set(myVector3.x, myVector3.y, myVector3.z);甚至更好:myobj.scale.copy(myVector3);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript