2017-09-25 1 views
0

위 그림과 같이 정사면체의 각면을 분리하고 싶습니다. 아무도 날 관련 예제 또는 그것을 작동시키는 방법에 대한 어떤 생각을 가리킬 수 있습니다. 내 예제 20 면체에서 각 얼굴은 재료로 다른 이미지 질감을 가지고 그래서 Shadermaterial 사용할 수 없습니다.입체 면체 형상의 각면을 three.js를 사용하여 빈 공간으로 구분하십시오.

image

감사

+0

아마도 https://threejs.org/examples/?q=mod#webgl_modifier_tessellation – Radio

+0

감사합니다, 이미지의 질감 전화 자료 유형에 테셀레이션 작업은 메쉬는 무엇입니까? –

+0

도와 주실 수 있습니까? @WestLangley –

답변

2

당신은 "삼각형 수프"소위로 지오메트리를 변환 ExplodeModifier를 사용하고 당신이 원하는대로 정점을 변환 할 수 있습니다.

var geometry = new THREE.IcosahedronGeometry(4, 2); 

var modifier = new THREE.ExplodeModifier(); 
modifier.modify(geometry); 

var normal = new THREE.Vector3(); 

for (var i = 0, l = geometry.faces.length; i < l; i ++) { 

    var face = geometry.faces[ i ]; 

    normal.copy(face.normal).multiplyScalar(1); 

    geometry.vertices[ face.a ].add(normal); 
    geometry.vertices[ face.b ].add(normal); 
    geometry.vertices[ face.c ].add(normal); 

}; 

examples/js/modifiers/ExplodeModifier.js은 프로젝트에 명시 적으로 포함되어야합니다.

three.js를 r.87

+0

Thansk.It worked.can 당신은 기본적인 것들을 배우기위한 참고 도서 또는 사이트를 제안 할 수 있습니다. –

+0

https://stackoverflow.com/questions/11966779/learning-webgl-and-three-js/11970687#11970687 – WestLangley