[UE5] 언리얼엔진 캐릭터 애니메이션 모션매칭 사용법
언리얼엔진이 5.4버전이 나오면서 모션매칭 기능이 새로 발표되었다.
모션 매칭은 캐릭터 애니메이션을 위한 차세대 프레임워크다. 이 기술은 언리얼 엔진 5.4 버전에서 새롭게 도입되었으며, 캐릭터의 움직임을 더욱 자연스럽고 역동적으로 만드는 데 중점을 준다.
모션매칭을 이용한 애니메이션 제작은 기존 방식과 큰 차이가 있다. 모션 매칭의 주요 특징으로는 다음과 같다.
1. 데이터 기반 접근: 모션 매칭은 대규모의 캡처된 애니메이션 데이터베이스를 활용합니다.
2. 실시간 검색: 게임 내 캐릭터의 현재 모션 정보를 키로 사용하여 데이터베이스에서 가장 적합한 애니메이션을 실시간으로 검색합니다.
3. 자연스러운 전환: 복잡한 로직 없이도 다양한 애니메이션 클립 간의 자연스러운 전환이 가능합니다.
4. 확장성: 애니메이션 기능을 위한 확장 가능한 프레임워크를 제공합니다.
기존에는 특정 조건에 맞는 애니메이션을 하나하나 직접 설정해줘야 했지만 모션 매칭은 데이터 기반으로 현재 상태에서 가장 적합한 애니메이션을 자연스럽게 자동으로 설정해준다.
모션매칭 사전준비
플러그인 설치
- 아래 두 플러그인 설치하고 다시 시작한다.
애니메이션 시퀀스들 준비하기
모션 매칭 스키마 생성
- 접두사는 PSS_
- 각도 회전 값등 변수 설정하는 애셋이다.
Database 생성
-
모션 매칭에 사용될 애니메이션들을 담는 데이터를 생성한다.
- 적용할 스키마를 선택한다.
- 접두사는 PSD_
PSD(Database) 화면
- 이제 여기에 사용할 애니메이션을 드래그 하면된다.
- 그전에 루트모션을 사용 중인지 확인 해야한다.
애니메이션 한번에 수정하기
- 컨트롤 a를 눌러 모두 선택후 EnableRootMotion을 활성화 한다.
Locomotion PSD 생성하기
- DB에서 애니메이션을 넣는다.
- 각각 상하좌우 방향으로 시작, 진행 중, 멈출 때 해당하는 Walk 모션을 넣어준다.
모션매칭 활용하기
ABP 설정하기
- Motion Matching 노드를 불러와 모션매칭 DataBase를 가져온다.
- 그리고 현재 애니메이션에서 추적하기 위해 Trajectory(궤적)을 불러와야 한다.
Trajectory 컴포넌트 설치하기
- ABP를 사용할 BP에서
Character Trajectory
컴포넌트를 부착한다.
Trajectory 정보 가져오기
- ABP와 BP의 Trajectory를 연결해야한다.
- 그렇기 위해선 ABP의 EventGraph에서 자신을 사용하는 BP를 가져와야 한다.
-
자신을 사용중인 Actor를 가져와 그 액터 BP를 변수로 설정한다.
-
변수화한 Owner Actor를 불러와 Trajectory를 매 프레임마다 변수화 시킨다.
- 그리고 다시 AnimGraph로 돌아가서 Trajectory를 설정해준다.
디버깅 궤적 확인
- 콘솔창에
a.CharacterTrajectory.Debug 1
을 하면 궤적이 보인다.
댓글남기기