앞 포스트에 IK Rig이 자동 생성 되거나 이미 존재하는걸 보았다. 이 에셋들에는 Retarget Chain세팅 외에 IK 세팅도 함께 되어있다. 중요한 내용은 아니지만 정리하고 넘어간다.
IK Rig의 Full Body IK 솔버
Third Person 템플릿에 이미 만들어진 IK 리그를 열자
Content 폴더 -> Characters 폴더 -> Mannequins 폴더 -> Rigsh 폴더 -> IK_Mannequin 오픈

좌측하단 Solver Stack에 Full Body IK(솔버)가 보인다. 이는 전신의 관절활동에 모두 개입하는 솔버이다.
이런 IK 정보는 애니메이션을 리타겟팅 할때 소스나 타겟의 관절 구조를 참고할 필요가 있기 때문에 존재하는 것으로 보인다. 예를 들어 인간형 캐릭터의 무릎은 앞으로 굽혀져선 안될 것이다.
실제 게임 플레이중에는 이 IK 정보가 안쓰이기에 중요한 설정은 아니다.
비슷한 정보가 컨트롤릭에서 또 세팅되며, 실제 게임 플레이중일땐 애니메이션 블루프린트가 이 컨트롤릭 노드에 있는 세팅을 사용한다.
언리얼 5.x 부터는 IK Rig에 있는 IK 세팅도 실시간으로 사용할수 있도록 애니메이션 블루프린트에서 IK Rig 노드를 지원한다. 다만 속도가 느린지 아직 많이 안쓰이는 것으로 보인다.
아무튼 같은 정보가 왜 이렇게 여기저기 중복되어 있는지는 필자도 잘 모르겠다. 언리얼이 계속 버전업되면서 정리되지 않을까 싶다.
Full Body IK Setting
위의 화면 좌측 트리구조상에서 어떤 뼈를 선택해도 Solver Stack 탭에 이 솔버가 보이고 있는데, 모든 뼈가 이 솔버의 영향권 내에 있다는 뜻.
이런 환경아래서 아무 뼈나 오클릭하면 이 Full Body IK Solver에 세팅내역을 추가 할 수 있다.
이미 뼈트리상에 설정들(Full Body IK Setting)이 군데군데 보인다.
우측 Details 패널에는 Full Body IK Setting중 Pelvis본에 붙어있는 솔버 세팅이 보여지고 있다. 설정 옵션은 아래와 같다
- Stiffness 뼈가 무거운정도, 딱딱한 정도, 높을수록 다른 뼈에 비해 덜 움직인다
- Limits 무릎의 경우 앞으로 굽혀져선 안될 것이다. 이런 회전 제한 세팅
- Preferred Angles 관절이 선호하는 회전 방향, 발목은 위아래 회전이 좌우 회전보다 선호될 것이다.
솔버 세팅법
일부 관절에만 적용하는 Limb IK를 만든다면 아래와 같이 할것이다.
화면 하단 Add New Solver 클릭 -> Limb IK 클릭 -> 해당 솔버 선택된 상태로 ring_01_l 본 오른 클릭 -> Set Root Bone on Selected Solver (솔버의 루트 설정)


하나의 솔버에는 최소 하나의 루트와 하나의 IK Goal이 필요하다 Limb IK의 IK Goal은 아래처럼 추가 할 수 있다.
Limb IK가 선택된 상태 -> ring_03_l 오른 클릭 -> New IK Goal -> Assign Goal 클릭

참고로 관절 회전에 제약 사항을 두는 등의 Solver Setting은 Full Body IK에서만 지원한다. Limb IK는 팔, 다리등 한 줄의 관절만 단순하게 관리하는 도구.
