【发布时间】:2016-01-22 07:03:02
【问题描述】:
我一直在使用 fromGeometry 方法从常规 Geometry 对象生成 BufferGeometry 对象,并且我发现在转换过程中顶点的数量似乎增加了。例如,如果我这样做:
var geometry = new THREE.BoxGeometry(80,80,80,16,16,16);
var bGeometry = new THREE.BufferGeometry();
bGeometry.fromGeometry(geometry);
console.log(bGeometry.getAttribute('position'));
console.log(geometry.vertices.length);
我得到一个 Float32Array[27648],除以 3 得到 9216,而几何有 1538 个顶点。我了解 THREE.BoxGeometry 合并了一些顶点,所以我怀疑这可能与它有关,但我是否更正 BoxGeometry 对象具有更多顶点?或者几何对象是否在 GPU 中“未压缩”,所以它们实际上具有相同数量的顶点,只是不在我的几何对象中?
我问的原因是我试图创建一个自定义属性,但是当我只迭代我的几何对象中的顶点数时我的数组太短,认为会有相同数量的顶点在两个对象中。
【问题讨论】:
标签: javascript three.js