Javascript 如何从Three.js中上载的obj文件中获取顶点
我正在为WebGL和Three.js开发的体绘制工具上传一系列.obj和.mtl文件。在部分代码中,我使用OBJMTLLoader上载文件: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";
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];