가이드Stefan VaskevichStefan Vaskevich

언리얼 엔진 5에서 3D 가우시안 스플랫: 월드와 오브젝트를 무료·로컬 생성

언리얼 엔진 5를 위한 무료·로컬 3DGS 스택: 스플랫을 렌더링하는 플러그인, 콜라이더를 만드는 CLI, 그리고 월드와 오브젝트를 무료로 생성하는 방법.

지금 3D Gaussian Splatting 분야에서 진짜 혁명이 일어나고 있습니다. 불과 지난 몇 달 사이에, 오브젝트는 물론 전체 월드까지 스플랫으로 생성해 주는 오픈소스 로컬 도구가 쏟아져 나왔습니다. 무료이고, 내 GPU에서 돌아가며, 스캔 장비도 클라우드도 필요 없습니다. 그리고 이 모든 결과물을 이제 드디어Unreal Engine 5 안에 그대로 넣을 수 있게 됐습니다. 실제로 렌더링되고, FPS도 망가뜨리지 않으면서 말이죠.

이 글은 전체 스택을 링크 위주로 짧게 정리한 버전입니다. UE5에서 스플랫을 렌더링하는 플러그인, 포맷을 변환하고 콜라이더를 만들어 주는 CLI, 정리 작업용 브라우저 에디터, 그리고 월드와 오브젝트를 무료로 로컬에서 생성하는 정확한 위치까지 다룹니다. 모든 링크는 맨 아래 목록에 모아 뒀습니다.

top3d.ai 신기능: 메시뿐 아니라 스플랫도 비교하세요
방금 Compare 도구에 3D Gaussian Splatting을 추가했습니다. 처음엔오브젝트와 월드 양쪽에 걸쳐 약 10개의 스플랫으로 시작합니다. 덕분에 프로젝트에 하나를 확정하기 전에 브라우저에서 나란히 돌려 보며 확인할 수 있습니다. 3DGS Compare 페이지에서 직접 사용해 보세요.

전체 제작 과정 영상으로 보기

전체 영상 워크스루는 공개 당일 여기에 올라옵니다.

영상 곧 공개영상이 공개되면 전체 YouTube 워크스루를 여기에 임베드할 예정입니다.
3D Gaussian Splat으로 생성한 네온 사이버펑크 스포츠카가 Unreal Engine 5 안에서 아래에 별도의 충돌 메시와 함께 실행되는 모습
NanoGS로 Unreal Engine 5에 넣은 스플랫 자동차. 아래에 별도의 충돌 메시(흰색 덩어리)를 두면 실제로 주변을 운전할 수 있습니다. 이 파이프라인 전체가 무료이고 로컬에서 돌아갑니다.

1. Unreal Engine 5에서 스플랫 렌더링하기: 플러그인

Unreal Engine은 기본적으로 스플랫 파일(.ply, .sog)을 지원하지 않으므로 플러그인이 필요합니다. 작고 실험적인 플러그인이 많은데, 그중 가장 인기 있는 세 가지를 테스트해 봤고 솔직한 정리를 여기에 남깁니다.

  • NanoGS - 지금 제가 추천하는 선택지입니다. 최신 Unreal 버전(5.7)에 맞춰 만들어졌고, 설치가 가장 쉽고, 스타 수도 많고, 영어 문서가 더 낫고, 활발하게 지원됩니다. 지금은 .ply만 지원합니다(SOG는 곧 추가되기를 기대합니다).
  • MLSLabs Renderer - 4DGS(스플랫 시퀀스, 즉 애니메이션/볼류메트릭 캡처)까지 지원하는 유일한 플러그인입니다. Lite(PLY 전용)와 Pro(압축 SOG 포맷 추가)로 나뉘는데, Pro는 현재 테스트 전용이라 뷰포트에 워터마크가 찍힙니다. GitHub 페이지에는 5.5라고 적혀 있지만 Google Drive 릴리스에는 5.7 빌드도 포함돼 있습니다.
  • XScene (XVerse) - 가장 초기 플러그인 중 하나지만 Unreal Engine 5.5까지만 지원합니다. 그래서 5.7/5.8 기반 신규 프로젝트에서는 제외합니다.
