three.js:边界框奇怪的行为

时间:2017-09-01 10:59:59

标签: javascript three.js bounding-box

我正在使用three.js,我注意到某些内容无法正常发挥作用。在我的应用程序中,我定义了一个立方体及其边界框:

var scene = new THREE.Scene();
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshPhongMaterial({color: 0xbaf5e8, flatShading: true});
var cube = new THREE.Mesh( geometry, material );
cube.receiveShadow = true;
scene.add(cube);
var helper_bbox = new THREE.BoxHelper(cube);
helper_bbox.update();
scene.add(helper_bbox);

当我尝试访问计算的边界框({​​{1}})时,我注意到它的值为helper_bbox.geometry.boundingBox,尽管它在屏幕上完美呈现。然而,边界球(null)是可访问的。

我无法弄清楚为什么会这样。有没有人对此有任何想法?有没有我应该明确调用的方法来检索边界框的点的坐标?感谢。

1 个答案:

答案 0 :(得分:1)

几何边界框不会自动计算,除非它们是另一个内部方法所必需的。您可以强制计算框 - 并检查它 - 如下所示:

object.geometry.computeBoundingBox();

console.log( object.geometry.boundingBox );

three.js r.87