ComfyUI를 위한 TripoSplat 이미지에서 3D Gaussian Splats로의 워크플로우#
단일 참조 이미지를 궤도 미리보기 비디오와 함께 공유 가능한 3D Gaussian Splats 에셋으로 변환하십시오. 이 TripoSplat 이미지에서 3D Gaussian Splats로의 워크플로우는 백그라운드 제거, 비전 조건 설정, TripoSplat 샘플링, 스플랫 디코딩, 실시간 렌더링 및 내보내기를 SPZ로 자동화하는 공식 ComfyUI 3D 템플릿입니다. 이는 단일 이미지 3D Gaussian 재구성을 위한 triplane 기능을 소개하는 TripoSplat 프로젝트 및 논문을 기반으로 하며, GitHub 및 arXiv에서 사용할 수 있는 가중치를 제공합니다. Hugging Face에서 사용할 수 있습니다.
아티스트, 게임 개발자 및 XR 제작자는 단일 이미지에서 소품이나 스타일화된 객체를 빠르게 프로토타입화하고 이를 궤도 회전식 테이블로 미리보고 RunComfy 준비가 된 에셋으로 내보낼 수 있습니다. 이 README에서 설명하는 템플릿은 GitHub에서 사용할 수 있는 TripoSplat에 대한 업스트림 ComfyUI 워크플로우 예제와 일치합니다.
ComfyUI TripoSplat 이미지에서 3D Gaussian Splats로의 워크플로우의 주요 모델#
- TripoSplat diffusion model checkpoint (UNet). 단일 이미지의 특징에서 3D Gaussian 필드를 예측하는 핵심 생성기. 출처: GitHub 및 Hugging Face.
- TripoSplat VAE Decoder. 샘플링된 잠재 변수를 명시적인 3D Gaussian Splats 매개변수로 디코딩하여 렌더링 및 내보내기를 수행합니다. 가중치는 Hugging Face의 TripoSplat 모델 카드에 패키지로 제공됩니다.
- FLUX.2 VAE. 조건 설정 및 TripoSplat 파이프라인과의 정렬 중에 사용되는 이미지 인코딩 공간을 제공합니다. Hugging Face와 함께 TripoSplat 가중치로 배포됩니다.
- DINO v3 ViT-H 비전 백본. 단일 뷰 3D 재구성을 위한 고급, 견고한 이미지 특징을 제공합니다; Hugging Face에서 워크플로우의 에셋과 함께 제공됩니다.
- BiRefNet for background removal. 전경 주제를 분할하여 조건 설정을 개선하고 3D 생성 전에 혼란을 줄입니다. 모델 가중치: Hugging Face.
ComfyUI TripoSplat 이미지에서 3D Gaussian Splats로의 워크플로우 사용 방법#
이 워크플로우는 이미지 및 마스크 준비에서 TripoSplat 샘플링 및 디코딩으로 이동한 다음 두 개의 내보내기 분기로 확장됩니다: 실시간 궤도 미리보기 비디오 및 SPZ 3D Gaussian Splats 파일. 세 번째 선택적 분기는 스플랫을 GLB 내보내기를 위한 메쉬로 변환합니다.
- 이미지 로드 및 준비
LoadImage(#99)에서 참조 이미지를 가져옵니다. 이미지에 이미 투명도나 큐레이팅된 마스크가 있는 경우 직접 사용할 수 있습니다. 그렇지 않으면, 포함된 "Remove Background (BiRefNet)" 서브그래프가 주제를 분리하고 깨끗한 마스크를 앞으로 전달합니다.Switch: Mask Source(#35)는auto_remove_background토글을 기반으로 마스크와 BiRefNet 마스크 사이를 자동으로 선택합니다. 전처리기TripoSplatPreprocessImage(#2)는 크기를 표준화하고 선택한 마스크와 이미지를 결합하여 주제를 중앙에 놓고 깨끗하게 유지합니다.
- 이미지에서 Gaussian Splat(TripoSplat) 서브그래프
- 핵심 서브그래프
Image to Gaussian Splat (TripoSplat)(#88)은 DINO v3 ViT-H 및 FLUX.2 VAE를 사용하여TripoSplatConditioning(#24)으로 조건을 계산합니다.KSampler(#6)는 이러한 조건을 사용하여 TripoSplat UNet을 실행하여 잠재 변수를 생성합니다. 그런 다음VAEDecodeTripoSplat(#55)이 잠재 변수를 실제 3D Gaussian Splats 구조로 디코딩합니다. 전체 디코딩 전에 빠르게 보고 싶다면, 모델을TripoSplatSamplingPreview(#97)를 통해 라우팅하는 내장 미리보기 경로를 활성화하십시오.
- 핵심 서브그래프
- 3D 모델 생성
- 디코딩된 스플랫은
SplatToFile3D(#92)를 사용하여 3D Gaussian 필드를 보존하는 SPZ 파일로 내보내집니다. 이는 다운스트림 사용 및 RunComfy에 다시 로드하는 데 권장되는 형식입니다.SaveGLB(#51)로 레이블이 지정된 노드는 파일을 수신하고 휴대성과 공유를 위해 SPZ 패키지로 디스크에 씁니다.
- 디코딩된 스플랫은
- 비디오 생성
- 회전식 테이블 미리보기를 위해
CreateCameraInfo(#79)는 궤도 카메라를 정의하고RenderSplat(#75)는 스플랫을 프레임으로 래스터화합니다.CreateVideo(#41)는 해당 프레임을 비디오로 연결하고SaveVideo(#42)는 결과를 디스크에 씁니다. 이 분기는 내보내기를 완료하기 전에 범위, 밀도 및 실루엣에 대한 즉각적인 시각적 피드백을 제공합니다.
- 회전식 테이블 미리보기를 위해
- 3D 모델 생성(실험적)
- 메쉬가 필요한 경우, 실험적 분기는
SplatToMesh(#76)를 사용하여 스플랫을 변환하고SaveGLB(#67)를 통해 GLB를 씁니다. 메쉬 변환은 빠른 시각화 또는 기본 DCC 가져오기에 적합합니다. 충실도 및 조명 친화적인 미리보기를 위해 네이티브 스플랫과 궤도 비디오가 초기 메쉬보다 일반적으로 더 잘 보입니다.
- 메쉬가 필요한 경우, 실험적 분기는
ComfyUI TripoSplat 이미지에서 3D Gaussian Splats로의 워크플로우의 주요 노드#
VAEDecodeTripoSplat(#55)- 확산 잠재 변수를 완전한 3D Gaussian Splats 표현으로 디코딩합니다.
num_gaussians제어는 밀도 및 메모리 사용량을 조절합니다. 값이 높을수록 밀도가 높고 실루엣이 부드러워지지만 시간이 더 오래 걸리고 더 많은 VRAM이 필요합니다; 커버리지와 세부 사항이 필요에 맞을 때까지 적당히 시작하여 확장하십시오.
- 확산 잠재 변수를 완전한 3D Gaussian Splats 표현으로 디코딩합니다.
KSampler(#6)- 조건 설정 및 초기 잠재 변수를 사용하여 TripoSplat 추론을 구동합니다. 동일한 이미지에서 새로운 구조적 변형을 위해
seed를 조정하십시오. 전경 추출 및 주제 구성의 변경 사항을 평가하는 동안 다른 샘플러 선택을 안정적으로 유지하십시오.
- 조건 설정 및 초기 잠재 변수를 사용하여 TripoSplat 추론을 구동합니다. 동일한 이미지에서 새로운 구조적 변형을 위해
TripoSplatConditioning(#24)- DINO 특징과 VAE 잠재 변수를 결합하여 단일 이미지 3D를 가능하게 하는 비전 가이드를 구축합니다. 좋은 결과는 깨끗하고 중앙에 놓인 주제와 혼잡한 배경을 제외하는 마스크에 달려 있습니다.
RenderSplat(#75)- 미리보기 회전식 테이블을 위한 이미지로 결과 스플랫을 렌더링합니다. 선명도와 속도 간 균형을 위해 출력 크기를 조정하고
CreateCameraInfo(#79)에서 카메라 정보 입력을 사용하여 궤도 스타일을 제어하십시오.
- 미리보기 회전식 테이블을 위한 이미지로 결과 스플랫을 렌더링합니다. 선명도와 속도 간 균형을 위해 출력 크기를 조정하고
SplatToMesh(#76)- Gaussian 표현을 GLB 내보내기를 위한 폴리곤 메쉬로 변환합니다. 네이티브 스플랫보다 세부 사항이 적을 것으로 예상됩니다; 대상 툴체인이 메쉬를 요구하는 경우 편의 경로로 취급하십시오.
선택적 추가 기능#
- 명확하고 중앙에 놓인 주제와 배경과의 좋은 분리가 있는 이미지를 사용하십시오; 가려짐이 최소화된 객체 뷰가 가장 잘 작동합니다.
- 소스에 이미 투명성이 있는 경우, 수제 마스크를 보존하기 위해 자동 배경 제거를 비활성화하십시오.
- GPU 및 객체 복잡성에 맞는 최적점을 찾기 위해
num_gaussians를 점진적으로 증가시키십시오. - 전체 디코딩 및 내보내기를 실행하기 전에 주제 분리 및 실루엣을 확인하기 위해 TripoSplat 미리보기 경로를 활성화하십시오.
- 품질 및 편집 가능성을 위해 SPZ를 선호하십시오; GLB가 엄격히 필요한 경우에만 메쉬 분기를 사용하십시오.
감사의 글#
이 워크플로우는 다음 작업 및 리소스를 구현하고 확장합니다. ComfyUI의 네이티브 3D Gaussian Splatting 지원과 3D TripoSplat 이미지-가우시안-스플랫 워크플로우 템플릿을 제공한 Comfy-Org, TripoSplat 모델과 저장소를 제공한 VAST AI Research 및 VAST AI, 연구 논문 기여 및 유지보수를 해주신 TripoSplat 논문 저자들에게 감사드립니다. 권위 있는 세부 사항은 아래에 연결된 원본 문서 및 저장소를 참조하십시오.
리소스#
- Comfy-Org/Bringing native support for 3D Gaussian Splatting
- 문서 / 릴리스 노트: Bringing native support for 3D Gaussian Splatting
- Comfy-Org/3d_triposplat_image_to_gaussian_splat.json
- GitHub: Comfy-Org/workflow_templates
- VAST-AI/TripoSplat (model card)
- GitHub: VAST-AI-Research/TripoSplat
- Hugging Face: VAST-AI/TripoSplat
- arXiv: arXiv:2605.16355
- VAST-AI-Research/TripoSplat (repository)
- GitHub: VAST-AI-Research/TripoSplat
- Hugging Face: VAST-AI/TripoSplat
- arXiv: arXiv:2605.16355
- TripoSplat/arXiv:2605.16355
- GitHub: VAST-AI-Research/TripoSplat
- Hugging Face: VAST-AI/TripoSplat
- arXiv: arXiv:2605.16355
참고: 참조된 모델, 데이터 세트 및 코드의 사용은 작성자 및 유지 관리자가 제공하는 해당 라이선스 및 조건에 따릅니다.



