2013-08-27 65 views
3

在我的场景后,错误的BoundingBox我有一个简单的立方体:three.js所:缩放几何

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())); 

但我总是得到一个错误的boundingbox!翻译计算正确,但不是比例尺。边界框的宽度和高度始终为10 ...

这是一个错误?如何获得我的立方体的正确边界框?

回答

6

你可以计算对象的世界轴对齐包围盒(包括儿童),像这样:

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

看一看源代码,所以你明白它在做什么。

three.js。 r.60

+0

我知道这个功能,但没想到它能解决我的问题 - 太棒了!我总是搜索一些功能来扩展我的Bbox ......非常感谢! – PanChan