티스토리 뷰
여름 휴가를 다녀오고 이번주는 멀티스레드&서버 관련 프로젝트를 하느라 간만에 다시 Climbing 포스팅을 하게 되었다.
이번 포스팅은 Motion Warping에 대해 포스팅하려고 한다.
모션 워핑은 루트 모션 애니메이션을 동적으로 설정하여 루트 모션이 재생중인 캐릭터를 특정 위치로 이동시킬 수 있는 기능이다. 즉 애니메이션과 이동이 동시에 이루어지는 기능을 가능하게 해준다.
공식 도큐는 여기
https://docs.unrealengine.com/5.0/ko/motion-warping-in-unreal-engine/
모션 워핑
언리얼 엔진의 애니메이션 모션 워핑에 대해 자세히 알아봅니다.
docs.unrealengine.com
먼저 에디터 상에서 플러그인을 추가해준 뒤(아직 베타 테스트 단계라고는 함) 빌드 파일에 모듈을 추가한다.
PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"EnhancedInput",
"UMG",
"MotionWarping" });
모션 워핑을 사용해서 구현하고자 하는 기능은 물체를 뛰어넘는 기능이다.
먼저 디버그 오브젝트를 사용하여 뛰어넘기가 가능한 오브젝트인지 판단한다.
일정 길이마다 라인 디버그 오브젝트를 두어 현재 뛰어넘을 수 있는 오브젝트인지 판단.
가장 가까이 있는 라인이 충돌일 때에만 뛰어넘기가 가능하도록 한다.
왼쪽이 뛰어넘기가 불가능한 상태, 그리고 오른쪽이 뛰어넘기가 가능한 상태.
디버그 오브젝트로 캐릭터를 이동시킬 위치를 찾은 후 모션워핑을 적용하면 된다.
모션워핑을 적용하면서 캐릭터를 중력을 무시하는 상태로 우선 만들어 준 뒤 (기존에 사용하던 등반 상태를 재활용함) 애니메이션 몽타주를 재생하는 방식으로 이루어진다.
애니메이션 몽타주에서 모션 워핑을 우선 설정해준다. 이 기간동안 캐릭터가 움직이게 된다.
모션 워핑을 적용하면서 몇 가지 설정 또한 필요하다.
캐릭터가 회전을 하는지, (우리의 상태는 회전하지 않고 이동만 하므로 박스 체크를 해제해준다), Z축으로의 이동을 무시하는지 (z축 이동이 필요함.) 등의 설정을 몽타주 안에서 해준다.
모션 워핑 자체가 어려운 기능은 아니라 포스팅이 길지는 않다.
다음번엔 동일한 키 바인딩을 가지고 다른 일을 하게 해주는 다중 매핑 컨텍스트에 대한 포스팅일것 같다.
'Unreal > Custom Movement (完)' 카테고리의 다른 글
[UE5] Climbing Project - 5 (2) | 2023.08.14 |
---|---|
[UE5] Climbing Project - 3 (0) | 2023.07.31 |
[UE5] Climbing Project - 2 (0) | 2023.07.27 |
[UE5] Climbing Project - 1 (0) | 2023.07.25 |
- Total
- Today
- Yesterday
- 채팅서버
- 디자인 패턴
- DFS
- C++
- 탐욕법
- 개인공부
- 프로그래머스
- 고득점kit
- 스택/큐
- 데디케이티드
- 완전탐색
- 해시
- level3
- 고득점 Kit
- Heap
- UE5
- IMGUI
- LV3
- Unreal 5.1
- greedy
- BFS
- 재귀
- 누적합
- 너비우선탐색
- Ue
- sort
- 정렬
- FPS
- 힙
- LV2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |