我有一组块对象,我想设置透视摄像头,使其整个宽度完全可见(高度太大 - 没关系,我们要上下颠倒)
我看到有很多问题接近这一点,例如:
Adjusting camera for visible Three.js shape
THREE.JS: Get object size with respect to camera and object position on screen
ThreeJS. How to implement ZoomALL and make sure a given box fills the canvas area?
但是,它们似乎都没有涵盖我正在寻找的所有内容:
我对高度不感兴趣,只对宽度感兴趣(它们不会相同 - 尺寸会动态但我可以假设高度会比宽度大)
< / LI>camera.position.z(或我猜的FOV)是未知的,所以我试图以正确的方式解决这个问题
(我对3D数学不太满意。提前致谢!)
答案 0 :(得分:1)
在我的案例中,我能够简化这个问题......
由于我知道物体的整体尺寸,因此我可以通过改变相机的z位置几次并看到最佳效果,来提供合适的距离。
我真正的问题是,由于不同的宽高比,相同的z位置在不同尺寸的屏幕上给出了相对于屏幕宽度的不同宽度。
所以我所做的就是通过camera.aspect划分我的距离值。现在,在所有屏幕尺寸上,块占据屏幕宽度的相同比例: - )