【问题标题】:three.js: bounding box strange behaviour三.js:边界框奇怪的行为
【发布时间】: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) 是可以访问的。

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

【问题讨论】:

    标签: javascript three.js bounding-box


    【解决方案1】:

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

    object.geometry.computeBoundingBox();
    
    console.log( object.geometry.boundingBox );
    

    three.js r.87

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2012-01-04
      • 2022-10-18
      • 2021-05-27
      • 2018-10-07
      • 2013-02-04
      • 2014-04-11
      相关资源
      最近更新 更多