시퀀서를 사용한 애니메이션은 액터의 단순한 움직임을 만드는데 편리합니다. 하지만 사람과 같은 복잡한 움직임은 표현하기 어려습니다.
게임에서는 보통 사람 형태의 캐릭터를 많이 사용합니다. 캐릭터가 걷거나 달리거나 점프하는 동작은 시퀀서만으로는 간단히 만들 수 없는데, 이는 몸의 각 부분 움직임을 세밀하게 설정해야 하기 때문입니다. 단순히 걷는 동작만 해도 허벅지, 정강이, 발목의 움직임과 몸통, 팔의 구부러짐 등 여러 요소를 설정해야 하므로 복잡합니다.
이 때문에 대부분은 전용 모델링 툴로 캐릭터 모델과 애니메이션 파일을 제작한 뒤 게임 엔진에서 이를 불러와 사용합니다. 이 과정에는 전문 기술과 학습이 필요합니다. 언리얼 엔진만으로는 만들기 어렵기 때문입니다.
하지만 언리얼 엔진에서 비교적 쉽게 할 수 있는 것은 미리 만들어진 모델과 애니메이션 데이터를 불러와 조합하여 캐릭터를 움직이게 하는 것입니다. 예를 들어, 걷기·달리기·점프하기 같은 애니메이션 파일을 불러와 플레이어의 입력에 맞게 캐릭터를 제어할 수 있습니다.
이번에는 OpenWorld로 새로운 레벨을 생성해 줍니다.
캐릭터 액터를 만들어 봅시다.
1.
Character 액터 선택
•
레벨에 배치된 Character 액터를 선택합니다.
2.
메시 설정
•
[디테일] 패널 → [일반] → [메시] 항목에서 캐릭터에 사용할 스켈레탈 메시(Skeletal Mesh) 를 지정합니다.
3.
스켈레탈 메시란?
•
골격 구조(bone)를 가진 메시.
•
뼈와 관절 구조가 있어 캐릭터의 몸을 자유롭게 움직일 수 있음.
위치 조정 단계
1.
Character 인스턴스 Z 값 설정
•
[디테일] 패널에서 Character(인스턴스) 를 선택합니다.
•
[위치]의 Z 값을 90.0으로 설정합니다.
2.
Mesh Z 값 설정
•
Character 내부의 [Mesh(CharacterMesh0)] 항목을 선택합니다.
•
[위치]의 Z 값을 90.0으로 설정합니다.
3.
결과
•
위 설정을 하면 캐릭터의 발이 지면에 닿도록 위치가 맞춰집니다.
캐릭터에 애니메이션 설정하기
언리얼 엔진에서 캐릭터에 애니메이션을 적용할 때 고려할 요소는 애니메이션 모드입니다. 캐릭터의 스켈레탈 메시에는 두 가지 방식이 있습니다:
1. 애니메이션 에셋
•
애니메이션 파일 자체를 불러오는 방식
•
캐릭터에 해당 애니메이션 에셋을 설정하면 그대로 재생됨
2. 블루프린트
•
애니메이션을 프로그램적으로 제어하는 방식
•
내부적으로는 애니메이션 에셋을 사용하지만, 다양한 조건과 처리를 통해 제어 가능
•
단순히 정해진 애니메이션만 재생하려면 에셋 사용,
여러 조건에 따라 제어하고 싶다면 블루프린트 사용이 적합
애니메이션 모드 변경 방법
1.
Character 선택 후 → [디테일] 패널 → [애니메이션] 버튼 클릭
→ 애니메이션 관련 설정 메뉴가 나타남
2.
[애니메이션] 항목에서 [애니메이션 모드] 확인
•
기본값: Use Animation Blueprint
3.
이 값을 Use Animation Asset으로 변경
•
이렇게 하면 애니메이션 에셋을 직접 사용할 수 있음
•
정해진 애니메이션(걷기, 뛰기, 점프 등)을 그대로 쓰고 싶을 때 → Use Animation Asset
•
플레이어 입력이나 상태에 따라 동적으로 제어하고 싶을 때 → Use Animation Blueprint