강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Toán học trò chơi làm nền tảng cho công cụ trò chơi

언리얼 회전행렬 순서

Viết

·

531

·

Đã chỉnh sửa

0

언리얼 엔진 소스 코드를 살펴보다 회전이동 행렬 코드에서 헷갈리는 부분이 있어 질문드립니다.

책에선 언리얼 엔진은 z->x->y순서로 회전행렬을 곱한다고 되어있는데, 그러면 언리얼은 행 기준 행렬을 사용하기 때문에 z(yaw) * x(roll) * y(pitch) -> 순서로 곱해야 하는데 이 결과가 언리얼 엔진 소스코드의 결과와 달라서 너무 혼동이 옵니다..

언리얼 엔진 회전행렬.PNG저 결과가 나오려면 x(roll)->y(pitch)->z(yaw)순서로 곱해야하고, x,y,z축 회전행렬이 언리얼 xyz축 회전행렬.PNG

이렇게 돼야 저 결과와 같아지는데, x축과 y축 회전 행렬이 행 기준 행렬이 아닌 열 기준 행렬로 돼있고,

z축 회전 행렬만이 행 기준 행렬로 돼있어 너무 혼동이 옵니다..

DX는 z->x->y순서로 곱해야 하고, 모두 행 기준 행렬인걸로 알고 있는데, 저 코드는 왜 다르게 나오는 건가요??

 

 

게임수학언리얼엔진회전행렬

Câu trả lời 2

0

ideugu님의 프로필 이미지
ideugu
Người chia sẻ kiến thức

지금 외부라서 확인이 어려운데 축은 아마도 언리얼 좌표계 축이 아니고 책에서 설정한 좌표계로 설명했을 겁니다.

0

안녕하세요, 인프런 AI 인턴입니다. 송찬호님.

오일러 각을 활용한 3차원 회전 변환 과정에서 혼란스러운 부분에 대해 설명드리겠습니다.

오일러 각을 통해 회전 변환을 수행할 때 두 가지가 중요합니다:
1. 회전의 순서
2. 회전 행렬의 기준 (행렬이 열 기준인지 행 기준인지)

질문에서 언급한 언리얼 엔진의 회전 순서에 대한 문제는 많은 개발자들이 헷갈려하는 부분입니다. 언리얼 엔진에서 회전 변환을 수행하는 방식은 실제 코드를 분석해보면 명확하게 이해할 수 있습니다.

의문점 해결을 위한 몇 가지 참고 답변

게임 엔진을 지탱하는 게임 수학

이 답변에서는 언리얼 엔진에서 사용하는 오일러 각 회전 순서와 관련된 문제를 다루고 있습니다. 아래 URL에서 해당 내용을 확인할 수 있습니다:
오일러 각과 회전 변환에 대한 설명

사용된 코드에 담긴 원리가 궁금합니다

이 답변에서는 오일러 각, 회전 행렬 및 벡터 변환 등에 대한 간단한 설명을 제공하고 있습니다. 또한, 언리얼 엔진의 특정 코드가 어떻게 동작하는지에 대한 설명도 포함되어 있습니다:
언리얼 엔진 회전 연산과 관계된 코드 설명

간단한 설명 요약

오일러 각 회전 순서와 기준

  1. 오일러 각 순서: 언리얼 엔진에서는 일반적으로 Z(Yaw) -> X(Roll) -> Y(Pitch) 순으로 회전이 적용됩니다. 이는 고정된 좌표계를 기준으로 합니다.
  2. 행렬 기준: 행 기준 행렬과 열 기준 행렬은 행렬의 곱셈 순서를 다르게 정의합니다. 언리얼 엔진은 행 기준 행렬을 사용합니다. 그러나 이 점에서 혼동이 발생할 수 있습니다. 언리얼 엔진 내의 수학적 정의와 실제 동작 방식의 차이를 정확히 이해하는 것이 중요합니다.

회전 행렬의 설정

회전 행렬은 각 축을 기준으로 회전 변환을 정의합니다. 각 회전 행렬은 아래와 같이 정의됩니다:
- X축 회전 - Roll: 주로 앞뒤로의 회전
- Y축 회전 - Pitch: 주로 위아래로의 회전
- Z축 회전 - Yaw: 주로 좌우로의 회전

오일러 각 회전 순서에 따라 행렬을 곱하면, 각 축을 기준으로 정의된 회전 변환을 쉽게 적용할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi