IK는 Inverse Kinematics(역운동학)의 약자다.

손, 발, 꼬리 끝 같은 말단 Bone의 위치를 먼저 정하고, 그 위치에 맞게 중간 Bone들이 자동으로 회전하게 만든다.

flowchart LR
    A[Hand Target] --> B[LowerArm 계산]
    B --> C[UpperArm 계산]

게임 애니메이션은 대부분 미리 만들어진 Animation Clip을 재생한다.
하지만 실제 게임 월드는 항상 애니메이션 제작 환경과 다르다.
IK는 애니메이션을 런타임 환경에 맞게 보정하는 기술이다.


IK 사용

Unreal에서는 Animation Blueprint의 AnimGraph에서 IK 노드를 사용한다.

flowchart LR
    A[Animation Sequence] --> B[State Machine]
    B --> C[Blend]
    C --> D[IK Node]
    D --> E[Output Pose]

IK는 보통 최종 Pose 출력 직전에 배치한다.
기본 애니메이션이 먼저 계산된 뒤, 그 결과를 IK로 보정한다.


Two Bone IK

가장 기본적인 IK 노드
팔이나 다리처럼 Bone이 2개로 구성된 체인에 사용한다.

flowchart LR
    A[Thigh / UpperArm] --> B[Calf / LowerArm]
    B --> C[Foot / Hand]
항목 설명
대상 팔, 다리
체인 길이 보통 2 Bone
예시 손을 무기 위치에 맞추기, 발을 바닥에 맞추기
주요 값 Effector Location, Joint Target

주요 개념

개념 설명
IK Bone IK를 적용할 말단 Bone
Effector Location 손/발이 도달해야 하는 목표 위치
Joint Target 팔꿈치/무릎이 어느 방향으로 꺾일지 결정
Alpha IK 적용 강도

예를 들어 발 IK에서는 Effector Location을 바닥 Trace 결과 위치로 넣고, 다리 Bone이 그 위치에 맞게 접히도록 만든다.


FABRIK

FABRIK은 여러 Bone으로 이루어진 체인을 목표 위치에 맞추는 IK 방식이다.

항목 설명
대상 여러 Bone 체인
예시 꼬리, 목, 척추, 촉수, 로프
장점 긴 체인에 적용하기 좋음
단점 세밀한 제어가 필요할 수 있음

CCD IK

CCD IK는 목표 위치에 도달할 때까지 각 관절을 반복적으로 회전시키는 방식이다.

항목 설명
대상 여러 Bone 체인
특징 계산이 직관적이고 범용적
예시 손, 발, 꼬리, 기계 관절
단점 반복 계산이 많으면 비용 증가

CCD IK는 FABRIK과 비슷하게 여러 Bone 체인에 사용할 수 있다.


Control Rig IK

Control Rig는 Animation Blueprint보다 더 고급 방식으로 Rig를 제어할 수 있는 시스템이다.

항목 설명
위치 Control Rig Asset
용도 런타임/에디터 리깅 제어
장점 복잡한 IK, 보정, 절차적 애니메이션 구성 가능
사용 예 발 IK, 손 IK, 꼬리, 무기 잡기, 컷신

Control Rig에서는 Bone, Control, IK Solver를 그래프 형태로 구성할 수 있다.

flowchart LR
    A[Control] --> B[IK Solver]
    B --> C[Bone Transform]
    C --> D[Final Pose]

복잡한 절차적 애니메이션이나 에디터에서 직접 조정 가능한 Rig를 만들 때 적합하다.


IK Rig / IK Retargeter

UE5에서는 IK Rig와 IK Retargeter를 통해 서로 다른 Skeleton 간 애니메이션을 리타겟할 수 있다.

시스템 역할
IK Rig Skeleton의 IK 체인 정의
IK Retargeter 다른 Skeleton으로 애니메이션 변환
Retarget Pose 두 Skeleton의 기준 포즈 차이 보정
Chain Mapping 팔, 다리, 척추 같은 체인 매핑
flowchart LR
    A[Source Skeleton] --> B[IK Rig]
    B --> C[IK Retargeter]
    C --> D[Target Skeleton]

예를 들어 인간 캐릭터 애니메이션을 고양이형 캐릭터나 다른 비율의 캐릭터에 적용하려면 IK Retargeter를 사용한다.


Foot IK

Foot IK는 캐릭터 발을 지형에 맞추는 가장 흔한 IK 사용 예다.

