World of Tanks의 개발은 독점 그래픽 엔진인 Core Engine의 지속적인 진화를 요구해 왔습니다. 동적 그림자 구현과 소프트웨어 기반 레이 트레이싱 지원은 특히 매우 높은 폴리곤 디테일의 장갑 차량을 렌더링할 때 상당한 기술적 과제를 나타냅니다. 이 글에서는 중간 사양 하드웨어에서도 부드러운 성능을 유지할 수 있게 해주는 최적화 기술을 분석합니다.
그림자 최적화 및 소프트웨어 기반 레이 트레이싱 🎮
Core Engine은 하이브리드 셰이딩 시스템을 사용합니다. 동적 그림자의 경우, 차량과 카메라 사이의 거리에 따라 깊이 맵의 해상도를 조정하는 캐스케이드 섀도우 매핑(CSM)을 사용합니다. 소프트웨어 기반 레이 트레이싱의 경우, 엔진은 전용 RT 하드웨어에 의존하지 않습니다. 대신, 고밀도 메시에 최적화된 BVH(Bounding Volume Hierarchy) 가속 구조를 구현합니다. ZBrush에서 수백만 개의 폴리곤으로 모델링된 차량은 Maya에서 엄격한 리덕션 프로세스를 거쳐 엔진이 가시 표면에서만 광선 교차점을 계산하기 위해 전환하는 점진적인 LOD(레벨 오브 디테일)를 생성합니다.
성능을 위한 아트 워크플로우 🎨
아트 파이프라인은 게임의 그래픽 성공에 핵심적입니다. 모델러는 ZBrush에서 탱크를 조각하여 모든 리벳과 용접부를 캡처합니다. 이후 Maya에서 리토폴로지와 노멀 맵 및 앰비언트 오클루전 맵 베이킹이 수행됩니다. 이러한 텍스처 맵은 Core Engine을 속여 실시간으로 수백만 개의 삼각형을 처리할 필요 없이 복잡한 지오메트리를 시뮬레이션합니다. 이 기술은 동적 셰이딩과 결합되어 소프트웨어 기반 레이 트레이싱이 전투 중 60FPS를 희생하지 않으면서 차체의 정확한 반사를 계산할 수 있게 합니다.
30대의 탱크와 변형 가능한 지형이 있는 전투에서의 성능 문제를 고려할 때, World of Tanks의 Core Engine은 시각적 부드러움을 희생하지 않으면서 어떻게 실시간 동적 조명을 적용할 수 있을까요?
(추신: 개발 시간의 90%는 다듬는 데, 나머지 90%는 버그를 수정하는 데 쓰입니다)