4

在我的场景中,我有一个简单的立方体:

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 ...

这是错误还是功能?如何获得立方体的正确边界框?

4

1 回答 1

6

您可以计算对象(包括其子对象)的世界轴对齐边界框,如下所示:

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

查看源代码,以便您了解它在做什么。

三.js。r.60

于 2013-08-27T15:35:13.520 回答