3DGS 게임 적용 워크플로우 분석
3D 가우시안 스플래팅을 게임 자산으로 가져올 때 필요한 캡처·학습·정리·엔진 통합 단계를 정리합니다. 실시간 성능과 편집 가능성 사이의 경계를 기준으로 적용 대상을 고르는 방법도 살펴봅니다.

3DGS는 게임 자산 제작 방식을 바꿀 수 있을까
3D 가우시안 스플래팅(3D Gaussian Splatting, 3DGS)은 여러 각도에서 촬영한 이미지로 장면을 재구성한 뒤 수많은 반투명 가우시안을 화면에 투영해 표현하는 방식이다. 사진으로 외관을 확보하는 접근이지만, 수작업 메시 제작보다 전체 제작 시간이 짧아지는지는 촬영과 후처리를 포함해 비교해야 한다.
다만 연구 데모의 실시간 렌더링 결과만으로 상용 게임의 요구사항 충족 여부를 판단할 수는 없다. 이 설계에서는 메모리 예산, 대상 기기, 충돌, 조명 변화, 애니메이션, 저장 용량, 아트 디렉션을 함께 점검한다. 우선 정적인 배경의 외관을 표현하는 별도 자산 형식으로 3DGS를 시험한다.

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

성능 검증은 숫자로 시작한다
목표 기기에서 다음 항목을 같은 카메라 경로로 기록한다.
| 항목 | 확인할 이유 |
|---|---|
| 프레임 시간 | 평균 FPS보다 순간적인 프레임 급락을 찾기 쉽다. |
| GPU 메모리 | 스플랫 데이터와 스트리밍 버퍼의 상한을 정한다. |
| 가시 가우시안 수 | 카메라 위치별 렌더링 부하를 비교한다. |
| 로딩 시간과 전송량 | 셀 분할과 압축 정책이 실제로 효과적인지 확인한다. |
| 오버드로우 | 큰 반투명 스플랫이 화면을 반복해서 덮는 문제를 찾는다. |
초기 목표는 최고 품질이 아니라 최악의 카메라 위치에서도 프레임 예산을 넘지 않는 것이다. 예를 들어 60fps를 목표로 한다면 한 프레임의 전체 예산은 다음과 같다.
캐릭터, 후처리, UI, 물리, 게임 로직도 각 실행 경로의 예산을 사용하므로 16.67ms 전체를 3DGS에 배정할 수는 없다. CPU와 GPU는 겹쳐 실행될 수 있으므로 모든 시간을 단순 합산하지 말고 각각의 병목과 대기를 확인한다. 특정 구간에서 비용이 치솟으면 구간 분할이나 밀도 조정 후보를 적용한 뒤 다시 측정한다.
인디 팀이 시작하기 좋은 작은 실험
처음부터 오픈 월드 한 구역을 옮기지 말고 30초 안에 통과하는 작은 공간 하나를 고른다. 동일한 공간을 사진 기반 3DGS와 전통적 메시로 각각 구성해 보고 제작 시간뿐 아니라 빌드 크기, 목표 기기 프레임 시간, 수정 편의성까지 비교한다.
이 실험에서는 시각 품질과 함께 “3DGS가 줄여 주는 작업은 무엇인가? 추가로 필요한 엔진 작업은 감당할 수 있는가?”를 확인한다. 요구사항을 충족하면 정적인 배경, 포토그래메트리 기반 탐험 구역, 짧은 시네마틱 공간으로 적용 범위를 넓히는 실험을 진행한다.
정리
3DGS로 현실 공간의 외관을 가져오는 실험에서는 촬영 품질, 데이터 정리, 충돌과 상호작용의 분리, 목표 기기 검증을 하나의 워크플로우로 관리하자.
이 글에서 권장하는 시작점은 기존 메시 파이프라인에 3DGS를 정적인 외관 레이어로 추가하는 것이다. 역할을 구분한 작은 실험으로 게임플레이와 성능 요구를 함께 평가한다.



