
3DGS 게임 적용 워크플로우 분석
3D 가우시안 스플래팅을 게임 자산으로 가져올 때 필요한 캡처·학습·정리·엔진 통합 단계를 정리합니다. 실시간 성능과 편집 가능성 사이의 경계를 기준으로 적용 대상을 고르는 방법도 살펴봅니다.
3DGS는 게임 자산 제작 방식을 바꿀 수 있을까
3D 가우시안 스플래팅(3D Gaussian Splatting, 3DGS)은 여러 각도에서 촬영한 이미지로 장면을 재구성한 뒤 수많은 반투명 가우시안을 화면에 투영해 표현하는 방식이다. 메시와 텍스처를 직접 만드는 전통적인 파이프라인과 달리 현실의 외관을 빠르게 가져오는 데 강점이 있다.
다만 연구 데모에서 보이는 실시간 렌더링과 상용 게임에 넣을 수 있는 자산은 같은 문제가 아니다. 게임에서는 메모리 예산, 다양한 기기, 충돌 처리, 조명 변화, 애니메이션, 저장 용량, 아트 디렉션까지 함께 해결해야 한다. 따라서 3DGS를 메시의 완전한 대체재로 보기보다 정적인 현실 배경을 빠르게 확보하는 별도 자산 형식으로 다루는 편이 실용적이다.

먼저 적용 대상을 좁힌다
3DGS가 특히 잘 맞는 대상은 다음 조건을 많이 만족하는 공간이다.
- 카메라가 가까이 다가가지 않는 정적 배경
- 시간에 따라 형태가 바뀌지 않는 건물, 바위, 골목, 실내 장식
- 사진 기반의 질감과 불규칙한 표면이 중요한 장소
- 충돌과 상호작용을 단순한 프록시 메시로 처리할 수 있는 구역
반대로 플레이어가 집거나 부수는 물체, 스켈레탈 애니메이션이 필요한 캐릭터, 그림자와 재질 반응을 정교하게 제어해야 하는 핵심 오브젝트에는 아직 메시가 더 관리하기 쉽다. 얇은 철망, 반사체, 유리, 흔들리는 나뭇잎, 보행자가 많은 장면도 촬영 데이터의 불일치가 남기 쉽다.
이 구분은 제작 초기에 결정해야 한다. 스플랫을 촬영한 뒤 게임용으로 고치려 하면 비용이 커지기 쉽다. 처음부터 스플랫 영역과 메시 영역의 책임을 나누면 충돌, 내비게이션, 게임플레이 오브젝트를 별도로 설계할 수 있다.
권장 워크플로우
flowchart LR
A[대상 선정] --> B[사진·영상 촬영]
B --> C[카메라 정합과 3DGS 학습]
C --> D[정리·압축·구간 분할]
D --> E[엔진 임포트와 스트리밍]
E --> F[프록시 충돌·조명·게임플레이 결합]
F --> G[목표 기기 성능 검증]
G -->|예산 초과| D
1. 촬영은 겹침과 일관성이 핵심이다
한 장면을 둘러보며 인접 사진끼리 충분히 겹치도록 촬영한다. 자동 노출과 자동 초점이 프레임마다 크게 바뀌면 학습 결과에 얼룩이나 밝기 변화가 남을 수 있으므로 가능하면 노출, 초점, 화이트 밸런스를 고정한다. 움직이는 사람과 차량은 재구성의 방해 요소다. 촬영 시간대를 고정하거나 사람이 적은 시간에 여러 번 나누어 찍는 편이 낫다.
실내에서는 어두운 면을 살리겠다고 노출을 과도하게 올리면 흔들림과 노이즈가 늘어난다. 삼각대나 안정화된 촬영 장비를 쓰고 어두운 구역은 밝은 구역과 별도로 충분한 사진을 확보하는 방식이 안전하다. 장면의 실제 크기가 필요한 게임이라면 기준 길이를 하나 측정해 두고 엔진 임포트 단계에서 스케일을 맞춘다.
2. 학습 결과를 그대로 넣지 않는다
학습이 끝난 스플랫에는 촬영 범위 밖의 하늘, 바닥의 잡음, 떠 있는 점, 지나간 물체의 흔적이 섞일 수 있다. 게임용 자산화 단계에서는 먼저 불필요한 영역을 자르고 플레이 동선 기준으로 셀을 나눈다. 한 번에 전체 맵을 그리기보다 카메라 주변 셀만 읽을 수 있어야 메모리 관리가 가능하다.
가우시안 수를 줄이는 작업도 필요하다. 일반적으로 멀리서 보아도 차이가 작은 가우시안, 불투명도가 매우 낮은 가우시안, 화면 기여도가 낮은 가우시안을 제거하거나 더 거친 표현으로 바꾼다. 품질 평가는 편집 화면이 아니라 실제 게임 카메라와 목표 해상도에서 해야 한다.
3. 엔진에서는 하이브리드 장면으로 구성한다
렌더러는 보통 가우시안을 깊이 순서에 맞춰 그리며 이 과정은 투명도와 정렬 비용의 영향을 받는다. 그래서 스플랫의 개수만 볼 것이 아니라 카메라에서 실제로 보이는 가우시안 수, 화면을 덮는 면적, 정렬 방식, 모바일 GPU의 대역폭을 함께 측정해야 한다.
충돌과 내비게이션은 스플랫 데이터에서 자동으로 얻어지지 않는다고 생각하는 편이 안전하다. 간단한 블록아웃 메시나 스캔 메시를 충돌용으로 두고 스플랫은 외관 전용으로 사용한다. 문, 레버, 수집물, 적의 엄폐물처럼 플레이에 영향을 주는 요소는 별도 메시로 배치한다.

