如何从Object3D创建BufferGeometry?

时间:2019-03-09 09:39:00

标签: javascript three.js

如何从使用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

图片中我缺少什么?

1 个答案:

答案 0 :(得分:1)

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

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

您现在可以访问geometry.faces;