Three.js缩放以适合对象的宽度(忽略高度)

时间:2013-05-09 13:22:09

标签: three.js

我有一组块对象,我想设置透视摄像头,使其整个宽度完全可见(高度太大 - 没关系,我们要上下颠倒)

我看到有很多问题接近这一点,例如:

Adjusting camera for visible Three.js shape

Three.js - Width of view

THREE.JS: Get object size with respect to camera and object position on screen

How to Fit Camera to Object

ThreeJS. How to implement ZoomALL and make sure a given box fills the canvas area?

但是,它们似乎都没有涵盖我正在寻找的所有内容:

  • 我对高度不感兴趣,只对宽度感兴趣(它们不会相同 - 尺寸会动态但我可以假设高度会比宽度大)

    < / LI>
  • camera.position.z(或我猜的FOV)是未知的,所以我试图以正确的方式解决这个问题

(我对3D数学不太满意。提前致谢!)

1 个答案:

答案 0 :(得分:1)

在我的案例中,我能够简化这个问题......

由于我知道物体的整体尺寸,因此我可以通过改变相机的z位置几次并看到最佳效果,来提供合适的距离。

我真正的问题是,由于不同的宽高比,相同的z位置在不同尺寸的屏幕上给出了相对于屏幕宽度的不同宽度。

所以我所做的就是通过camera.aspect划分我的距离值。现在,在所有屏幕尺寸上,块占据屏幕宽度的相同比例: - )