C++ Algorithm & Study/Game Math & DirectX 11

    [Direct11] 48. 3D Direct Application - Character Animation #3

    1. 3D Direct Application 1.1 Character Animation 1.1.1 Character Animation Application 1.1.1.1 Skined Model class SkinnedModel; - Basic Model 클래스를 사용하여 Skinned Data 인스턴스를 가진다는 점만 빼고 동일 struct SkinnedModelInstance { shared_ptr Model; float TimePos; std::string ClipName; XMFLOAT4X4 World; std::vector FinalTransforms; void Update(float dt); }; - Skinned Model Instance는 자신의 애니메이션 위치, 애니메이션 중인 클립의 이름..

    [Direct11] 47. 3D Direct Application - Character Animation #2

    1. 3D Direct Application 1.1 Character Animation 1.1.1 Blend Character Animation 1.1.1.1 Vertex Blending - 골격에 입혀지는 표피의 정점들을 애니메이션하는 방법, 표피 정점들의 애니메이션을 위한 정점 혼합 알고리즘을 사용 - 골격 계통구조는 개별적인 뼈대들로 이루어지지만 골격에 입히는 표피 자체는 하나의 연속적인 메시임을 주의 - 표피의 한 정점에 둘 이상의 뼈대가 영향을 줄 수 있음 - 정점 최종 위치는 정점에 영향을 주는 뼈대들의 최종 변환들의 가중 평균에 의해 결정 - 이런 식으로 정점들을 혼합하면 관절 주변에서 정점들이 매끄럽게 전이되어 표피에 탄력이 있는 느낌을 줌 - 일반적으로 실제 응용에서 하나의 정점에 영향을..

    [Direct11] 46. 3D Direct Application - Character Animation #1

    1. 3D Direct Application 1.1 Character Animation 1.1.1 Character Animation System 1.1.1.1 Frame Hierarchy - 사물은 여러 개의 부분 또는 부품들이 일종의 부모-자식 관계로 연결되어 있는 것들이 많음 - 한 부모부품에는 하나 이상의 자식부품이 연결, 각각의 자식부품은 각자 방식으로 움직이나 부모가 함께 움직여야 함 - 하나의 팔은 Uppper Arm, Fore Arm, Hand 라는 세 부품으로 나눌 수 있음 - 손은 손목 관절을 중심으로 독자적으로 회전하나 팔뚝이 팔꿈치 관절에 대해 회전하면 손도 반드시 그에 따라 움직임 - 위팔이 어깨 관절에 대해 회전하면 팔뚝도 그에 따라 회전하며 팔뚝이 회전하므로 손도 그에 따라 회..