2015-06-01 29 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