ThreeJS에서 로컬 축 회전이 작동하는 방법을 이해하는 데 어려움을 겪고 있습니다. 이 Rotate around local axis 답변을 보았고 기대했던 방식대로 작동하지 않습니다.THREEJS 개체 로컬 축 주위를 어떻게 회전합니까?
나는이 실린더를 생성하고
const geometry = new THREE.CylinderBufferGeometry(10, 10, 20);
geometry.rotateX(Math.PI/2)
가 어떻게 다음 긴 축을 따라 실린더를 회전 할 돌리면?
나는이 일을하기를 기대한다 : geometry.rotateY(Math.PI/5)
하지만 세계 축을 중심으로 회전하고있는 것으로 보인다. 난 그냥 누군가가 도움이되는 객체의 내부 축을 중심으로 회전하는 방법을 설명 할 수
geometry.rotateY(Math.PI/5)
geometry.rotateX(Math.PI/2)
을했던 것처럼이 동일하게 보이게하기 위해 로컬 축 주위를 회전하려면?
실제로 어떻게됩니까 : https://jsfiddle.net/81j6g2ms/1/
내 사용 사례 먼저 X와 임의의 양을 중심으로 회전 나를 필요로하고 내가 주위를 회전해야합니다 https://jsfiddle.net/h20hnn3n/46/
가 나는 것처럼보고 싶어 무엇 낡은 Y 축이므로이 순서대로 처리하면 좋을 것입니다.
편집 : 지오메트리 대 메시를 회전하는지 여부가 중요합니다. 그것은 어느 쪽이든 그것을하는 것과 동등해야하지 않습니까? https://jsfiddle.net/10L8se71/2/ 다른 사람이로 실행
나는이 여기에 대한 답이 생각 : https://stackoverflow.com/questions/28848863/threejs-how-to-rotate-around-objects-own-center 다음은 올바른 결과로 끝 -in-of-world-center –
나는 이것이 같은지 모르겠습니다. 나는 한 번 회전 한 후에 회전의 축에 대해 혼란스러워합니다. 이것은 회전하는 축을 변경하는 방법을 보여 주는 것입니다. – schlaegerz
내가 당신이 놓친 것을 더 잘 이해한다면, 나는 당신을 도울 것입니다. 나는 몇 가지 사실을 던질 것이다. 원통은 길이가 긴 (20 단위 높이) 수직으로 만들어져 있으며 원점에 정렬되어 있습니다. WebGL 축은 X (오른쪽 - 왼쪽), Y (하향식), Z (앞으로 - 뒤로)입니다. 따라서 장축은 Y 축이고 Y를 중심으로 회전합니다. 회전 순서. X를 중심으로 회전하면 이미 수직 축을 중심으로 회전하여 사용자쪽으로 또는 사용자쪽으로 기울어집니다. 혼란이 어디에서 유래되었는지 확실하지 않습니다. –