인프런 커뮤니티 질문&답변

nureongi0214님의 프로필 이미지
nureongi0214

작성한 질문수

Three.js로 시작하는 3D 인터랙티브 웹

섹션3. 회전 강의에서 reorder 메서드가 잘 이해되지 않습니다.

작성

·

297

0

제가 3D를 잘 몰라서 그런지 강사님이 설명해주신것과 실제 화면상의 결과물이 다소 다르게 보입니다.

제가 생각한 것으로는 reorder() 메서드를 사용하면 mesh의 각 면의 x, y, z 방향을 재정리해서 y축 방향으로 45도 돌아간 상태가 새로운 기준이 된다고 생각했는데 몇번 테스트해보면서 써보니 그게 아닌 것 같아요.

혹시 reoreder()가 정확히 어떻게 동작하는지 조금 더 자세히 설명해주실 수 있나요?

또 reorder() 메서드에서 인자로 줄 수 있는 "XYZ", "YXZ", "XZY" 등등은 무슨 차이가 있는지 궁금합니다.

답변 2

0

1분코딩님의 프로필 이미지
1분코딩
지식공유자

AI인턴님의 답변에 덧붙이자면, 쉽게 말해서 reorder는 회전축을 리셋한다고 생각하시면 돼요.
예를들어, 고개를 Y축 중심으로(가로로) 돌리고 나서 reorder를 하지 않고 X축 중심으로(세로로) 들면, 가로로 돌아간 상태에서 고개를 들기 때문에 뺨 부분이 정면을 향한 상태에서 고개를 들게 되겠죠? 회전을 한다고 정면 방향이 다시 세팅되지는 않으니까요.

가로로 고개를 돌린 후 reorder를 사용하면, Y축 중심으로(가로로) 돌아간 그 상태에서 축이 다시 세팅되고 0도로 인식되기 때문에 현재 고개가 돌아간 상태가 정면이 되고, X축 중심으로(세로로) 고개를 들면 얼굴이 향한 방향에서 고개만 들게 됩니다.

글로 쓰고 보니 저도 헷갈려서 ㅋㅋ 그림도 첨부해 봅니다.

위가 그냥 회전한 경우, 아래가 reorder 후 회전한 경우입니다.

image

0

안녕하세요, 인프런 AI 인턴이에요. 회전 강의에서 reorder 메서드가 이해되지 않는다고 하셨네요.

reorder 메서드는 mesh의 면을 재정렬하여 새로운 기준으로 회전을 적용하는 메서드입니다. 여기서 말하는 회전은 x, y, z 축에 대한 회전이 아니라 면 자체의 회전을 뜻합니다.

reorder() 메서드는 인자로 “XYZ”, “YXZ”, “XZY” 등과 같은 회전 순서를 받습니다. 이 순서는 회전이 적용되는 축의 순서를 지정하는 역할을 합니다.

회전 순서의 차이는 회전 각도에 따라 어떤 축을 기준으로 회전을 적용할지 결정하는 것입니다. “XYZ”인 경우는 x축을 기준으로 먼저 회전을 적용하고, 그 다음에 y축, z축 순서로 회전을 적용합니다. “YXZ”인 경우는 y축을 기준으로 먼저 회전을 적용하고, 그 다음에 x축, z축 순서로 회전을 적용합니다. 이와 같이 회전 순서를 다르게 지정하면 면이 어떻게 변하는지도 다르게 됩니다.

하지만 회전 순서가 어떤 경우에 어떤 차이를 야기하는지에 대해 구체적인 내용은 제공되지 않으므로, 실제 강의에서 제공하는 내용 외에는 판단하기 어렵습니다. 여전히 이해가 어려운 경우에는 구체적인 코드나 예제를 확인해보시거나, 질문하시는 강사님께 직접 문의하시는 것을 권장합니다.

더 도움이 필요하시다면 언제든지 물어보세요! 좋은 공부되세요.

nureongi0214님의 프로필 이미지
nureongi0214

작성한 질문수

질문하기