GTA 스타일 도시를 만들고 싶었다. 빌딩, 도로, NPC, 차량 전부 넣었다.
결과? 프레임이 15fps로 떨어졌다.
에디터에서도 버벅거리고, 로딩은 3분씩 걸렸다.
이때 깨달았다. 오픈월드는 그냥 큰 맵이 아니라, 똑똑한 최적화가 핵심이라는 것을.
거대한 맵을 자동으로 분할 로딩
→ 메모리 사용량 80% 감소
수백만 폴리곤도 실시간 렌더링
→ LOD 걱정 제로
동적 글로벌 일루미네이션
→ 라이트맵 베이킹 불필요
먼 거리 오브젝트 자동 병합
→ 드로우콜 90% 감소
실제 강의에서 구현하는 GTA 스타일 오픈월드 게임
중요 오브젝트는 멀리서도 보이게, 디테일은 가까이서만
Occlusion Culling, Frustum Culling 활용
반복되는 오브젝트(나무, 가로등)는 인스턴스로
Virtual Texture로 메모리 관리
10km²
맵 크기
60fps
평균 프레임
4GB
메모리 사용
15초
로딩 시간
"월드 파티션 하나만 잘 써도 최적화의 80%는 해결된다."