스키닝 애니메이션은 3D 캐릭터 모델의 움직임을 자연스럽게 표현하는 기술입니다. 본체의 뼈대와 그 뼈대에 연결된 꼭짓점의 움직임을 조정함으로써, 실제 근육과 피부가 움직이는 것처럼 보이게 구현했습니다.
또한 실시간 렌더링이 가능해야하는 그래픽스 어플리케이션(게임)을 제작하는 것이 목적이어서 GPU 기반 스키닝 방식을 선택하였습니다.

이 과정에서 애니메이션 트랙의 가중치를 활용하여, 다양한 애니메이션 트랙들이 동일한 뼈대에 얼마나 영향을 미칠지를 결정하는 기능을 구현하였습니다. 가중치에 따라 변환 행렬을 조정하는 부분은 xmf4x4Transform = Matrix4x4::Add(xmf4x4Transform, Matrix4x4::Scale(xmf4x4TrackTransform, m_pAnimationTracks[curTrack].m_fweight)); 이 부분입니다. 여기서 xmf4x4TrackTransform 즉, 애니메이션 트랙의 변환 행렬을 가중치(m_pAnimationTracks[curTrack].m_fweight)에 따라 조정(scale)하고, 이를 원래의 변환 행렬(xmf4x4Transform)에 더하는 작업을 수행합니다. 이렇게 조정된 변환 행렬은 다시 뼈대 프레임의 부모로의 변환 행렬로 설정됩니다.
