Javascript 使用three.js加载OBJMTL对象并获取网格的几何参数
我只是加载了一个MTLOBJ,一切都很好,但是当我想获取对象的几何体属性来获取顶点时,没有办法,因为显然,它加载了一个应该有网格的Object3D。但我几乎没有找到解决这个问题的方法 看起来Mrdoob提议获取解析数据,但解析函数中使用的每个参数都设置为私有Javascript 使用three.js加载OBJMTL对象并获取网格的几何参数,javascript,three.js,geometry,mesh,vertices,Javascript,Three.js,Geometry,Mesh,Vertices,我只是加载了一个MTLOBJ,一切都很好,但是当我想获取对象的几何体属性来获取顶点时,没有办法,因为显然,它加载了一个应该有网格的Object3D。但我几乎没有找到解决这个问题的方法 看起来Mrdoob提议获取解析数据,但解析函数中使用的每个参数都设置为私有 我尝试从几何体参数中获取顶点参数,几何体参数应该在网格中,但没有办法,甚至可以查看文档 通过执行以下操作,可以在层次结构中找到几何体: object.traverse( function ( child ) { if ( chil
我尝试从几何体参数中获取顶点参数,几何体参数应该在网格中,但没有办法,甚至可以查看文档 通过执行以下操作,可以在层次结构中找到几何体:
object.traverse( function ( child ) {
if ( child.geometry !== undefined ) {
console.log( child.geometry.vertices );
}
} );
经过一些研究,似乎对象3D是由网格组成的 在加载OBJMTL(.obj和.mtl)的情况下,名为modele的Object3D通过modele.children[O]可以访问网格,通过modele.children[0].geometry.vertices可以访问几何体的数组顶点 我在寻找一种方法来确保我赋予我的modele的对象是带有他的几何参数的网格,谢谢Doob先生
function loadModel(obj, mtl) {
loader.load(obj, mtl, function ( object ) {
modele = object;
//loadingDone = true;
analyseModel();
//putModel();
});
}
function analyseModel() {
analyser = new AnalyseObj(modele.children[0]); //I give the Mesh of my model
}
我的OBJ的结果是
未定义
。