Three.js:缩放几何体后出现错误的BoundingBox



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

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

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

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

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

看一下源代码,这样你就能明白它在做什么。

three.js.r.60

最新更新