【问题标题】:JavaScript - Three.js compute bounding box of Object3D with BufferGeometryJavaScript - Three.js 使用 BufferGeometry 计算 Object3D 的边界框
【发布时间】:2023-03-26 05:20:01
【问题描述】:

我有一个Object3D,其中包含多个级别的子级(更多 Object3D 或网格/线)。 Box3 类有一个 setFromObject() 方法,它将计算对象及其所有后代的边界框。这是我正在寻找的行为。

但是,我不能使用Box3setFromObject() 方法,因为我没有使用Geometry 对象。相反,我正在处理的项目只使用BufferGeometryBufferGeometry 对象没有 .vertices 属性,这是 setFromObject() 函数在计算边界框时寻找的。​​p>

var bbox = new THREE.Box3().setFromObject(object);
console.log(bbox.min); // x, y, and z are all Infinity.
console.log(bbox.max); // x, y, and z are all -Infinity.

我也一直在尝试使用BufferGeometrycomputeBoundingBox() 方法,但是在操作几何图形时它似乎没有更新边界框。我认为这可能与matrixAutoUpdatefalse 有关,但我也尝试过明确调用updateMatrix() 无济于事。

如果使用BufferGeometry 类,有没有办法计算Object3D 及其所有后代的边界框?我是 Three.js 的新手,因此我们将不胜感激!

我正在使用 Three.js r66。

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    Box3.setFromObject( object ) 现在支持BufferGeometry

    three.js r.69dev(开发版)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多