2013-09-23 3 views
0

블렌더에서 모델을 가져 와서 모든 정점을 반복하려고합니다. 가져 오기에 colladaloader를 사용하고 있습니다. 모두 잘 작동하고 모델이로드 중입니다. 그러나 저는 모델의 얼굴을 원하지 않습니다 - 저는 단지 내 목적을 위해 정점 위치 만 필요로합니다.three.js - 객체의 정점을 얻는 방법은 무엇입니까?

아무에게도이를 알릴 방법이있을 수 있습니까? 예 : 가져온 모델의 모든 정점을 반복하는 루프?

감사합니다, 토모

답변

0

글쎄, 당신은 로더 모듈을 사용하여, 메쉬로 블렌더 모델을 가져옵니다. 메쉬는 그것이 기반으로하는 도형을 가지고 있습니다. 그리고 기하학은 정점 배열을 가지고 있습니다. 그냥 반복 해? 그리고 모델을 표시하고 싶지 않으면 장면에 추가하지 마십시오. 언뜻보기에 당신의 질문은별로 잘 조사되지 않은 것처럼 보입니다. Mesh 객체 구조를 확인하고 Three.js 예제를 확인하십시오!

1

geo이 당신의 형상을 나타내는 경우 :

for (var i = 0; i < geo.vertices.length; i++) 
{ 
    var v = geo.vertices[i]; 
    // do stuff with v... 

} 
1

좋아 지금은 그것을 가지고 ...

을 console.log()로드 .dae 만 파일 뒤에 무엇인지 구조를보고 나에게 많은 도움이되었습니다.

loader.load('./models/collada/test.dae', function (collada) {     
    for(i = 0; i < collada.scene.children.length; i++) { 
     if(collada.scene.children[i].geometry) { 
      for(j = 0; j < collada.scene.children[i].geometry.vertices.length; j++) { 
       //do stuff... 
      } 
     } 
    } 

    //... 
}); 
관련 문제