3DGS와 4DGS 지원, Apache 2.0 라이선스, 사원 장면 스플랫이 보이는 MLSLabs Gaussian Splatting Renderer GitHub 페이지
4DGS가 필요하다면 MLSLabs를 받으세요. 그 외 모든 경우엔 NanoGS가 더 간단한 선택입니다. 플러그인을 프로젝트의 Plugins 폴더에 넣고, 재시작한 뒤 활성화하고, 아무 .ply나 Gaussian Splat 액터로 임포트하면 됩니다.
NanoGS 설치, 요점만
맞는 릴리스(예: NanoGS UE5.7)를 받아서, 프로젝트에 Plugins 폴더(대문자 P)를 만들고, 거기에 압축을 풀고, Unreal을 재시작한 뒤 Plugins에서 NanoGS를 활성화하세요. 그다음 아무 .ply 임포트해서 씬으로 드래그하면 됩니다. MLSLabs는 더 무겁습니다. 엔진 폴더에 설치되고 첫 실행 시 PyTorch 의존성을 끌어옵니다.

2. 스플랫 변환, 콜라이더 추가, 정리하기

스플랫에는 몇 가지 포맷이 있고 Unreal은 그중 일부만 받아들입니다. 그래서 포맷을 서로 변환하는 도구가 하나 필요하고, 더 중요하게는 충돌(collision)을 생성할 도구가 필요합니다. 원본 스플랫은 그저 떠다니는 색상일 뿐이라, 그 위에 서거나 그것을 향해 달릴 기하학적 형태가 없기 때문입니다. 그 도구가 바로 splat-transform, PlayCanvas의 CLI입니다. Node.js가 설치돼 있다면 한 줄로 설치되며(ChatGPT가 파일에 맞는 정확한 명령을 써 줍니다), 포맷 변환과 콜라이더 메시.glb 익스포트를 모두 처리합니다.

# 설치 (Node.js 필요)
npm install -g @playcanvas/splat-transform

# 원본 .ply를 압축된 SOG로 변환
splat-transform scan.ply scan.sog

# 스플랫에서 충돌 메시(.glb) 익스포트
splat-transform car.ply car-collider.glb

그 콜라이더 .glb를 Unreal로 가져와 스플랫에 위치를 맞추고, 충돌 설정을 Use Complex Collision As Simple로 지정한 뒤, Actor Hidden In Game을 체크하면, 걷거나 운전하거나 그 위로 떨어질 수 있는 스플랫이 완성됩니다. 오브젝트든 전체 월드든 방식은 동일합니다.

포맷, 빠르게 정리
.ply는 원본의 무거운 스플랫 포맷입니다. SOG는 고도로 압축된 버전으로(약 300 MB PLY가 약 20 MB로 줄어든다고 생각하면 됩니다) 빠르게 새로운 표준으로 자리 잡고 있습니다. SPZ는 또 다른 압축/스트리밍 방식입니다. 쓰는 도구가 요구하는 대로 splat-transform으로 서로 변환하세요.

스플랫을 실제로 편집하려면(불필요한 부분을 잘라내고, 필요 없는 부분을 도려내려면) 가장 쉬운 선택지는 SuperSplat, 브라우저에서 바로 돌아가는 무료 에디터입니다. 스플랫을 끌어다 놓고, 지우고 싶은 부분을 올가미로 선택해 삭제하고, 익스포트하면 됩니다. 아직 Blender에서는 이 작업을 할 수 없어서, 정리 작업에는 이 도구가 정석입니다.

딸기 스플랫이 열려 있고 삭제할 부분이 노란색으로 선택된 SuperSplat 브라우저 에디터
SuperSplat은 브라우저에서 실행됩니다. 생성하거나 다운로드한 스플랫이 엔진에 들어가기 전에 떠도는 스플랫(노란색)을 선택해 삭제하며 정리하세요.

3. 스플랫을 생성할 곳 - 월드와 오브젝트, 무료로

SuperSplat 같은 라이브러리에서 완성된 스플랫을 받을 수도 있지만(크레딧 표기를 조건으로 무료로 쓸 수 있는 것도 있습니다), 진짜 재미있는 부분은 필요한 것을 정확히 직접 생성하는 것입니다. 두 가지 오픈 모델이 양쪽 절반을 각각 담당하며, 둘 다 로컬에서 돌리거나 무료 웹사이트를 이용할 수 있습니다.

월드 - Hunyuan World 2.0

Hunyuan World 2.0 는 어떤 장소의 사진 한 장을 스플랫 형태의 완전한 3D 월드로 바꿔 줍니다. 모든 코드와 체크포인트가 Apache 라이선스로 공개돼 있어서(GitHub), 성능 좋은 GPU(약 24 GB VRAM)라면 로컬에서 돌릴 수 있고, 그냥 웹사이트에서 무료로 써도 됩니다. 생성 한 번에 20분 이상 걸릴 수 있는데, 깔끔한 콜라이더까지 함께 만들어 주기 때문입니다. 이건 정말 반가운 보너스입니다. 유료 대안으로는 Marble (World Labs)가 있는데, 이쪽도 무료 등급이 있고 GLB를 익스포트합니다. 다만 Hunyuan도 그에 못지않게, 때로는 더 잘 버텨 줬습니다.

Hunyuan World 2.0에서 3D 월드 스플랫으로 생성한 중세 석조 안뜰
사진 한 장을 넣으면 완전한 스플랫 월드가 나옵니다. Hunyuan은 파노라마를 생성하고 그 주변으로 스플랫 씬을 구성한 뒤 콜라이더까지 건네줍니다. 월드는 여전히 카메라를 기준으로 고정돼 있어서, 시작 지점에서 멀어질수록 아티팩트가 늘어납니다.

오브젝트 - TripoSplat

TripoSplat 은 오브젝트 생성용으로 가장 쉬운 선택지입니다. VRAM이 약 8 GB만 있으면 되고, 최신ComfyUI에서 기본 지원됩니다. ComfyUI를 설치하고, TripoSplat 템플릿을 검색하고, 누락된 의존성을 설치하고, 출력을 PLY로 설정한 뒤 실행하면 됩니다. 생성은 약 1분 만에 끝납니다(ComfyUI를 다루기 번거롭다면 Hugging Face 데모가 더 빠릅니다). 결과물을 Unreal에 넣어 보면, 수백만 개의 가우시안까지 밀어붙이지만 않는다면 이미 꽤 최적화돼 있습니다.

ComfyUI에서 실행 중인 TripoSplat이 화분 꽃을 3D Gaussian Splat 오브젝트로 생성하는 모습
ComfyUI 속 TripoSplat: 사진을 넣으면 단 8 GB VRAM으로 약 1분 만에 스플랫 오브젝트가 나옵니다. 가우시안 개수를 조절해 품질과 성능을 맞바꾸세요.

성능: 실제로 버텨 주는 선

두 플러그인 모두 60 FPS로 수백만 개의 스플랫을 처리한다고 주장하고, 오브젝트나 깔끔한 씬에서는 정말로 부드럽습니다. 솔직한 한계선은 이렇습니다. 약 1천만 개의 스플랫을 넘어가면 여전히 병목이 생깁니다. Unreal에 아직 스플랫용 스트리밍 포맷이 없기 때문입니다. 씬을총 약 100만 개 미만의 스플랫으로 유지하면 대체로 괜찮습니다.

FPS를 지켜 주는 두 가지 규칙
  • 생성 단계에서 가우시안 개수를 조절하세요. 환경 소품이라면 32k 스플랫이 262k와 거의 비슷하게 보일 수 있습니다. 게다가 렌더링 비용은 훨씬 저렴합니다.
  • 큰 물체는 부품으로 나누세요. 하나의 거대한 스플랫 오브젝트로 만들지 마세요. NanoGS 개발자도 이를 권장하는데, 거대한 단일 스플랫은 컬링(화면 밖에 있을 때 숨김 처리)되지 않아서, 같은 콘텐츠를 여러 조각으로 나눈 것보다 훨씬 무겁기 때문입니다.
해파리, 버섯, 꽃, 사이버펑크 자동차 등 TripoSplat으로 생성한 스플랫 오브젝트로 가득 찬 Unreal Engine 콘텐츠 브라우저
TripoSplat으로 생성해 Unreal에 임포트한 오브젝트 라이브러리. 스플랫 자체는 정적이지만, 기존 메시로는 담아내기 어려운 포토리얼한 디테일을 품고 있습니다. 바로 그 점이 세트 드레싱에서 발휘되는 마법입니다.

전체 링크 모음

Unreal Engine에서 렌더링
처리 & 편집
스플랫 생성

이런 워크플로에 활용할 새로운 AI 3D 도구는 끊임없이 등장합니다. 그럴 때마다 곧장 3DGS Compare Arena에 추가되니, 확정하기 전에 직접 테스트해 볼 수 있습니다. 더 많은 엔진 워크플로가 궁금하다면 Claude Code + Unreal Engine 5 스플랫을 플레이 가능하게 만드는 가이드를 참고하세요.

이 도구들을 직접 비교해 보시겠습니까? 3D AI 아레나를 확인하세요.

언리얼 엔진 5에서 3D 가우시안 스플랫: 월드와 오브젝트를 무료·로컬 생성 | Top 3D AI