STL → OBJ 변환기
.stl 파일을 놓으면 브라우저에서 바로 .obj 형식으로 변환합니다. 파일은 컴퓨터 밖으로 나가지 않습니다.
STL → OBJ 변환이 필요한 이유
STL은 출력할 준비는 돼 있지만 재질을 모릅니다. OBJ는 렌더 파이프라인과 통합니다. UV, 정점 그룹, 그리고 짝이 되는 .mtl을 담을 수 있습니다. 이 변환은 대개 출력용 메시를 DCC(Blender, Maya, Cinema 4D)에서 텍스처와 조명을 입힐 수 있는 형태로 끌어올리는 일입니다.
누가 이 변환을 하나요
포트폴리오나 쇼핑몰 상품용으로 디자인을 렌더링하는 3D 프린팅 사용자, STL로 먼저 내보냈다가 이제 Blender가 필요해진 포토그래메트리 / 스캔 사용자, 그리고 업체에서 STL을 받았는데 OBJ가 필요한 모든 사람이 사용합니다.
자주 생기는 문제
- 파일이 3–5× 커집니다. OBJ는 ASCII이고, 바이너리 STL은 그에 비해 훨씬 작습니다.
- STL은 면 단위 법선을 저장합니다. OBJ로 옮긴 뒤에는 Blender에서 중복 정점을 병합하기 전까지 스무스 셰이딩이 대개 이상하게 보입니다.
- UV를 만들어 내지 않습니다. 텍스처 작업을 하려면 직접 언랩해야 합니다(Blender의 Smart UV Project로 빠르게 시작할 수 있습니다).
이 도구의 기술 메모
Three.js STLLoader가 메시를 읽고, OBJExporter가 정점 법선을 유지한 채 .obj 파일 하나를 기록합니다. 참조할 것이 없으므로 .mtl은 출력하지 않습니다.
STL vs OBJ — 무엇이 다른가요?
모든 3D 프린터 슬라이서가 읽는 삼각형 메시 포맷입니다. 지오메트리만 담고 단위·색상·어셈블리 정보는 없습니다.
- 3D 프린팅 범용 포맷 — Cura, PrusaSlicer, Bambu Studio 모두 STL 지원
- 작고 단순하며 로딩이 매우 빠름
- 메싱 워크플로, 시뮬레이션 전처리, 빠른 미리보기에 적합
- 삼각형 근사 — 곡면의 정밀도 손실
- 색상·재질·어셈블리 데이터 없음
- 관례상 파일당 셸 하나 (멀티바디는 하나로 합쳐짐)
사람이 읽을 수 있는 Wavefront 메시 포맷으로, 3D 그래픽·게임 아트·에셋 파이프라인 어디서나 쓰입니다. .mtl 재질 파일과 짝을 이룹니다.
- 사실상 모든 3D 툴에서 지원 (Blender, Maya, 3ds Max, Unity, Unreal…)
- 일반 텍스트라 diff와 직접 편집이 쉬움
- STL과 달리 UV 좌표와 버텍스 노멀 유지
- 함께 딸린 .mtl 파일로 머티리얼 참조
- 텍스트 포맷 — 바이너리 메시보다 용량이 큼
- 씬 계층, 애니메이션, 스켈레톤 없음
- 머티리얼이 별도 파일에 있어 잃어버리기 쉬움
포맷 깊이 알아보기
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 업로드를 바로 받습니다.
OBJ — 어디서 왔나
1980년대 후반 Wavefront Technologies가 자사 Advanced Visualizer 소프트웨어용으로 만들었습니다. Wavefront가 Alias(이후 Autodesk)에 흡수된 뒤에도 포맷은 공개된 채로 남아 학술 3D 연구, 취미 모델링, 초기 게임 아트의 공용어가 됐습니다. ASCII의 단순함 덕분에 지금도 모든 그래픽스 교재에 OBJ 예제 파일이 실립니다.
- .mtl 재질 파일은 반드시 .obj와 함께 다녀야 합니다. zip으로 묶어 보내지 않으면 받는 쪽에서 텍스처가 사라집니다.
- 음수 인덱스와 면별 노멀은 스펙에 있지만 많은 임포터가 경고 없이 잘못 읽습니다. 다운스트림 툴에서 문제가 생기면 Blender에서 한 번 열었다가 다시 내보내세요.
- 대상이 게임 엔진이라면 내보내기 전에 삼각분할하세요. Unity와 Unreal의 OBJ 임포터는 n-gon에서 막힙니다.
실제 사용: 컴퓨터 그래픽스 연구 논문은 지금도 OBJ를 메시 기준 포맷으로 씁니다. 취미용 마켓플레이스(TurboSquid, CGTrader 무료 등급)는 OBJ + MTL 묶음으로 배포합니다. 포토그래메트리 파이프라인(Meshroom, RealityCapture)은 이식성 있는 중간 포맷으로 OBJ를 출력합니다. "3D 모델이 필요해요"라고만 말한 낯선 사람에게 건네기에 여전히 가장 안전한 포맷입니다.
STL → OBJ 변환 방법
- 1.stl 파일을 페이지에 드롭합니다(또는 클릭해 찾아보기). 모든 작업이 로컬에서 실행되며 아무것도 업로드되지 않습니다.
- 2메시를 3D로 미리 봅니다. 회전하며 지오메트리를 확인하고 삼각형 수가 맞는지 확인합니다.
- 3OBJ 다운로드를 클릭해 Wavefront 파일로 저장합니다. Blender, Maya, Unity, Unreal로 바로 가져올 수 있습니다.
자주 묻는 질문
STL 파일이 서버에 업로드되나요?
아니요. 모든 작업이 브라우저 안에서 이루어집니다. Three.js가 STL을 불러와 OBJ로 다시 내보내고 다운로드 링크를 제공합니다. 기기 밖으로 나가는 것은 없습니다.
.mtl 재질 파일도 생성되나요?
아니요. STL에는 옮길 재질 데이터가 없으므로 .obj 지오메트리 파일만 출력합니다. 재질은 대상 도구(Blender, Unity 등)에서 지정하면 됩니다.
STL을 OBJ로 변환하면 UV 좌표가 추가되나요?
아니요. STL에는 UV가 없고 신뢰할 수 있게 만들어 낼 수도 없습니다. UV가 필요하면 Blender로 가져온 뒤 메시를 언랩하면 됩니다(출력물에는 Smart UV Project가 괜찮은 결과를 냅니다).
OBJ가 STL보다 큰 이유는 무엇인가요?
OBJ는 텍스트 포맷이고 STL(바이너리)은 작게 저장됩니다. 약 2–3× 크기가 됩니다. 대신 사람이 읽을 수 있고 더 많은 DCC 툴이 지원합니다.
정점 / 삼각형 수 제한은 얼마인가요?
고정된 상한은 없으며 브라우저의 RAM이 한계입니다. 최신 데스크톱에서는 수백만 삼각형까지의 메시도 문제없이 변환됩니다.