我想阻止对象在窗口大小调整上缩放。当我调整窗口大小时,我无法找到正在改变的值。更有意思的是,对象只调整大小然后我调整窗口VERTICALY。
http://imgur.com/01vpTUQ< - 全屏
http://imgur.com/hLbWJIw< - 防止窗口调整大小时对象调整大小
所以我的主要问题是: 调整窗口大小时,更改的值是什么。
答案 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);
});