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)
所以在这段代码的某个地方,我想在设置比例之前尝试检测文件中对象的大小。或者,如果无法做到这一点,我可以稍后在脚本中调整相机位置。你怎么认为?
杰
您可以使用以下两种方法之一:
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