playcanvas/supersplat-viewer

User-friendly, high-performance viewer for 3D Gaussian splats

SuperSplat Viewer – 빠른 개요

설명 – SuperSplat 3D 장면(Gaussian-splatting 포인트 클라우드)을 위한 웹 기반 뷰어입니다. 단일 정적 사이트로 실행되며 PlayCanvas 엔진과 WebGPU 또는 WebGL을 사용하여 렌더링합니다.

중요성 – Gaussian-splatting은 초고밀도 3D 재구성(예: 사진 측량, NeRF 스타일 캡처)을 시각화하는 현대적인 방법입니다. 이 뷰어를 사용하면 개발자와 아티스트가 브라우저에서 직접 장면을 로드, 탐색 및 디버그할 수 있으며 WebGL을 통해 AR/VR을 지원합니다.


핵심 기능 (README 설명 기준)

기능 세부 정보
렌더링 백엔드 WebGPU 사용 가능 시 WebGPU를 사용하며, 그렇지 않으면 WebGL로 대체됩니다. AR/VR에는 WebGL이 필수입니다.
확률적 렌더러 실험적인 비정렬 splat 렌더러(WebGPU 전용)로 개발자용 조정 노브(splatSource, variant)를 제공합니다.
URL을 통한 UI 제어 사용자 지정 설정, 장면 파일, 스카이박스, 충돌 메시를 로드하고 UI 가시성(noui, reticle, ministats, 언어)을 조정합니다.
성능 조정 안티앨리어싱(aa), splat 예산, 고정밀 렌더링 토글, 전체 로드 LOD 스트리밍, 포스트 이펙트 토글(nofx).
디버그 및 진단 디버그 패널(debug), 복셀 충돌 히트맵 오버레이, 런타임 CPU/GPU 그래프.
임베딩 API NPM 모듈(@playcanvas/supersplat-viewer)로 패키징되어 프로그래밍 방식 제어를 위한 API 참조를 제공합니다.
로컬 개발 간단한 Node 기반 워크플로우(npm install, npm run develop). ENGINE=debug를 통해 PlayCanvas 엔진 디버그 빌드에 연결할 수 있습니다.

사용 방법

  1. 데모 실행 – 호스팅된 정적 사이트(또는 로컬에서 npm run develop)를 열고 URL 매개변수를 전달하여 자신의 .ply, .sog 또는 압축된 장면 파일을 지정합니다.
  2. 사용자 지정 – settings.json 파일, 스카이박스 이미지 또는 충돌 메시를 제공하여 장면을 풍부하게 만듭니다.
  3. 임베딩 – NPM 패키지를 설치하고 문서화된 API(docs/api.md)를 사용하여 뷰어를 다른 웹 앱에 통합합니다.

추천 대상

  • 3D 콘텐츠 제작자:Gaussian-splatting 파이프라인을 사용하며 결과를 빠르게 미리 보아야 하는 분.
  • 개발자:고밀도 포인트 클라우드 렌더링이 필요한 웹 기반 AR/VR 경험을 구축하는 분.
  • 연구원:사용자 지정 엔진을 작성하지 않고 새로운 렌더링 기술(확률적 splat, LOD 예산)을 테스트하려는 분.

빠른 시작

# 클론 및 로컬 실행
git clone https://github.com/playcanvas/supersplat-viewer.git
cd supersplat-viewer
npm install
npm run develop   # http://localhost:3000 열기

그런 다음 URL 매개변수를 추가합니다. 예:

http://localhost:3000?content=./myScene.compressed.ply&skybox=./sky.hdr&webgl

결론 – SuperSplat Viewer는 최첨단 Gaussian-splat 3D 데이터를 브라우저에서 시각화하기 위한 집중적인 오픈 소스 도구로, 유연한 렌더링 옵션과 개발자 친화적인 API를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트