"IK(Inverse Kinematics) 애니메이션"
개발을 하다보면 캐릭터 손이 문고리를 정확히 잡아야 하거나,
총을 들었는데 조준 방향에 맞춰 팔이 따라가야 하는 것 처럼
자연스럽게 보정해야 할 때가 있다.
그런데 이런 상황을 애니메이션 클립만으로 해결하려고 하면,
각도/환경/거리마다 클립을 계속 새로 만들게 되고 보여지는 결과도 어색해진다.
이때 손/발 같은 끝점(End Effector)을 목표(Target)에 맞추면 엔진이 알아서 나머지 관절 회전을 계산해주는 방식이 있는데
그게 바로 'IK(Inverse Kinematics)'다.
오늘은 IK 애니메이션이 뭐고 왜 쓰는지,
그리고 Unity에서 어떻게 적용되는지 간단히 정리해볼 예정이다.
1) IK 애니메이션이란?
IK(Inverse Kinematics)는 말 그대로 역(逆)운동학인데,
애니메이션 관점에선 아래와 같이 이해한다.
FK(Forward Kinematics)
어깨 → 팔꿈치 → 손목… 처럼 관절을 하나씩 돌려서 손 위치가 결정됨
(Animator + Animation Clip이 곧 FK 방식)
IK(Inverse Kinematics)
마리오네트 인형처럼 끝점(손/발)을 목표에 두면,
관절 회전은 역으로 계산됨

(손목이나 발을 움직이면 팔이나 다리의 관절들이 그것에 맞춰 움직이는 마리오네트 인형)
FK: (관절을 돌린다) IK: (목표를 찍는다)
어깨 회전 → 팔꿈치 회전 → 손 위치 손 목표(Target) → (어깨/팔꿈치가 자동 계산)
2) IK가 필요한 이유는?
IK는 애니메이션을 대체한다기보다,
클립 기반 모션을 상황에 맞게 보정하는 데 강하다.
+++
IK의 특징
환경 적응: 경사/계단에서도 발이 바닥을 잘 딛게 보정(Foot IK)
정확한 상호작용: 문고리/레버/아이템을 정확히 잡기(Hand IK)
조준/시선 정렬: 타겟 방향으로 팔/머리/상체가 자연스럽게 따라가기(Aim/Look IK)
클립 재사용성 증가: 같은 걷기/잡기 클립을 다양한 거리/높이에 대응
3) IK는 언제 쓰면 좋을까?
Foot IK
울퉁불퉁 지형에서 발이 떠 있거나 땅을 뚫는 문제 완화
Hand IK
무기 그립(양손), 버튼/핸들/문고리 같은 상호작용
Aim/Look IK
조준점과 캐릭터 상체 방향이 따로 노는 문제 완화
4) Unity에서 IK 는?
Unity에서 IK는 크게 내장 Animator IK와 Animation Rigging으로 나뉜다.
Animator IK
애니메이션이 재생되는 도중에 손/발 목표를 코드로 넣어주면, Animator가 IK를 계산해 보정한다.
Animation Rigging
리그(제약 장치)를 에디터에서 미리 조립해두고, 런타임에는 Target만 움직이면 IK가 계속 따라오게 만든다.
[Animator IK]
애니메이션 클립 재생
↓
OnAnimatorIK(코드)에서 목표/가중치 지정
↓
Animator가 IK 계산 → 포즈 보정
[Animation Rigging]
에디터에서 Rig(제약/IK) 구조 구성
↓
런타임에서 Target/Hint만 움직임
↓
Rig가 계속 계산 → 포즈 유지/보정
(a) Animator IK (OnAnimatorIK)
Humanoid 캐릭터에서 많이 쓰는 '코드로 즉석 보정하는 방식'이다.
걷기/달리기 같은 기본 모션(FK)이 먼저 나오고,
그 위에 손/발을 목표 지점에 살짝 붙이는 보정을 얹는 느낌이다.
OnAnimatorIK()에서 IK Target(목표) + Weight(얼마나 적용할지)를 지정하고,
Animator Controller 레이어에서 IK Pass를 켜야 적용된다.
(b) Animation Rigging 패키지
리깅 장치를 만들어두고 Target만 움직이는 방식이다.
이 방식은 Animator IK처럼 '즉석 보정'이라기보다,
캐릭터에 IK 장치(Constraint/리그)를 붙여서 계속 동작하게 만드는 구조에 가깝다.
대표적으로 팔/다리에 쓰는 Two Bone IK는 아래와 같다.
+++
Target
손/발이 도달해야 하는 목표 위치
Hint
팔꿈치/무릎이 어느 방향으로 굽을지 결정하는 가이드
+++
무기 양손 그립, 조준(Aim), 상체 보정 같은 곳에서 특히 체감이 크다
[Two Bone IK를 마리오네트 인형으로 비유해본다면?]
Target = 인형 손이 가야 할 곳(목표점)
Hint = 팔꿈치가 꺾일 방향을 잡아주는 보조 끈
→ Target만 움직여도, 팔(어깨/팔꿈치)이 자동으로 따라 맞춰짐
5) 오늘의 한 줄 요약
『 IK 애니메이션은 손·발 같은 끝부분을 목표 위치에 맞추면, 관절이 알아서 자연스럽게 따라 움직이게 하는 방식이다. 』
'1일 1 cs' 카테고리의 다른 글
| 29. 렌더링 파이프라인(Rendering Pipeline) 이란? (0) | 2026.02.23 |
|---|---|
| 28. Call by Value와 Call by Reference 란? (0) | 2026.02.21 |
| 26. 프로세스(Process)와 스레드(Thread)란? (0) | 2026.02.15 |
| 25. 짐벌락(Gimbal Lock) 이란? (0) | 2026.02.14 |
| 24. 스프라이트 아틀라스(Sprite Atlas)란? (0) | 2026.02.13 |