gpt4 book ai didi

javascript - 如何从 Three.js 中上传的 obj 文件中获取顶点

转载 作者:行者123 更新时间:2023-11-29 10:39:20 29 4
gpt4 key购买 nike

我正在为 WebGL 和 Three.js 开发的体积渲染工具上传一系列 .obj 和 .mtl 文件。在部分代码中,我使用 OBJMTLLoader 上传文件:

 scapula = new THREE.OBJMTLLoader();
scapula.load( 'obj/scapulaTWO.obj', 'obj/scapulaTWO.mtl',
function ( object ) {
object.name = "scapula";
object.scale.set (4,4,4);
vertices = object.geometry.vertices;
scene.add(object);
});

但是我无法访问顶点。调试器说 object.geometry 未定义。我也试过了

    vertices = new THREE.Mesh(object);

但是没有用。如果你能帮助我,我将不胜感激。

提前致谢。

最佳答案

three.js 中导入的 3d 模型的节点结构取决于 OBJ 文件的结构和分组元素,如 og ( http://www.fileformat.info/format/wavefrontobj/egff.htm#WAVEOBJ-DMYID.2 ).

您可以使用浏览器调试器了解 three.js 如何构建您的结构。在我的例子中(我在 OBJ 文件中声明了几个对象)结构如下所示:

模型(THREE.Group) > children(Array) > child[i](THREE.Object3D) > children(Array) > child[j](THREE.Mesh) > geometry(THREE.Geometry) > vertices(Array )

这里你访问了 object3d i 中 Mesh j 的顶点 k:

var vertexK = object.children[i].children[j].geometry.vertices[k];

关于javascript - 如何从 Three.js 中上传的 obj 文件中获取顶点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31768994/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com