프로젝트 설명 영상
https://www.youtube.com/watch?v=ZxPAgNZKs1E
프로젝트 요약
게임 개발에서 캐릭터 애니메이션은 플레이어의 몰입감을 극대화하는 핵심 요소 중 하나입니다. 하지만 현실적으로 애니메이터가 모든 동작을 수작업으로 제작하기에는 시간과 비용이 많이 소요됩니다. 본 프로젝트는 자동화된 애니메이션 생성 기술을 활용하여 이러한 문제를 해결하고, 캐릭터의 움직임에 감정 표현을 추가하여 게임의 사실감과 몰입감을 높이고자 했습니다.
1. 프로젝트 배경 및 목표
1.1 문제점
- 수작업 애니메이션 제작은 많은 시간과 노력이 필요하며, 효율성이 떨어짐.
- 감정이 포함된 애니메이션은 더 많은 리소스를 요구.
1.2 프로젝트 목표
- 최신 연구를 활용하여 자동화된 목적 기반 애니메이션과 감정 표현이 포함된 애니메이션을 생성.
- 강화학습을 통해 플레이어와 상호작용하는 자연스러운 캐릭터 동작을 구현.
- Unreal Engine을 활용한 실시간 시각화로 게임 개발에의 적용 가능성을 검증.
2. 연구 활용 및 기술적 접근
2.1 Character Controllers using Motion VAEs (SIGGRAPH 2020)
이 논문은 목적 기반 애니메이션 생성에 초점을 맞추고 있습니다. 이를 활용하여 캐릭터가 특정 목표(예: 목적지로 달리기)를 향해 움직이는 자연스러운 동작을 생성하였습니다.
-
데이터 준비
-
bvh
파일을 모델 학습에 적합한 npz
포맷으로 변환.
-
Random Walk(무작위 걷기) 데이터를 학습하고 Bullet 물리엔진에서 시각화.
결과: 일반적인 Animation Blueprint에 비해 더욱 자연스럽고 부드러운 움직임 구현.
-
Unreal Engine에서의 시각화
- Joint 모델 생성 후 TCP 통신으로 Joint 위치 데이터를 Unreal Engine에 전달.
- Unreal Engine 상에서 Random Walk 데이터를 활용하여 캐릭터의 움직임을 시각화.
2.2 강화학습 기반 움직임 생성
강화학습을 통해 캐릭터가 단순한 Random Walk를 넘어 플레이어를 추격하는 행동을 학습하도록 설계하였습니다.
- 보상 시스템 설계
- 플레이어에 가까워질수록 높은 보상, 멀어질수록 음의 보상을 부여.
- 이를 통해 캐릭터가 플레이어를 적극적으로 추격하도록 유도.