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

时间:2014-01-01 01:59:10

标签: 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); 

    });

所以在这段代码的某处,我想在设置比例之前尝试检测文件中对象的大小。或者,如果无法完成,我可以稍后在脚本中调整相机的位置。你觉得怎么样?

1 个答案:

答案 0 :(得分:4)

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

geometry.computeBoundingBox();
var box = geometry.boundingBox;

var box = new THREE.Box3().setFromObject( object );

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

three.js r.64