기본 기하학 클래스를 사용하려는 경우 모든 고유 정점을 장면에 추가해야합니다. 당신은 [... 우리가 다음 우리의 정점에서 얼굴을 구성하기 위해, 당신은 위에 밀어 순서대로 정점의 인덱스를 전달해야합니다 그래서
var geometry = new THREE.Geometry();
var v1 = new THREE.Vector3(0,0,0); // Vector3 used to specify position
var v2 = new THREE.Vector3(1,0,0);
var v3 = new THREE.Vector3(0,1,0); // 2d = all vertices in the same plane.. z = 0
// add new geometry based on the specified positions
geometry.vertices.push(v1);
geometry.vertices.push(v2);
geometry.vertices.push(v3);
처럼 정점 클래스와
을 수행 할 수 있습니다 EDIT] : mrdoob이 아래에서 지적했듯이 시계 반대 순서로 추가해야합니다.
![enter image description here](https://i.stack.imgur.com/yvcAE.png)
이
내 바이올린의 문제였다.
fixed demo here을 볼 수 있습니다.
geometry.faces.push(new THREE.Face3(0, 2, 1));
마지막으로 재질을 만들어 지오메트리와 결합하여 메쉬를 만듭니다. 2D의 경우에도 이것을 표시하기 위해 메쉬를 만들어야한다고 생각합니다.
var redMat = new THREE.MeshBasicMaterial({color: 0xff0000});
var triangle = new THREE.Mesh(geometry, redMat);
scene.add(triangle) // added at the origin
EDIT : mrdoob에게 감사드립니다. THREE.Vertex는 더 이상 지원되지 않습니다. 정점은 단순히 벡터 위치로 푸시됩니다. –
답장을 보내 주셔서 감사합니다. 나는 기본적으로 똑같지 만 검은 색 만 보았습니다. 나는 틀린 일을해야만합니다. 빨간색으로 보입니까? –
흠, 옳은 것 같습니다. 나는 방금이 [jsfiddle here] (http://jsfiddle.net/hyvng/5/)을 설정했고 색깔도 얻지 못하고있다. 무엇이 잘못되었는지 확실하지 않습니다. 아마도 mrdoob은 무엇이 잘못 되었을지에 대한 또 다른 대답을 줄 수 있습니다. CubeGeometry가 대신 만들어 지도록 선의 주석을 제거하면 잘 렌더링됩니다. –