23.1 뼈대 좌표계들의 계통구조

캐릭터의 골격은 계통구조로 만들어진다. 예를들면 팔은 상박, 하박 손으로 이루어지고 이들은 부모 자식 관계이기 때문에부모가 회전하면 자식들도 회전한다.

 

각 뼈대(상박, 하박, 손)의 기하구조는 자신의 국소 좌표계와 관절로 모형화된다.

물체의 회전을 편하게 하기 위해 관절은 물체 국소 좌표계의 원점에 둔다.

 

사람의 팔을 예로 들면 상박(위팔)이 하박(아래팔)의 부모가 된다.

 

23.2 메시 스키닝

결속 공간(전체 표피가 정의된 국소 좌표계) ----(오프셋 변환)----> (뼈대 국소 공간)

스키닝에서는 각 뼈대의 뿌리변환 (뼈대 국소 공간 -> 뿌리 공간)을 구한다.

 

뿌리변환 = 부모변환 * 부모의 뿌리변환으로 정의하기 때문에 하위 뼈대의 뿌리변환을 얻기 위해서는 부모의 뿌리변환이 반드시 정의되어 있어야한다. 그렇기 때문에 트리를 하향식으로 운영하여 부모의 뿌리변환이 항상 존재하도록 한다. 상향식으로 하게 되면 공통의 조상을 공유하는 뼈대들에 대해 동일한 행렬 곱셈을 중복해서 수행해야 한다.

 

23.3 정점 혼합

정점 혼합 : 골격을 감싸는 표피의 정점들을 애니메이션 하는 방법을 위한 알고리즘 

표피는 연속적인 메시인데 관절 같은 부위의 정점은 표피의 한 정점에 영향을 주는 뼈대가 여러 개일 수 있다. 이 경우 정점의 최종 위치는 영향을 주는 뼈대들의 최종 변환들의 가중 평균으로 결정된다. 이런 방식으로 정점을 혼합하면 관절 주변에서 정점들이 매끄럽게 전이되어서 적당히 탄력있는 모습의 표피가 만들어진다.

'읽은 책 > DirectX 12를 이용한 3D 게임 프로그래밍 입문' 카테고리의 다른 글

22. 사원수 (quaternion)  (0) 2022.07.11
21. 주변광 차폐  (0) 2022.07.10
20. 그림자 매핑  (0) 2022.07.08
19. 법선 매핑  (0) 2022.07.04
18. 입방체 매핑  (0) 2022.07.02

+ Recent posts