在我的场景中,我有一个简单的立方体:
var test = new THREE.Mesh(new THREE.CubeGeometry(10,10,10), new THREE.MeshBasicMaterial());
scene.add(test);
通过THREE.TransformControls
用户遍历/缩放此多维数据集。我需要的是在这些交互之后立方体的边界框。所以我在做
test.geometry.computeBoundingBox();
var bb = test.geometry.boundingBox;
bb.translate(test.localToWorld( new THREE.Vector3()));
但我总是得到一个错误的边界框!计算的翻译是正确的,但不是比例。边界框的宽度和高度始终为10 ...
这是一个错误或功能吗?如何获得我的立方体的正确边界框?
答案 0 :(得分:6)
您可以计算对象(包括其子对象)的世界轴对齐边界框,如下所示:
var box = new THREE.Box3();
box.setFromObject( object );
查看源代码,以便了解它的作用。
three.js所。 R.60