무민은귀여워

역운동학 (IK : Inverse Kinematics) 본문

IT/기타

역운동학 (IK : Inverse Kinematics)

moomini 2021. 5. 18. 00:11
반응형

대부분의 애니메이션은 스켈레톤의 조인트 각도를 미리 정해진 값으로 회전하여 만듭니다. 자식 조인트의 포지션은 부모의 회전에 따라 변하므로 조인트 체인의 끝 점은 체인에 포함된 각 조인트의 각도와 상대 위치에 따라 결정될 수 있습니다. 이런 스켈레톤 포즈 메서드를 순운동학(FK)이라고 합니다.

 

하지만 조인트 포즈 작업을 반대 시각에서 바라보는 것이 유용한 경우도 많습니다. 공간에서 선택된 포지션에 따라서는 역으로 작업하여 적합한 조인트 방향을 찾아 해당 포지션에 조인트 끝점이 오도록 하는 방법이 유용할 수 있습니다. 이 방법은 사용자가 선택한 포인트의 오브젝트를 캐릭터가 건드리게 하거나, 울퉁불퉁한 표면 위에 캐릭터의 두 발이 자연스럽게 밀착해있도록 하려는 경우에 유용합니다. 이 접근법을 역운동학(IK)이라고 하며, _ 올바르게 설정된 아바타_가 있는 휴머노이드 캐릭터의 메카님에서 지원됩니다.

 


 

언리얼의 애니메이션 스켈레톤 대부분은 캐릭터나 스켈레탈 메시의 본에 바로 물려지는 로테이션 데이터로 직접 구동됩니다. 이는 Forward Kinematics, 또는 조인트나 본에 로테이션을 직접 적용하는 것으로 생각해 볼 수 있습니다. 아래는 그 개념을 도표로 나타내 본 것입니다:

이름에서 암시하듯, Inverse Kinematics (역운동학)의 작동방식은 반대입니다. 본에 로테이션을 적용하는 대신, 본 체인에 타깃 (또는 End Effector (엔드 이펙터))를 통해 체인 마지막에서 도달해야 하는 위치를 주는 것입니다. 사용자나 애니메이터는 이펙터를 움직이면 IK 솔버(IK 시스템에서 로테이션을 구동하는 알고리즘)에서 체인 마지막의 최종 본 위치가 타깃 위치에 오도록 본을 회전시킵니다. 아래 그림에서, 엔드 이펙터는 빨강 십자선으로 표시됩니다.

 

 

반응형
Comments