(블렌더와 같은 어떤을위한 좋은 three.js exporter 이미 존재) 작성에 3D 편집기를 통해 수출 모델에서, three.js를 지오메트리를 사용하는 여러 가지 방법이 있습니다 처음부터 기하학.
한 가지 방법은 THREE.Geometry의 인스턴스를 만들고 정점을 추가 한 다음 얼굴 인덱스를 추가하는 방법을 배우는 것이지만 쉬운 방법은 아닙니다. 나는 등 THREE.CubeGeometry, THREE.CylinderGeometry, THREE.IcosahedronGeometry, THREE.OctahedronGeometry 같은 (엑스트라/형상의 패키지에있는) 기존 형상)로 시작하는 제안
또한 정말 멋진 클래스가 있습니다 그 돌출 (THREE.ExtrudeGeometry)과 선반 (THREE.LatheGeometry)을 생성 할 수 있습니다. extrusions의 경우 example을 참조하십시오.
반구 생성에 대해 언급했습니다. LatheGeometry를 사용하기에 이상적인 후보입니다. 반원형 경로 (Vector3 인스턴스의 배열)를 작성하고 선반으로 전달하여 반원을 3D로 회전 (반구)하면됩니다. 메시에
var pts = [];//points array - the path profile points will be stored here
var detail = .1;//half-circle detail - how many angle increments will be used to generate points
var radius = 200;//radius for half_sphere
for(var angle = 0.0; angle < Math.PI ; angle+= detail)//loop from 0.0 radians to PI (0 - 180 degrees)
pts.push(new THREE.Vector3(Math.cos(angle) * radius,0,Math.sin(angle) * radius));//angle/radius to x,z
geometry = new THREE.LatheGeometry(pts, 12);//create the lathe with 12 radial repetitions of the profile
플러그 그 형상을하고 밥의 당신 삼촌 : 다음은 예입니다!
선택적으로 당신은 GeometryUtils를 사용하여 메쉬/피벗을 중심으로 수
THREE.GeometryUtils.center(geometry);
재밌게을!
고마워요. 당신이 무슨 말을하는지 알 수 있습니다. 그럼 어떻게 객체를 드래그 할 수있게 할 수 있습니까? 몇 가지 예를보고 그것이 3과 관련이 있다는 것을 알았습니다. 레이 ... 그것에 대해 아는가? – BorisD
도움이 되니 기쁩니다. three.js로 무언가를하고 싶을 때마다 이미 예제가 있는지 확인합니다. [webgl_interactive_draggablecubes] (http://mrdoob.github.com/three.js/examples/webgl_interactive_draggablecubes.html)는 시작할 곳입니다. mouseup/mousedown/mousemove 리스너를 사용해야합니다. 아이디어는 마우스의 2D 좌표는 카메라를 기반으로 3D로 변환되고 광선은 공간을 통해 '촬영'됩니다. 그런 다음 해당 광선/선 (임의의 교차점)에 개체가 있는지 확인하는 테스트가 있습니다. 그렇다면 SELECT (선택됨)가 목록의 첫 번째 개체 (있는 경우)로 설정됩니다. –
짧은 설명 리스너를 프로젝트에 추가하고 SELECTED 및 INTERSECTED 및 프로젝터 변수가 맨 위에 있으면 파일에서도 잘 작동합니다. –