Unreal Engine

FABRIK

Awesome Red Tomato 2023. 7. 28. 11:16

FABRIK(Forward And Backward Reaching Inverse Kinematics)

 

IK(Inverse Kinematics, 역운동학)은 FK(Foward Kinematics, 순운동학)의 반대되는 개념이다. 예를 들어 팔 관절을 이용해 타겟에 손을 뻗는 것이 순운동학, 손을 타겟에 먼저 위치시키고, 팔 관절들을 그에 맞게 조절하는 것을 역운동학이라고 볼 수 있다.

 

좌FK / 우IK     출처: 언리얼 엔진 - IK 셋업

 

 

무기마다 제 각기 크기가 있으니 총을 잡는 손의 위치를 다르게 만들 것이다. 애니메이션 에셋의 스켈레탈 메시를 일일이 수정한 후 Key를 추가하는 방법도 있지만 힘들 뿐더러 캐릭터를 회전시키거나 움직임이 있을 때 해당 Bone의 위치가 고정되지 않고 계속 움직이게 된다. 그럴 때 FABRIK 노드를 사용하면 Bone의 Transform을 간단하게 바꿔줄 수 있다.

 

https://docs.unrealengine.com/4.27/ko/AnimatingObjects/SkeletalMeshAnimation/NodeReference/Fabrik/

 

FABRIK

Forward And Backward Reaching Inverse Kinematics, 앞뒤로 늘어나는 IK 를 사용하는 애니메이션 노드입니다.

docs.unrealengine.com

 

 

기존 애니메이션을 FABRIK 노드에 연결하고 노드를 클릭하면 디테일을 볼 수 있는데

 

 

 

손의 위치를 조정해 줄 것이므로 Effector Transform의 Bind를 해제하고 타겟(Hand_R)과 타겟에 맞춰 움직일 관절(Hand_L)을 설정해주고 

 

 

뷰포트에서 위치에 맞게 조절해주면 된다.

 

 

그리고 무기 종류를 Enum 으로 지정한 다음 switch 해주면 끝.

 

 

'Unreal Engine' 카테고리의 다른 글

재장전 애니메이션  (0) 2023.07.21
프레넬 효과  (0) 2023.07.13
외곽선 하이라이트  (0) 2023.07.13
총 쏘기  (0) 2023.07.06
카메라 회전(+ 캐릭터 이동 수정)  (0) 2023.07.06