[게임테크] MMO애니메이션 메모리 절감법 깜짝 공개

일반입력 :2012/03/28 15:29    수정: 2012/03/28 18:01

특별취재팀

하복은 다중사용자접속 온라인(MMO)게임을 만들 때 애니메이션 개발 기간과 메모리 소비를 줄이면서 최종 품질을 높이는 비법을 공개했다. 회사가 만든 프로덕션툴 '피직스', '애니메이션', '비헤이비어', 3가지를 활용한 전략이다.

하복 아시아의 타다히로 만모토 테크니컬 릴레이션 매니저는 28일 게임스팟코리아와 지디넷코리아가 개최한 ‘게임테크 2012’에서 'MMO 개발을 위한 애니메이션'이라는 주제로 강연을 진행했다. MMO 개발을 위한 애니메이션 기법과 하복 기술을 소개하고 최종 결과물 품질과 개발 효율을 높이는 전략을 다뤘다.

우선 MMO 게임 환경에서 클라이언트 컴퓨터엔 모든 캐릭터 데이터가 들어 있지만 서버에는 글로벌 모션 데이터만 보관하면 된다. 다만 종종 서버와 클라이언트간 캐릭터의 애니메이션 상태를 동기화시켜야 할 경우가 있다. 동적 캐릭터 움직임을 자연스럽게 처리하기 위해서다.

동적 캐릭터 움직임을 만들려면 '블렌드 트리'가 필요하다. 이는 애니메이션들이 위계구조안에서 샘플링되고 블렌딩되면서 캐릭터가 가능한 개별 동작들의 연결고리를 짜넣는 것이다.

만모토 매니저는 각 캐릭터마다 고유한 블렌드 트리가 있어야 한다며 블렌드 트리, 리그사이즈, 일반 애니메이션 크기를 더하고 캐릭터 수와 애니메이션 수를 모두 곱해야 하는데, 일반적인 방식으로 만들다 보면 온라인 게임이 아닌 PC게임 환경에서도 처리하기 어려운 수준으로 커진다고 지적했다.

이런 상황을 지원하기 위해 소개된 툴이 하복의 프로덕션툴 '비헤이비어'다. 비헤이비어는 피직스와 애니메이션 툴에 기반해 캐릭터를 개발할 수 있는 툴이다.

만모토 매니저는 제한된 용량 안에서 필요한 애니메이션을 효율적으로 처리하는 기법을 구현하기 위한 도구라며 강력한 디버깅 기능과 직관적인 조작이 특징이다. 이를 사용한 게임으로 스카이림, 에픽미키, 고베이케이션 등이 있다고 설명했다.

그는 비헤이비어 기능가운데 '파라메트릭 블렌딩'과 '섈로 클로닝' 지원, '애니메이션 레이어링'을 소개했다.

파라메트릭 블렌딩은 게임중 변수로 주어지는 경우가 많은 파라메터를 여러 앵글로 된 몇개의 애니메이션이 있을 때 파라메트릭 블렌딩 기능을 쓰면 주어진 애니메이션 몇 개를 섞어 속도 변수를 통해 걷기와 달리기 사이 블렌딩 애니메이션을 만드는 식이다. 섈로 클로닝도 런타임에서 블렌드트리가 소모하는 메모리 크기를 줄여 준다.비헤이비어 툴에 기반 기술을 제공한 또다른 캐릭터용 하복 툴로 피직스와 애니메이션이 있다. 피직스는 캐릭터를 랙돌로 쓰거나 캐릭터 컨트롤러 기능으로 벽에 딧치거나 중력을 적용시킬 수 있다. 애니메이션은 랙돌 통합과 애니메이션 리타게팅과 압축 및 해제 최적화를 수행한다. 이를 적용한 게임으로 LA누아르, 저스틑코즈2, UFC 등이 있다.

하복 애니메이션은 스플라인, 퀀타이즈, 프리딕티브, 3가지 압축 스키마를 제공한다. X박스360 환경에서 압축율은 프리딕티브 스키마가 가장 우수했다고 하복 측은 밝혔다.

만모토 매니저는 애니메이션 툴 지원 기능으로 리타게팅, 미러링, LOD 등을 설명했다.

리타게팅 기법을 쓰면 한 캐릭터에 쓴 리그스트럭처 자산을 다른 캐릭터에 적용할 수 있다. 결과적으로 2개 이상의 캐릭터가 리그스트럭처를 공유함으로써 개발할 애니메이션을 줄일 수 있다.

관련기사

미러링을 쓰면 기존 애니메이션에서 반대방향 모션을 수행하는 새 애니메이션을 만들어낼 수 있다. 메모리코스트를 높이지 않고 다양성을 추구할 수 있다는 게 장점이다.

LOD 기능은 선별적으로 서버에서 애니메이션 영역을 렌더링할 수 있게 해준다. 메모리 풋프린트 이슈보다 성능을 높이는 기능에 해당한다. 골격 서브셋 가운데 일부분만 샘플링해 서버와 클라이언트가 같은 애니메이션 자산을 공유하게 해준다.