2014-10-15 2 views
1

저는 큐브가 있으며 각 큐브 버텍스에 대해 작은 구를 만들어야합니다. 어떻게 할 수 있습니까? 아래가 내 큐브입니다 :Three.js 큐브 꼭지점 중심에 구체를 만듭니다

var geometry0 = new THREE.Geometry() 
geometry0.vertices = [new THREE.Vector3(0.5, -0.5, 0.5), new THREE.Vector3(-0.5, -0.5, 0.5), new  
THREE.Vector3(-0.5, -0.5, -0.5), new THREE.Vector3(0.5, -0.5, -0.5), new THREE.Vector3(0.5, 0.5, 
0.5), new THREE.Vector3(-0.5, 0.5, 0.5), new THREE.Vector3(-0.5, 0.5, -0.5), new  
THREE.Vector3(0.5, 0.5, -0.5)]; 
geometry0.faces = [new THREE.Face3(3, 2, 1), new THREE.Face3(3, 1, 0), new THREE.Face3(4, 5, 6), 
new THREE.Face3(4, 6, 7), new THREE.Face3(0, 1, 5), new THREE.Face3(0, 5, 4), new THREE.Face3(1, 
2, 6), new THREE.Face3(1, 6, 5), new THREE.Face3(2, 3, 7), new THREE.Face3(2, 7, 6), new 
THREE.Face3(3, 0, 4), new THREE.Face3(3, 4, 7)]; 

geometry0.computeFaceNormals(); 
geometry0.computeVertexNormals(); 
var material0 = new THREE.MeshBasicMaterial({ color: 0x39d2dbe7fff39d2, transparent: true, opacity: 0 }); 
mesh0 = new THREE.Mesh(geometry0, material0); 
egh0 = new THREE.EdgesHelper(mesh0, 0x000); 
egh0.material.linewidth = 2; 
scene.add(egh0); 

답변

0

내가 큐브의 정점을 반복 할 것이며, 각 정점에 대해, 그 지점을 중심으로 구를 만들 수 있습니다.

코드의 예는 다음과 같다 (0.2 반경 빨간색 분야 드로잉) 될 수

:

var spheres = []; 
for (var i=0 ; i<geometry0.vertices.length ; i++){ 
    var sphereGeometry = new THREE.SphereGeometry(0.2,10,10); 
    var sphereMaterial = new THREE.MeshBasicMaterial({color: 0xff0000,opacity:1}); 
    var spheres[i] = new THREE.Mesh(sphereGeometry,sphereMaterial); 
    spheres[i].position.set(geometry0.vertices[i].x, 
         geometry0.vertices[i].y, 
         geometry0.vertices[i].z); 
    scene.add(spheres[i]); 
} 
관련 문제