일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 티스토리챌린지
- 언리얼
- implicit conversion
- 게임
- reference
- 스마트 포인터
- Smart Pointer
- 다형성
- 메타테이블
- 암시적 변환
- lua
- 영화 리뷰
- 반복자
- 영화
- 루아
- 오블완
- 상속
- virtual function
- UE4
- 참조자
- resource management class
- operator new
- Vector
- Effective c++
- more effective c++
- c++
- exception
- 예외
- effective stl
- 비교 함수 객체
- Today
- Total
스토리텔링 개발자
[UE4] 순운동학, 역운동학(Forward Kinematics, Inverse Kinematics) 본문
개요
IK는 일반적으로 특정 지형이나 물체에 반응하는 애니메이션에 사용합니다.
예컨대 캐릭터의 발이 계단 아래에 파묻히지 않도록 하려면 써야겠죠.
그렇다면 FK는 뭘까요? IK와는 어떤 차이가 있을까요?
아래에서 좀 더 자세히 알아보도록 하겠습니다.
FK / IK
순운동학 (Forward Kinematics, FK)
조인트나 본에 회전을 직접 적용하는 방식을 순운동학(Forward Kinematics, FK)라고 합니다.
특정 조인트에 특정 회전값을 정확하게 정의내리는 방식 이라고 하면 조금 어렵게 들리는데요.
간단하게 말하자면 일반적인 애니메이션에 적용되는 방식을 말합니다.
위의 그림을 참고하면 좀 더 명확하죠.
왼쪽 본과 오른쪽 본의 각도를 직접 지정해 주었지요.
이렇게 직접적인 방식으로 정확히 회전값을 지정하는 것을 의미합니다.
역운동학(Inverse Kinematics, IK)
그렇다면 역운동학(Inverse Kinematics, IK)는 어떤 걸 의미하는 걸까요.
본 체인에 엔드 이팩터(End Effector)를 통해 간접적으로 조인트나 본을 회전시키는 것을 역운동학이라고 합니다.
그림을 참고해 봅시다.
윗 그림에서의 빨강 십자선이 바로 엔드 이펙터입니다.
계단, 울퉁불퉁한 땅과 맞닿는 부분이라고 할 수 있지요.
그리고 엔드 이펙터가 어디에 위치하느냐에 따라서 조인트, 즉 두 본(Born)이 이어지는 부분의 각도가 자동으로 정해집니다.
이런 식으로 조인트의 각도가 간접적으로 정해지는 것을 의미합니다.
투 본 IK(Two Bone IK)
사람을 구성하는 관절 중 매우 정형화된 관절이 있지요.
네, 팔과 다리 이야기입니다.
바로 본 2개, 조인트 3개 의 형태죠.
이렇게 정형화된 체인에 IK를 간단하게 적용하기 위해서 언리얼은 애니메이션 노드를 준비해 두었습니다.
투 본 IK 노드입니다.
참조
'개발 > 언리얼 엔진' 카테고리의 다른 글
[UE4] 컴포넌트(Component) (0) | 2021.07.01 |
---|---|
[UE4] 콜리전(Collision) (0) | 2021.06.24 |
[UE4] 트레이스(Trace) (0) | 2021.06.22 |
[UE4] 직렬화(Serialization) (0) | 2021.06.08 |
[UE4] 델리게이트(Delegate) (0) | 2021.06.07 |