2017-05-20 1 views
0

저는 10 면체를 그려야합니다. 그러나 결과의 모양이 기대 이하입니다. 그 이유와 다음 단계는 12 면체로 그려야겠습니까? The result of the OctahedronThree.js : 8 면체를 그려야합니다

내 코드 :

var mesh, renderer, scene, camera, controls; 

init(); 
animate(); 

function init() { 

// renderer 
renderer = new THREE.WebGLRenderer(); 
renderer.setSize(window.innerWidth, window.innerHeight); 
document.body.appendChild(renderer.domElement); 

// scene 
scene = new THREE.Scene(); 

// camera 
camera = new THREE.PerspectiveCamera(40, window.innerWidth/
window.innerHeight, 1, 10000); 
camera.position.set(20, 20, 20); 

// controls 
controls = new THREE.OrbitControls(camera); 

// ambient 
scene.add(new THREE.AmbientLight(0x222222)); 

// light 
var light = new THREE.DirectionalLight(0xffffff, 1); 
light.position.set(20, 20, 0); 
scene.add(light); 

// axes 
scene.add(new THREE.AxisHelper(20)); 

// geometry 
//var geometry = new THREE.SphereGeometry(5, 12, 8); 
var vertices = [ 
       0.5,0,0, 0,0.3,0, -0.5,0,0, 0,-0.3,0, 0,0,0.3, 0,0,-0.3 
      ]; 
      var faces = [ 
       0,1,4, 1,2,4, 2,3,4, 3,0,4, 0,1,5, 1,2,5, 2,3,5, 3,0,5 
      ]; 
var geometry = new THREE.PolyhedronGeometry(vertices, faces, 5, 1); 
// material 
var material = new THREE.MeshPhongMaterial({ 
    color: 0x00ffff, 
    shading: THREE.FlatShading, 
    wireframe:true, 
    transparent: true, 
    opacity: 0.7, 
}); 

// mesh 
mesh = new THREE.Mesh(geometry, material); 
scene.add(mesh); 

} 

function animate() { 

requestAnimationFrame(animate); 

//controls.update(); 

renderer.render(scene, camera); 

} 

답변

0

사용

var geometry = new THREE.OctahedronGeometry(5, 0); // or DodecahedronGeometry 

읽고 직접 PolyhedronGeometry을 사용하려는 경우 OctahedronGeometry.js의 소스 코드를 이해합니다.

wireframe이 참이면 MeshBasicMaterial을 대신 사용하십시오.

three.js를 r.85

+0

어떤 경우는 X, Y, Z와 differnt 한 길이의 octahedronGeometry을 만들려? – yanyanli720

+0

비정규 다각형을 의미합니까? 그렇다면'PolyhedronGeometry'를 사용할 수 있지만'appplyRadius (radius);'행의 주석을 달아야합니다. 실제로는 철자가 잘못되었습니다. – WestLangley

+0

polyhedronGeometry.js의 applyRadius (반지름) 행이 작동하지 않습니다. 이유는 ~ – yanyanli720

관련 문제