javascript - 如何从 Object3D 创建 BufferGeometry?

标签 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

我从图片中遗漏了什么?

最佳答案

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

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

您现在可以访问 geometry.faces ;

关于javascript - 如何从 Object3D 创建 BufferGeometry?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55075955/

相关文章:

javascript - 在 VI 中保存文件后如何刷新网络浏览器

animation - Maya 到 Three.js 的动画

javascript - 地形交叉性能

javascript - 无需 Three.js 即可对 JSON 模型进行动画处理

javascript - 键盘记录器仅在使用特定应用程序时使用

javascript - 通过Mysql打印内容的打印命令

javascript - 读取嵌入 JSON 的图表也会读取 JSON 文件吗?

javascript - Ember 数据 : Sideloaded records creates duplicates in Store and weird behavior

javascript - Three.js 着色器 Material 不显示粒子

math - "random"恒星生成中出现不良行