three.js所 - 算法来设置相机,使整个场景显示了?(Three.js - Algorithm

2019-09-27 04:58发布

当我安装我的场景,添加的几何形状等等,我该如何设置相机,所以我可以看到我的整个场景? 我试图实现使用boundingboxes的算法,但我有点卡住了。

Answer 1:

你真的只需要找到通过所有变量之间的最大绝对值Math.abs(number) ,一旦你已经找到了最伟大的,可以将相机的深度(position.z)设定为这一数字的。 我已接收2个数字并返回最简单的功能。

function findGreatestAbsolute( firstNumber, secondNumber ) {
    if( Math.abs( firstNumber ) > Math.abs( secondNumber )) {
        return Math.abs( firstNumber );
    } else { return Math.abs( secondNumber ); }
}

您还可以使用数组,如果有太多的数字。 一旦你找到了你的号码,你这样做:

    camera = new THREE.PerspectiveCamera( cameraFov, windowHalfX / windowHalfY , 1, someDepth );
    camera.position.z(greatestNumber);

要么

    camera.position.set(yourX, yourY, greatestNumber);

嗯,我希望它帮助。



文章来源: Three.js - Algorithm to set the camera so the whole scene shows?