如何使用我用OBJLoader创建的Object3D创建BufferGeometry?我正在执行此操作,因为该几何可以作为OBJ文件使用,但是我希望能够一张一张地更新面。

我尝试过

console.log(Object.getPrototypeOf(geometry))
// Object3D

var bgeometry = new THREE.BufferGeometry().fromGeometry( geometry )
// throws: Cannot read property '0' of undefined




var bgeometry = new THREE.BufferGeometry();
bgeometry.setFromObject(geometry);
console.log(bgeometry.faces);
// bgeometry.faces is undefined


图片中我缺少什么?

最佳答案

似乎有点误会。 BufferGeometry没有faces属性。也许您想将BufferGeometry转换为Geometry呢? OBJLoader确实将几何数据解析为BufferGeometry的实例。尝试像这样转换生成的几何:

var geometry = new THREE.Geometry().fromBufferGeometry( bufferGeometry );


您现在可以访问geometry.faces

10-08 00:14