inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[게임 프로그래머 도약반] DirectX11 입문

T-Pose Local에서 Animation-Pose Global로 변환

해결된 질문

279

김도형

작성한 질문수 16

0

애니메이션 강의를 듣던 도중 T-Pose의 Global->Local 행렬에서 Animation-Pose의 Local->Global 행렬을 곱해주어 Vertex의 좌표를 애니메이션 기준으로 바꾸어 주는 부분이 이해가 가지않아 질문드립니다.

가장 마지막줄인 invGlobal이 T-Pose의 Global->Local 행렬이고 tempAnimBoneTransforms[b]가 Animation-Pose의 Local->Global 행렬인데 저 두 행렬에 어떠한 상관관계도 없다고 생각되는데 단지 이렇게 곱해주기만 한다고 해서 T-Pose의 Global이 어떻게 Animation-Pose의 Global로 변환이 될 수 있나요?

제가 이러한 의문을 제기하는 이유은 두가지 입니다.
1. 두 행렬이 동일한 Bone을 기준으로 변환이 되는 행렬들이라고 해도 Animation-Pose에서는 그 Bone이 움직여서 만들어진 행렬이기 때문에 동일한 좌표계라고 생각할수 없다.
2. 지금까지 T-Pose의 Local->Global 또는 Animation-Pose의 Local->Global로 변환이 되는 행렬들은 전부 자신과 부모간의 계층구조에 의해서 좌표값이 상대적으로 구성된 아이들이였는데 사진에서 나온 InvGlobal과 tempAnimBoneTransforms[b]는 계층관계도 있지 않습니다.

글이 길어서 죄송합니다 계속 생각해봐도 잘 이해가 가지 않아 질문드립니다.ㅜ

c++ directx

답변 1

0

인프런 AI 인턴

안녕하세요 김도형 님, 인프런 AI 인턴이에요.

T-Pose의 Global->Local 행렬과 Animation-Pose의 Local->Global 행렬을 곱하는 과정은 좌표 변환의 개념입니다. 이 과정을 통해 T-Pose를 기준으로 된 Vertex의 좌표를 Animation-Pose를 기준으로 변환할 수 있습니다.

  1. 두 행렬이 동일한 Bone을 기준으로 변환이 되는 것은 맞습니다. Animation-Pose에서 Bone은 움직이기 때문에 T-Pose와는 다른 로컬 좌표계를 갖게 됩니다. 그렇기 때문에 T-Pose의 Global 좌표계에서 Animation-Pose의 Global 좌표계로 변환하기 위해서는 두 행렬의 곱셈을 통해 좌표를 변환해줘야 합니다.

  2. InvGlobal 행렬은 T-Pose의 Local 좌표계를 기준으로 한 것입니다. tempAnimBoneTransforms[b]는 Animation-Pose의 Local 좌표계를 기준으로 한 것입니다. 두 행렬은 계층 구조에 따라 좌표 값이 구성되기 때문에 부모-자식 관계가 아니더라도 두 행렬을 곱하여 좌표 변환이 가능합니다.

이해가 어려운 부분이 있다면 추가적인 설명이나 도움을 드릴 수 있습니다. 감사합니다!

assimp-vc143-mtd.dll가 없어서 코드 실행을 진행할 수 없습니다 라는 에러가 뜹니다.

0

85

1

Model.cpp에서 ReadMaterial()의 SpecularTexture 부분 질문입니다.

0

57

0

노멀매핑 자료

0

76

1

셰이더 인텔리센스 문제

0

80

1

4강 삼각형띄우기 오류관련 질문있습니다

0

70

1

64.애니메이션 강의의, AssimpTool 에서 FBX 애니매이션 데이터를 옮길 때의 강의 오류가 있는 것 같습니다.

1

65

1

SkyDemo에서 카메라 입력이 작동하지 않는 문제

0

84

2

섹션6. DirectX 11 3D 입문 강의부터 렌더링이 안됩니다

0

133

2

텍스처와 UV 강의 관련해서 문의드려요

0

165

2

frame간 보간에 대해서 질문이있습니다.

1

132

1

자료 pptx가 아닌 pdf

0

109

1

어디에 좀더 집중해야하나 고민입니다

0

202

1

CameraPosition 질문있습니다

1

114

1

안녕하세요 roatation 행렬 질문있습니다.

1

156

2

'C\ .... ......lib'은 올바른 win32에플리케이션이 아닙니다.

0

525

4

버텍스버퍼 실습 도중 버그

0

176

1

물방울 책 실습은 어디까지 하는건가요??

0

408

2

리소스매니저의 get함수에서 에러가 나요

0

133

2

자식 GameObject SetPosition 시 움직이지 않음

0

102

1

강의 끝나고 3D 포폴

0

320

2

공부 방법에 대해서 문의 드려요

0

155

1

19분 5초에 함수 구현부 한꺼번에 만드는법

1

154

1

좌표계 변환 행렬이랑 srt 변환 행렬

0

206

2

SRT 행렬중에 ppt 질문 있습니다.

0

169

1