如何在窗口调整大小时阻止三个js中的缩放对象?

时间:2014-09-15 14:14:22

标签: jquery three.js perspectivecamera

我想阻止对象在窗口大小调整上缩放。当我调整窗口大小时,我无法找到正在改变的值。更有意思的是,对象只调整大小然后我调整窗口VERTICALY。

http://imgur.com/01vpTUQ< - 全屏

http://imgur.com/hLbWJIw< - 防止窗口调整大小时对象调整大小

所以我的主要问题是: 调整窗口大小时,更改的值是什么。

1 个答案:

答案 0 :(得分:1)

为实现此目的,当窗口大小改变时,需要更新摄像机视野。这是关于如何实现它的working example / fiddle,下面是计算新FOV的片段。 original github issue.

// remember these initial values
var tanFOV = Math.tan( ( ( Math.PI / 180 ) * camera.fov / 2 ) );
var windowHeight = window.innerHeight;

$(window).on('resize', function ()
{
    camera.aspect = window.innerWidth / window.innerHeight;
    camera.fov = (360 / Math.PI) * Math.atan(tanFOV * (window.innerHeight / windowHeight));
    camera.updateProjectionMatrix();

    renderer.setSize(window.innerWidth, window.innerHeight);
    renderer.render(scene, camera);
});
相关问题