애니메이션 캐릭터를 위한 AnimMap Baker
요약
본 글은 Unity 환경에서 대규모 애니메이션 캐릭터를 효율적으로 렌더링하는 방법을 다룹니다. 'AnimMap Baker'는 GPU 인스턴싱과 애니메이션 맵을 활용하여 수많은 캐릭터(예: 10,000개)를 적은 드로우 콜(20개 이하)로 구현할 수 있게 합니다. 이는 특히 게임 개발에서 성능 최적화가 중요한 대규모 군중 시뮬레이션에 유용합니다.
핵심 포인트
- GPU 인스턴싱을 활용하여 드로우 콜 수를 획기적으로 줄입니다.
- 애니메이션 맵(Animation Map)으로 버텍스 위치를 수정해 스킨 계산 비용을 절감합니다.
- Unity 2023 및 URP 지원 등 최신 개발 환경에 맞춰 업데이트되었습니다.
- AR Foundation까지 지원하여 실제 세계에서의 대규모 캐릭터 구현이 가능합니다.
애니메이션 캐릭터를 위한 AnimMap Baker
블로그 게시물
Unity에서 20개의 드로우 콜로 10,000개의 애니메이션 캐릭터 렌더링하는 방법
설명:
대량의 애니메이션 캐릭터 렌더링을 위해 GPU를 사용합니다. 버텍스 셰이더(vertex shader)용 애니메이션 맵(animation map)은 런타임에 메시의 버텍스 위치를 수정하는 데 사용됩니다. 드로우 콜(draw calls)을 줄이기 위해 GPU 인스턴싱(GPU instancing)을 사용합니다.
그림자 지원
Unity의 AR Foundation을 사용하여 구형 iPhone 7에서 실제 세계에 장난감 병사 10,000개를 생성하는 방법.
초기 버전은 2017년 7월 30일 GitHub에 공개되었으며, 물론 현재도 GitHub에 있습니다. 하지만 만약 커피 한 잔을 사주신다면 매우 기쁠 것입니다 :-).
:heart: 애니메이션 캐릭터를 위한 Animation Baker 및 Instancing (Asset Store)
최근 Unity 2023과 범용 렌더 파이프라인(Universal Render Pipeline, URP)을 지원하도록 추가하여, Unity 5.X부터 Unity 2023까지 사용할 수 있습니다.
그리고 사용 방법을 시연하는 비디오 튜토리얼을 제작할 예정입니다. 이 구현의 배경에 대해 더 알고 싶다면 제가 작성한 [article]을 읽어보실 수 있습니다.
기능:
✅ Unity 2023 지원.
✅ 그림자(Shadows) 지원.
✅ 애니메이션 맵을 사용하여 캐릭터 버텍스의 위치를 런타임에 수정함으로써 스킨 계산 비용을 크게 절감합니다.
✅ GPU 인스턴싱을 사용하여 드로우 콜 수를 줄이며, 데모 장면에서 공격 동작을 하는 병사 10,000개를 렌더링하는 데 단 20개의 드로우 콜만 필요합니다.
✅ 애니메이션 맵을 사용하여 캐릭터의 정점(vertices) 위치를 런타임에 수정함으로써 스킨 계산 비용을 크게 줄입니다.
✅ GPU Instancing을 사용해 드로우 콜(draw calls) 수를 줄였으며, 데모 장면에서 아이들 액션을 취하는 10,000마리의 고양이를 렌더링하는 데 단 20개의 드로우 콜만 필요합니다.
✅ AR Foundation을 지원합니다.
✅ URP(SRP Batcher)를 지원하며, 데모 장면에서 아이들 액션을 취하는 10,000마리의 고양이를 렌더링하는 데 단 7개의 드로우 콜만 필요합니다.
모델 리소스 링크:
RTS Mini Legion Footman Handpainted
레거시 애니메이션 정보를 애니메이션 맵에 베이크(Bake)하기:


애니메이터와 스킨드 메시 렌더러 없이 애니메이션 캐릭터 구현.
대규모 애니메이션 캐릭터를 위한 GPU Instancing 및 메쉬 렌더링:

22개의 드로우 콜로 10,000마리의 애니메이션 캐릭터 구현.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub GameDev의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기