성능 검증은 숫자로 시작한다
목표 기기에서 다음 항목을 같은 카메라 경로로 기록한다.
| 항목 | 확인할 이유 |
|---|---|
| 프레임 시간 | 평균 FPS보다 순간적인 프레임 급락을 찾기 쉽다. |
| GPU 메모리 | 스플랫 데이터와 스트리밍 버퍼의 상한을 정한다. |
| 가시 가우시안 수 | 카메라 위치별 렌더링 부하를 비교한다. |
| 로딩 시간과 전송량 | 셀 분할과 압축 정책이 실제로 효과적인지 확인한다. |
| 오버드로우 | 큰 반투명 스플랫이 화면을 반복해서 덮는 문제를 찾는다. |
초기 목표는 최고 품질이 아니라 최악의 카메라 위치에서도 프레임 예산을 넘지 않는 것이다. 예를 들어 60fps를 목표로 한다면 한 프레임의 전체 예산은 다음과 같다.
이 값 안에는 스플랫 렌더링뿐 아니라 캐릭터, 후처리, UI, 물리, 게임 로직도 들어간다. 따라서 3DGS에 쓸 수 있는 시간은 프로젝트마다 훨씬 작다. 프로파일러에서 특정 골목이나 실내에서만 비용이 치솟는다면 해당 구간을 더 잘게 나누거나 가우시안 밀도를 낮추는 식으로 해결한다.
인디 팀이 시작하기 좋은 작은 실험
처음부터 오픈 월드 한 구역을 옮기지 말고 30초 안에 통과하는 작은 공간 하나를 고른다. 동일한 공간을 사진 기반 3DGS와 전통적 메시로 각각 구성해 보고 제작 시간뿐 아니라 빌드 크기, 목표 기기 프레임 시간, 수정 편의성까지 비교한다.
이 실험의 질문은 3DGS가 더 사실적인가가 아니다. 이 공간에서 3DGS가 줄여 주는 작업이 무엇이며 그 대가로 생기는 엔진 작업은 감당 가능한가여야 한다. 답이 긍정적이면 정적인 배경, 포토그래메트리 기반 탐험 구역, 짧은 시네마틱 공간부터 적용 범위를 넓힐 수 있다.
정리
3DGS의 매력은 현실 공간을 빠르게 시각 자산으로 옮기는 데 있다. 그러나 게임의 모든 문제를 해결하는 포맷은 아니다. 촬영 품질을 관리하고 데이터를 구간별로 정리하고 충돌과 상호작용을 메시로 분리하고 목표 기기에서 반복 측정하는 워크플로우가 갖춰질 때 비로소 게임에 쓸 수 있다.
현재 가장 현실적인 전략은 메시 파이프라인을 버리는 것이 아니라 3DGS를 정적인 외관 레이어로 추가하는 것이다. 이 경계가 분명할수록 팀은 새로운 표현 기술을 실험하면서도 게임플레이와 성능의 주도권을 지킬 수 있다.


