STL → GLB 변환기
.stl 파일을 놓으면 브라우저에서 바로 .glb 형식으로 변환합니다. 파일은 컴퓨터 밖으로 나가지 않습니다.
STL → GLB 변환이 필요한 이유
출력한 부품의 3D 미리보기를 쇼핑몰 상품, 포트폴리오, 문서 페이지에 넣으려면 GLB가 필요합니다. STL은 <model-viewer>에서 기본으로 열리지 않습니다. 이 변환은 출력용 STL을 어떤 웹사이트나 AR 뷰어에든 임베드할 수 있게 만드는 가장 쉬운 방법입니다.
누가 이 변환을 하나요
상품 페이지에 미리보기를 넣는 Etsy / Thangs / Printables 판매자, 완성된 출력물을 개인 사이트에서 보여 주는 메이커, 모바일 링크에서 탭 한 번으로 AR을 띄워 보고 싶은 취미 사용자가 사용합니다.
자주 생기는 문제
- STL 법선은 면 단위입니다. 정점을 먼저 병합하지 않으면(Blender: Merge by Distance) 결과 GLB가 각진 셰이딩으로 보입니다.
- GLB는 모든 지오메트리를 파일 하나에 담습니다. 폴리곤이 많은 출력물은 금세 커지므로 모바일용이라면 Draco 압축을 고려할 만합니다.
- STL에는 재질 정보가 없으므로 남는 것도 없습니다. 다시 작업하지 않으면 밋밋한 기본 회색 PBR 표면이 됩니다.
이 도구의 기술 메모
Three.js STLLoader → 정점 병합을 거친 BufferGeometry → GLTFExporter 바이너리. 기본 metallic-roughness 재질이 포함되어 있어 모델이 바로 렌더링됩니다.
STL vs GLB — 무엇이 다른가요?
모든 3D 프린터 슬라이서가 읽는 삼각형 메시 포맷입니다. 지오메트리만 담고 단위·색상·어셈블리 정보는 없습니다.
- 3D 프린팅 범용 포맷 — Cura, PrusaSlicer, Bambu Studio 모두 STL 지원
- 작고 단순하며 로딩이 매우 빠름
- 메싱 워크플로, 시뮬레이션 전처리, 빠른 미리보기에 적합
- 삼각형 근사 — 곡면의 정밀도 손실
- 색상·재질·어셈블리 데이터 없음
- 관례상 파일당 셸 하나 (멀티바디는 하나로 합쳐짐)
바이너리 glTF — 3D계의 JPEG입니다. 파일 하나로 완결되고 작으며, 웹·AR·모든 최신 3D 엔진에서 기본으로 로드됩니다.
- 지오메트리, 텍스처, 머티리얼, 애니메이션을 전부 파일 하나에 담음
- 작고 빠름 — 스트리밍과 웹 전송을 위해 설계
- Blender, Unity, Unreal, three.js, <model-viewer>, Android ARCore 등에서 기본 지원
- PBR 머티리얼(metallic-roughness)이 어디서나 일관되게 렌더링됨
- 바이너리 — 직접 편집 불가
- 전통적인 CAD 파이프라인에서는 덜 쓰임
포맷 깊이 알아보기
STL — 어디서 왔나
1987년 3D Systems가 최초의 상업용 광조형(스테레오리소그래피) 장비를 위해 만든 포맷입니다(이름도 "STereoLithography"에서 왔습니다). 원래는 잠깐 쓰고 버릴 내부 포맷이었지만, 40년 가까이 지난 지금도 CAD와 시중의 모든 슬라이서를 잇는 기본 전달 포맷입니다. 다른 어떤 포맷도 제때 범용 지원을 얻지 못했기 때문입니다.
- STL에는 단위가 없습니다. 인치로 작성한 파일을 미터법 슬라이서에서 다시 열면 1/25.4 크기로 출력됩니다. 슬라이싱 전에 원본 단위를 꼭 확인하세요.
- 논매니폴드 메시(구멍, 뒤집힌 노멀, 내부 벽)는 슬라이싱은 조용히 되지만 출력하면 수습할 수 없는 결과물이 나옵니다. 필라멘트를 낭비하기 전에 메시 리페어 툴을 돌리세요.
- ASCII STL은 바이너리 STL보다 약 5× 크지만 이점은 전혀 없습니다. 파일을 diff해야 하는 특별한 경우가 아니면 항상 바이너리로 내보내세요.
실제 사용: 모든 FDM·SLA 슬라이서(Cura, PrusaSlicer, Bambu Studio, Lychee, Chitubox)가 STL을 기본 입력으로 읽습니다. 시뮬레이션 전처리기(Ansys, Abaqus)도 메싱용으로 STL을 받습니다. 온디맨드 제조 서비스(Shapeways, JLCPCB의 3D 프린팅 부문, Protolabs)도 STL 업로드를 바로 받습니다.
GLB — 어디서 왔나
glTF 2.0은 2017년 Khronos Group이 승인했고, 곧 W3C가 권장하는 웹 3D 포맷이 됐습니다. GLB는 지오메트리, 텍스처, 애니메이션, 씬 그래프를 .glb 하나에 모두 담는 "이것 하나면 충분한" 바이너리 패키징입니다. <model-viewer>, Android Scene Viewer, 모든 최신 게임 엔진이 거의 동시에 지원을 시작하면서 폭발적으로 채택됐습니다.
- PBR 머티리얼 모델은 선형(linear) 공간 텍스처를 전제합니다. 감마가 구워진 컬러 맵을 내보내는 DCC 툴의 결과물은 웹 뷰어에서 색이 바래 보입니다.
- Draco 메시 압축은 디코더를 미리 로드하지 않으면 오히려 로딩 시간을 늘립니다. 대역폭 절감이 실제로 필요한 경우가 아니면 끄세요.
- Y-up vs Z-up: glTF는 엄격하게 오른손 좌표계 Y-up입니다. Blender, 3ds Max, 대부분의 CAD 내보내기는 임포트 시 축을 뒤집어야 하며, 그러지 않으면 모델이 옆으로 누워 버립니다.
실제 사용: 이커머스 제품 페이지(IKEA, Amazon, Shopify 3D), Android AR Quick View, <model-viewer> 기반 문서, NFT 마켓플레이스, 실시간 컨피규레이터에 쓰입니다. 플러그인 없이 브라우저 탭에서 렌더링해야 하는 3D 에셋이라면 답은 GLB입니다.
STL → GLB 변환 방법
- 1.stl 파일을 페이지에 드롭합니다. 바이너리와 ASCII STL 모두 됩니다. 모든 작업이 로컬에서 실행됩니다.
- 2메시를 3D로 미리 보며 지오메트리가 제대로인지 확인합니다.
- 3GLB 다운로드를 클릭합니다. three.js, <model-viewer>, Unity, Unreal, Android ARCore에 넣어 쓸 수 있습니다.
자주 묻는 질문
왜 STL을 GLB로 변환하나요?
STL은 재질도 색상도 없는 3D 프린팅용 교환 포맷입니다. GLB는 웹 네이티브 3D 포맷으로, 작고 파일 하나로 완결되며 모든 브라우저와 AR 런타임에서 기본으로 렌더링됩니다. 모델을 온라인에서 보여 주고 싶다면 GLB가 정답입니다.
GLB가 STL보다 작아지나요?
거의 비슷합니다. 바이너리 STL과 GLB 모두 정점을 촘촘하게 저장합니다. GLB에는 약간의 씬 메타데이터가 붙지만 정점 인덱스를 더 효율적으로 압축합니다. ±20% 정도 차이를 예상하면 됩니다.
재질이 추가되나요?
GLTFExporter가 모델이 보이도록 기본 PBR metallic-roughness 재질을 기록합니다. STL에는 재질 데이터가 없으므로 보존할 것도 없습니다. 대상 엔진에서 적절한 재질을 지정하면 됩니다.
GLB를 <model-viewer>에 넣어 웹 AR 버튼을 만들 수 있나요?
네, 그것이 대표적인 사용 사례입니다. Android ARCore 호환 Scene Viewer 링크와 함께 쓰면 어떤 모바일 브라우저에서든 탭 한 번으로 AR을 띄울 수 있습니다.
업로드되는 것이 있나요?
아니요. Three.js가 브라우저에서 STL을 불러오고 GLTFExporter로 GLB를 다시 내보냅니다. 파일은 기기 밖으로 나가지 않습니다.