有谁知道如何返回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);
});
所以在这段代码的某处,我想在设置比例之前尝试检测文件中对象的大小。或者,如果无法完成,我可以稍后在脚本中调整相机的位置。你觉得怎么样?
杰
答案 0 :(得分:4)
您可以使用以下两种方法之一:
geometry.computeBoundingBox();
var box = geometry.boundingBox;
或
var box = new THREE.Box3().setFromObject( object );
第二个适用于具有子对象的对象。
three.js r.64