2013-08-27 118 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