Three.js:如何返回对象的大小?

jli*_*gda 3 javascript three.js

有谁知道如何返回 Three.js 对象的大小?我正在做的是从文件加载对象。我想要做的是能够检测对象的大小并相应地设置比例……或相机位置,以便整个对象适合框架。由于我将加载不同的文件和对象,因此我需要检测大小:

这是一些代码:

    var group;

    var loader = new THREE.STLLoader();
    var group = new THREE.Object3D();
    loader.load("stl_file.stl", function (geometry) {
        console.log(geometry);
        var mat = new THREE.MeshLambertMaterial({color: 0x999999});
        group = new THREE.Mesh(geometry, mat);

        group.scale.set(0.02, 0.02, 0.02);
        scene.add(group); 

    });
Run Code Online (Sandbox Code Playgroud)

所以在这段代码的某个地方,我想在设置比例之前尝试检测文件中对象的大小。或者,如果无法做到这一点,我可以稍后在脚本中调整相机位置。你怎么认为?

Wes*_*ley 7

您可以使用以下两种方法之一:

geometry.computeBoundingBox();
var box = geometry.boundingBox;
Run Code Online (Sandbox Code Playgroud)

或者

var box = new THREE.Box3().setFromObject( object );
Run Code Online (Sandbox Code Playgroud)

第二个适用于具有子对象的对象。

三.js r.64