일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 4기
- 크래프톤 정글
- C
- 유니티
- anonymous page
- User Stack
- Unity
- KRAFTON JUNGLE
- TiL
- pintos
- 오블완
- 알고리즘
- 백준
- 크래프톤정글4기
- 크래프톤 정글 4기
- 다익스트라
- 추상클래스와인터페이스
- 네트워크
- BFS
- kraftonjungle
- 이벤트 함수 실행 순서
- 연결리스트
- 알고리즘수업-너비우선탐색2
- 크래프톤정글
- 핀토스
- c#
- 파이썬
- project3
- 티스토리챌린지
- 전쟁-전투
- Today
- Total
말감로그
보간과 외삽 , 애니메이션(IK와 FK) 본문
보간법(Interpolation)
보간법은 주어진 두 개 이상의 점 사이를 연결해서, 그 사이의 값을 수학적으로 예측하는 방법이다.
반드시 알고 있는 점 사이에서만 값을 추정 가능하고,
단순히 직선으로 연결할 수도 있고(선형 보간), 곡선을 이용해 더 부드럽게 연결할 수도 있음(곡선 보간)
ex) 2초일 때의 속도와 3초일 때의 속도 데이터가 있다 할 때, 그 사이 값인 2.5초의 속도를 추론하는 것
선형 보간법(Linear Interpolation)
선형 보간법은 두 점을 직선으로 연결했을 때 그 사이에 있는 값을 예측하는 방법이다.
두 값 사이의 중간 값을 수학적으로 계산하는 방법이지 무조건 자연스러움을 보장하는 건 아니다.
"자연스럽게"는 결과물에 따라 얻어지는 효과지, 보간법 그 자체의 정의는 아니다.
선형 보간법은 직선 방정식을 이용한다.
y = ax + b
외삽법(Extrapolation)
주어진 데이터의 범위를 벗어난 부분에서 값을 예측하는 방법이다.
ex) 2초일 때의 속도와 3초일 때의 속도를 안나고 할 때, 둘 사이의 구간 밖인 4초일 때의 속도를 구하려는 것
즉, 보간법이 "사이" 를 메운다면, 외삽법은 "밖" 에서 예측하는 것이다.
보간과 외삽은 등속운동의 원리와 비슷하다.
프로젝트에서 보간과 외삽을 사용해 동기화 처리를 구현해서 알고 있었지만, 갑작스런 질문에 당황해서 제대로 답을 못한게 너무 아쉽다. 나중에라도 다시 제대로 대답할 수 있도록 더 공부해야겠따.
애니메이션에서 IK와 FK
IK와 FK는 캐릭터 움직임을 계산하는 두 가지 방법이다.
FK(Forward Kinematics, 순방향 운동학)는 부모가 움직이면 자식도 함께 움직인다. 그래서 최상의 parent인 골반을 움직이면 온몸이 다 함께 움직인다.
어깨를 움직이면 어깨보다 상위인 골반이나 몸통은 움직이지 않고 어깨보다 하위인 손목, 손가락 등은 움직이는 것이다.
보통 FK는 피규어와 같다라고도 하는데 피규어로 포즈를 잡을 때 관절 하나하나를 꺾어서 만들기 때문이다.
IK(Inverse Kinematics, 역방향 운동학)는 자식이 움직이면 부모도 움직여져서 위치를 맞춰주는 형식이다. parent 가 움직여도 child가 영향을 받지 않는 상태
마리오네트 인형과 비슷하다.
IK 캐릭터는 손과 발에 IK를 먹이는 경우가 많은데, 상위인 골반을 움직여도 IK 상태인 손과 발은 고정되어 제자리에 있게 된다.
반대로 IK 손을 잡고 움직이면 상위인 어깨와 팔뚝 등이 움직여서 포즈를 완성 시켜준다.
캐릭터를 만들 때 보통 디폴트는 양발은 땅에 고정 - IK, 나머지는 FK 상태이다.
FK는 팔꿈치 회전, 기본 애니메이션에 주로 사용되고
IK는 걷기, 손/발 접촉, 캐릭터 잡기 등에 주로 사용된다.
FK는 관절 회전을 먼저 설정 -> 위치 결정
IK는 목표 위치를 먼저 설정 -> 각도 결정
참고
https://lively-character.tistory.com/33