2015-06-01 26 views
1

我正在使用OBJloader在WEBGL,Three.js中加载.obj文件。 我想访问对象的顶点和面,但是geometry.vertices不返回顶点位置,它给了我未定义的。.vertices数组不给顶点在THREE.js

下面是一段代码:

var tool= new THREE.OBJLoader(); 
tool.load('../obj/tool.obj', function (object) { 
      var material = new THREE.MeshLambertMaterial({color:0xA0A0A0});    
      object.traverse(function (child) { 
       if (child instanceof THREE.Mesh) { 
        child.material = material; 
        console.log("child" + child.geometry.vertices);} } 

R.70

,我感谢您的帮助提前。

+0

装载机正在返回[BufferGeometry](http://threejs.org/docs/#Reference/Core/BufferGeometry)。 – WestLangley

+0

我用OBJloader检查了几个使用geometry.vertices的示例,但它在我的代码中不起作用。此外,我需要稍后移动对象并更新顶点位置并访问面部。但它无法访问缓冲区几何属性中的面。 –

+0

谢谢,非常感谢,它工作完美。 –

回答

3

如果您使用的是返回BufferGeometry装载机,你可以返回的结构使用转换为Geometry在装载机回调的模式,像这样:

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

three.js所r.71