나는 지오메트리 오브젝트를 가지고 있는데, 그 지오메트리를 돌아 다니는 토러스 메쉬를 추가하려고합니다. 제가하려는 것은 원래의 지오메트리를 가졌고 지오메트리를 클릭하면 클릭 한 위치 주변의 선상에 토러스 모양을 추가합니다. 그러나 올바르게 회전시키는 데 문제가 있습니다.축 주위의 회전 오브젝트
정확한 위치에 토러스가 나타나지만 선 주위로 방향을 지정할 수 없습니다. 나는 클릭 한 포인트를 얻기 위해 레이캐스터를 사용하고 있으므로, 클릭 한 포인트의 얼굴과 얼굴 인덱스가 있습니다. 모든 구현에서 (setEulerFromRotationMatrix를 사용하여) 회전을 사용해보십시오. 실제로 토러스 메쉬의 위치를 이동시키고 실제로 회전 시켜서 토러스를 통과하도록 허용하지 않습니다.
이것은 사소한 것처럼 보이지만 내게 많은 어려움을주고 있습니다. 내가 도대체 뭘 잘못하고있는 겁니까? 두 가지 방법은 내가 unsucessful 위의 행동 전시를 모두 시도 : 나는 스플라인의 곡선을 따라 원환 체 매듭이 필요
var rotationMatrix = new THREE.Matrix4();
rotationMatrix.makeRotationAxis(geometry.faces[fIndex].centroid.normalize(), Math.PI/2);
torusLoop.matrix.multiply(rotationMatrix);
torusLoop.rotation.setEulerFromRotationMatrix(torusLoop.matrix);
//attempt two, similar results to above attempt
tangent = geometry.tangents[segments/radiusSegments].normalize();
axis.crossVectors(up, tangent).normalize();
var radians = Math.acos(up.dot(tangent));
matrix.makeRotationAxis(axis, radians);
torusLoop.rotation.setEulerFromRotationMatrix(matrix);
을하지만, 그것은 단지 평면 유지되며, 회전은 단순히 주위하지 이동하게 각도를 바꿉니다.