三.js:边界框奇怪的行为
Posted
技术标签:
【中文标题】三.js:边界框奇怪的行为【英文标题】:three.js: bounding box strange behaviour 【发布时间】:2018-02-10 10:24:33 【问题描述】:我正在使用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);
当我尝试访问计算的边界框 (helper_bbox.geometry.boundingBox
) 时,我注意到它的值是 null
,尽管它在屏幕上完美呈现。尽管如此,边界球体 (helper_bbox.geometry.boundingSphere
) 是可以访问的。
我不知道为什么会这样。有人对此有任何想法吗?有没有我应该明确调用的方法来检索边界框点的坐标?谢谢。
【问题讨论】:
【参考方案1】:几何边界框不会自动计算,除非其他内部方法需要它们。您可以强制计算框 - 并检查它 - 如下所示:
object.geometry.computeBoundingBox();
console.log( object.geometry.boundingBox );
three.js r.87
【讨论】:
以上是关于三.js:边界框奇怪的行为的主要内容,如果未能解决你的问题,请参考以下文章