2015-06-01 3 views
1

Я использую OBJloader для загрузки файла .obj в WEBGL, Three.js. Я хочу получить доступ к вершинам и граням объектов, но geometry.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

Я проверил некоторые образцы, используя geometry.vertices с OBJloader, но он не работает в моем коде. Кроме того, мне нужно переместить объект позже и обновить позиции вершин, а также получить доступ к граням. Но он не имеет доступа к грани в атрибутах буферометрии. –

+0

Спасибо, очень цените это, он работал отлично. –

ответ

3

Если загрузчик вы используете возвращается BufferGeometry, вы можете преобразовать возвращенное геометрию Geometry в загрузчике обратного вызова, используя шаблон следующим образом:

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

three.js R.71

Смежные вопросы