응애맘마조
230704 강의 본문
애니메이션 효과에 보간을 넣어서 끊김 없이 자연스럽게 움직이는 모션을 강의했습니다. 또한 이제 로더에서 이미지 변경을 하고 저장 후에 게임 프로젝트에 가져왔지만 이제 그럴 필요 없이 게임 내에서 조절할 수 있도록 했습니다.
void Transform::UpdateAnim(Matrix&& bone)
{
S = Matrix::CreateScale(scale);
R = Matrix::CreateFromYawPitchRoll(rotation.y, rotation.x, rotation.z);
T = Matrix::CreateTranslation(position);
RT = R * T * bone;
W = S * RT;
if (parent)
{
S = S * parent->S;
RT = RT * parent->RT;
W = W * parent->W;
}
}
일반적인 Update 함수와 달리 Rvalue값을 매개변수 받아서 애니메이션 보간 값을 만들기 위해 RT에서 행렬 bone 값을 곱했습니다.
사실 보간과 게임 프로젝트 런타임 중에서도 바꿀 수 있던 것은 애니메이션 효과를 구현하는 것을 두 가지로 나눴습니다. 노드 X 애니메이션 X Parents가 공식인데 애니메이션을 둘로 나눠 노드의 T-Pose의 역행렬과 애니메이션으로 나눠서 가능했습니다. 아직 모든 설명이 다 되지 않아서 오늘 다 설명할 수는 없지만 내일 이어서 설명한다고 해서 내일 잇겠습니다.
읽어주셔서 감사합니다.