Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Three.js中上载的obj文件中获取顶点_Javascript_Three.js - Fatal编程技术网

Javascript 如何从Three.js中上载的obj文件中获取顶点

Javascript 如何从Three.js中上载的obj文件中获取顶点,javascript,three.js,Javascript,Three.js,我正在为WebGL和Three.js开发的体绘制工具上传一系列.obj和.mtl文件。在部分代码中,我使用OBJMTLLoader上载文件: scapula = new THREE.OBJMTLLoader(); scapula.load( 'obj/scapulaTWO.obj', 'obj/scapulaTWO.mtl', function ( object ) { object.name = "scapula";

我正在为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文件的结构和分组元素,如
o
g
()

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

模型(THREE.Group)>子对象(数组)>子对象[i](THREE.Object3D)>子对象(数组)>子对象[j](THREE.Mesh)>几何体(THREE.geometry)>顶点(数组)

在这里,您可以访问object3d i中网格j的顶点k:

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