flowchart TD
    A[발 위치 기준 Trace] --> B[바닥 Hit 확인]
    B --> C[Hit Location 저장]
    C --> D[발 Effector 위치 계산]
    D --> E[Two Bone IK 적용]
    E --> F[Pelvis 높이 보정]
    F --> G[최종 Pose]

Hand IK

Hand IK는 손을 특정 위치에 정확히 맞추기 위해 사용한다.

사용 상황 설명
양손 무기 왼손을 총열이나 손잡이에 고정
벽 짚기 손을 벽 표면에 맞춤
아이템 잡기 손을 아이템 위치에 맞춤
문 열기 손을 손잡이에 맞춤

Look At / Aim IK

Look At은 머리, 목, 척추가 목표 방향을 바라보도록 회전시키는 보정이다.

사용 상황 설명
NPC가 플레이어 바라보기 머리/상체 회전
조준 상체와 팔 방향 보정
대화 상대 캐릭터를 바라봄
감지 시선 방향 표현

Aim Offset과 IK를 함께 사용하면 조준 방향을 자연스럽게 만들 수 있다.

flowchart LR
    A[Camera / Target Direction] --> B[Aim Offset]
    B --> C[Spine Rotation]
    C --> D[Hand IK]
    D --> E[Final Pose]

IK Alpha

IK Alpha는 IK 적용 강도다.

Alpha 결과
0.0 IK 적용 안 함
0.5 기본 애니메이션과 IK 절반 혼합
1.0 IK 완전 적용

IK는 항상 1로 고정하는 것보다 상황에 따라 Blend하는 것이 좋다.

상황 Alpha
지상 이동 1.0
점프 / 낙하 0.0
공격 모션 중 0.0 ~ 0.5
벽 짚기 1.0
손 위치 보정 0.5 ~ 1.0
애니메이션 우선 상황 0.0

IK 구현 흐름

flowchart TD
    A[기본 애니메이션 재생] --> B[필요한 Target 계산]
    B --> C[Trace / Socket / Target 위치 획득]
    C --> D[Effector Location 계산]
    D --> E[Joint Target 계산]
    E --> F[IK Node 적용]
    F --> G[Alpha로 Blend]
    G --> H[Output Pose]
단계 설명
기본 애니메이션 재생 FK 기반 Animation Clip 재생
Target 계산 발바닥, 손잡이, 벽, 목표 지점 계산
Trace / Socket 사용 월드 정보 또는 장착 무기 정보 획득
Effector 계산 말단 Bone이 도달할 위치
Joint Target 계산 무릎/팔꿈치 방향
IK 적용 Two Bone IK, FABRIK, CCD, Control Rig
Alpha Blend 상황에 따라 적용 강도 조절

IK의 한계

IK는 애니메이션을 대체하는 기술이 아니다.
기본 모션이 어색하면 IK를 적용해도 자연스럽게 보이기 어렵다.

한계 설명
기본 Pose 품질 의존 원본 애니메이션이 좋아야 결과도 좋음
과한 보정 문제 팔/다리가 비정상적으로 늘어나거나 꺾일 수 있음
성능 비용 많은 Bone에 복잡한 IK를 적용하면 비용 증가
관절 제어 필요 무릎, 팔꿈치 방향이 틀어질 수 있음
상황별 Blend 필요 점프, 공격, 피격 중에는 IK를 줄여야 함

요약

개념 요약
IK 말단 Bone 위치를 기준으로 중간 Bone을 역산하는 방식
FK 부모 Bone 회전을 기준으로 자식 Bone이 따라가는 방식
Two Bone IK 팔, 다리처럼 2 Bone 체인에 적합
FABRIK 꼬리, 척추처럼 여러 Bone 체인에 적합
CCD IK 반복 회전 기반의 범용 IK
Control Rig 복잡한 절차적 리깅과 런타임 보정에 적합
IK Rig Skeleton의 IK 체인을 정의
IK Retargeter 서로 다른 Skeleton 간 애니메이션 리타겟
Foot IK 발을 지형에 맞추는 대표적인 IK
Hand IK 손을 무기, 벽, 오브젝트 위치에 맞추는 IK
IK Alpha IK 적용 강도
반응형

'TIL' 카테고리의 다른 글

UE Preload  (0) 2026.07.16
LevelDataAssetGenerator 수정  (0) 2026.07.15
WorldContextObject  (0) 2026.07.10
Clean Code  (0) 2026.06.09
Unreal EQS(Environment Query System)  (0) 2026.06.08