Blender3D 기초

3D 파일 형식 비교: FBX·glTF·OBJ·USD

OBJ는 편지봉투, glTF는 택배 상자, FBX는 여행 가방, USD는 서랍장. 3D 파일 형식 네 가지의 차이와 고르는 법을 살펴봅니다.

AZTechnology14분 읽기

한국어English

Blender 5.2 설명서의 파일 가져오기·내보내기 페이지 (공식 사이트 화면 캡처)

기준: Blender 5.2 LTS 공식 매뉴얼과 Khronos, OpenUSD, Autodesk 공식 자료. 2026년 9월에 확인했습니다. 메뉴 이름은 영어 화면 기준입니다.

3D 모델을 내려받거나 다른 프로그램으로 옮기려고 하면 .obj, .fbx, .glb, .usd 같은 낯선 확장자를 만나게 됩니다. 모두 3D 데이터를 담는 파일이지만, 담을 수 있는 것과 잘 쓰이는 곳이 서로 다릅니다. 짧게 요약하면 OBJ는 모양 위주로 담는 단순한 형식, FBX는 캐릭터와 애니메이션을 옮길 때 널리 쓰는 형식, glTF는 웹과 앱에 가볍게 보내기 위한 형식, USD는 큰 장면을 여러 사람이 함께 조립하기 위한 형식입니다. 이 글에서는 네 형식의 특징, 한눈에 보는 비교표, 상황별로 고르는 법, 옮길 때 자주 생기는 문제를 설명합니다.

3D 파일에 들어가는 것

3D 파일은 단순한 그림 파일보다 담을 것이 많습니다. 대표적인 것을 꼽으면 다음과 같습니다.

  • 형상(메시): 점, 선, 면으로 이루어진 물체의 모양
  • UV와 텍스처: 물체 겉면에 그림을 붙이는 좌표와 그 그림 파일
  • 재질: 색, 광택, 금속 느낌 같은 겉면의 성질
  • 뼈대(아마추어)와 스키닝: 캐릭터를 움직이는 뼈와, 뼈에 살을 붙이는 정보
  • 애니메이션: 시간에 따라 바뀌는 위치, 회전, 모양
  • 카메라와 조명: 장면을 어떻게 비추고 찍을지
  • 장면 구조: 물체들의 부모-자식 관계와 배치

파일 형식은 이 짐을 싸는 가방입니다. 편지봉투에는 종이 몇 장만 들어가고, 여행 가방에는 옷과 신발까지 들어갑니다. 어떤 가방을 고를지는 무엇을, 어디로 보내느냐에 따라 달라집니다.

Blender에서는 화면 맨 위 File ‣ Import(가져오기) / Export(내보내기) 메뉴에서 이 형식들을 고릅니다. 자주 쓰는 형식은 기본으로 켜져 있고, 나머지는 추가 기능(애드온)으로 켤 수 있습니다.

OBJ: 모양 위주로 담는 편지봉투

OBJ(Wavefront OBJ)는 네 형식 가운데 가장 단순한 형식입니다. OBJ는 널리 쓰이는 일반 텍스트 형식이지만, 기본적인 형상과 재질만 담습니다. 일반 텍스트라는 말은 메모장으로 열어도 숫자가 줄줄이 적힌 내용을 읽을 수 있다는 뜻입니다.

  • 담을 수 있는 것: 형상, UV, 법선(면의 방향), 기본 재질
  • 담을 수 없는 것: 뼈대(아마추어), 조명, 카메라, 빈 물체(엠프티), 부모 관계, 위치·회전 같은 변환 정보
  • 재질 파일: 재질은 같은 이름의 .mtl 파일에 따로 적힙니다. 짝이 맞는 .mtl이 있으면 재질도 함께 가져옵니다.
  • 애니메이션: 움직임 자체를 담지 못해, 프레임마다 OBJ 파일을 하나씩 따로 씁니다. 시간이 오래 걸립니다.

편지봉투처럼 가볍고 어디서나 열리지만, 담을 수 있는 것이 적습니다. 움직이지 않는 소품 하나의 모양만 다른 프로그램으로 넘길 때 편리합니다.

FBX: 캐릭터와 애니메이션을 옮기는 여행 가방

FBX(Filmbox)는 Autodesk가 관리하는 형식입니다. Autodesk는 다른 프로그램이 FBX를 읽고 쓸 수 있도록 FBX SDK(개발 도구)를 무료로 제공합니다(사용권 계약 조건 적용).

FBX는 특히 애니메이션 캐릭터와 복잡한 장면 데이터를 프로그램 사이에 주고받는 데 널리 쓰입니다. Maya, 3ds Max, Cinema 4D와 Unity, Unreal Engine 같은 게임 엔진이 지원합니다.

  • 담을 수 있는 것: 형상, 재질, 뼈대와 스키닝, 애니메이션, 카메라와 조명. Blender의 FBX 내보내기는 담을 물체 종류(메시, 뼈대, 카메라, 조명 등)를 골라 넣을 수 있고, 기본으로 모두 켜져 있습니다. 모디파이어와 애니메이션을 결과 그대로 고정해 넣어(굽기) Blender에서 보던 결과와 같게 만들 수도 있습니다.
  • 텍스처: FBX 파일 하나만 옮기면 텍스처 이미지는 따라가지 않을 수 있습니다. 내보낼 때 Path Mode를 Copy로 두고 Embed Textures를 켜면 이미지를 FBX 파일 안에 함께 넣습니다.
  • Blender 5.2의 FBX 지원: 가져오기는 새로 만든 FBX 가져오기 기능이 맡습니다. 빠르고 메모리를 적게 쓰며 예전 FBX와 최신 FBX 모두와 잘 맞도록 설계되었습니다. 내보내기는 FBX 추가 기능(File ‣ Export ‣ FBX)이 맡습니다.
  • 주의할 점 1, 재질: Blender는 노드로 재질을 만들지만 FBX의 재질은 정해진 칸에 값을 채우는 방식에 가까워서, 둘 사이를 변환합니다. 복잡한 셰이더 노드는 그대로 옮겨지지 않을 수 있습니다.
  • 주의할 점 2, 뼈 방향: FBX의 뼈는 -X 방향, Blender의 뼈는 Y 방향으로 정렬됩니다. 움직임에는 영향이 없지만, 다른 프로그램에서 뼈 모양이 이상하게 보일 수 있습니다.

여행 가방처럼 캐릭터, 옷, 움직임을 한꺼번에 담아 다른 스튜디오로 가져가기 좋습니다. 뼈대를 심은 캐릭터를 게임 엔진이나 다른 3D 프로그램으로 옮길 때 가장 먼저 떠올리는 형식입니다. 뼈대가 무엇인지는 리깅 입문 글에서 설명합니다.

glTF: 웹과 앱으로 보내는 택배 상자

glTF(GL Transmission Format)는 그래픽 표준을 만드는 단체인 Khronos Group이 만든 형식입니다. Khronos는 glTF를 "3D의 JPEG"이라고 부르며, 3D 장면과 모델을 효율적으로 전송하고 불러오기 위한 로열티 없는 명세라고 소개합니다. 로열티가 없다는 것은 누구나 사용료 없이 쓸 수 있다는 뜻입니다. glTF 2.0은 2022년에 ISO/IEC 12113:2022 국제 표준으로도 발행되었습니다.

사진을 웹에 올릴 때 JPEG를 쓰듯, 3D 모델을 웹페이지나 앱에 띄울 때 쓰기 좋게 만든 형식입니다. glTF는 파일 크기와 불러올 때 필요한 처리량을 줄여 주며, 웹에서 흔히 쓰이고 Unity, Unreal Engine, Godot 같은 엔진이 지원합니다.

  • 담을 수 있는 것: 메시, 재질(PBR), 텍스처, 카메라, 조명(점·스폿·방향광), 애니메이션(키프레임, 표정처럼 모양을 바꾸는 셰이프 키, 스키닝)
  • 재질: glTF의 재질은 금속성-거칠기 방식입니다. Blender의 기본 재질 노드인 Principled BSDF에서 값을 읽어 내보냅니다. 금속성과 거칠기가 무엇인지는 PBR 재질 가이드에서 자세히 다룹니다.
  • 알아 둘 변화: glTF는 그래픽 칩이 실시간으로 그리기 좋은 모양으로 저장하기 때문에, 사각형과 다각형 면은 내보낼 때 삼각형으로 바뀝니다. 커브처럼 메시가 아닌 데이터는 미리 메시로 바꿔야 합니다. 텍스처 이미지는 PNG나 JPEG여야 하며, 다른 형식은 자동으로 변환됩니다.

.glb와 .gltf의 차이

glTF는 같은 내용을 한 파일로도, 여러 파일로도 저장할 수 있습니다. Blender는 내보낼 때 이 중 하나를 고르게 합니다.

형태파일특징
glTF Binary.glb 한 개형상, 텍스처 등 모든 것을 한 파일에 담음. 공유하거나 옮기기 쉬움
glTF Separate.gltf + .bin + 이미지들구조를 적은 텍스트 파일, 형상 데이터 파일, 텍스처 이미지가 따로 있음

처음에는 .glb 하나로 내보내는 방법이 가장 덜 헷갈립니다. 텍스처 파일을 빠뜨려 모델이 하얗게 나오는 실수를 피할 수 있습니다.

USD: 큰 장면을 여럿이 조립하는 서랍장

USD(Universal Scene Description)는 Pixar가 만들어 공개한 오픈소스 형식이자 도구 모음입니다. 영화나 게임을 만드는 과정에서는 모델링, 애니메이션, 조명, 렌더링을 맡는 프로그램이 저마다 자기 방식으로 장면을 기록해 서로 읽지 못하는 경우가 많습니다. OpenUSD 공식 문서는 USD를 여러 에셋(모델, 재질 같은 제작 자료)으로 이루어진 3D 장면을 큰 규모로도 안정되게 주고받기 위한 도구이자, Pixar 제작 파이프라인(작업 흐름)의 중심이라고 소개합니다.

USD가 다른 형식과 가장 다른 점은 층(Layer)입니다. 여러 아티스트가 각자 자기 파일(층)에서 동시에 작업하고, 이 층들을 정해진 우선순위대로 겹쳐 하나의 장면으로 합칩니다. 원본을 고치지 않고 위에 덧씌우는 비파괴 편집(오버라이드)도 됩니다.

투명 필름을 겹쳐 한 장의 그림을 완성하는 셀 애니메이션과 같습니다. 배경 담당, 색 담당, 조명 담당이 각자 필름에 그리고, 겹쳐 놓으면 완성 장면이 됩니다. 조명 담당이 자기 필름만 바꿔도 다른 사람의 작업은 그대로입니다.

  • 파일 종류: USD에는 .usda(사람이 읽을 수 있는 텍스트), .usdc(바이너리, 사람이 읽을 수 없는 이진 파일), .usdz(묶음 압축 파일) 세 가지 기본 형식이 있습니다.
  • Blender에서의 USD: 형상, 재질, 카메라, 조명 등을 주고받을 수 있습니다. 다만 층 같은 USD 고급 기능은 아직 내보내지 않습니다. 확장자를 .usdz로 정하면 USD와 텍스처를 하나로 묶은 압축 파일이 만들어집니다.

정리하면 USD는 칸이 많은 서랍장입니다. 혼자 소품 하나를 옮길 때보다, 큰 장면을 여러 사람과 프로그램이 함께 다룰 때 힘을 발휘합니다.

한눈에 보는 비교표

아래 표는 Blender 5.2에서 가져오고 내보낼 때를 기준으로 적었습니다. 프로그램마다 지원 범위가 다르니, 받는 쪽 프로그램의 문서도 함께 확인하세요.

구분OBJFBXglTFUSD
관리·공개널리 쓰이는 텍스트 형식AutodeskKhronos GroupPixar(오픈소스)
파일 모양텍스트 + .mtl한 파일(텍스처는 따로).glb 한 파일 또는 .gltf 묶음.usda / .usdc / .usdz
형상·UV지원지원지원지원
재질기본(.mtl)변환 필요PBR 표준단순한 재질로 근사 변환
뼈대·애니메이션없음강점지원지원
카메라·조명없음담을 수 있음(내보낼 때 종류 선택)지원지원
잘 쓰이는 곳모양만 보내는 소품 교환캐릭터·게임 엔진웹·앱·실시간큰 장면, 협업 파이프라인
비유편지봉투여행 가방택배 상자서랍장

상황별로 고르는 법

  • 움직이지 않는 소품 하나를 넘길 때: OBJ 또는 glTF(.glb). 재질까지 최대한 살리고 싶다면 glTF가 유리합니다.
  • 뼈대가 있는 캐릭터와 애니메이션을 게임 엔진·다른 3D 프로그램으로 보낼 때: FBX가 가장 흔한 선택입니다. glTF도 스키닝과 애니메이션을 지원하므로, 받는 쪽이 glTF를 잘 읽는다면 후보가 됩니다.
  • 웹사이트나 앱에 3D 모델을 띄울 때: glTF(.glb). 애초에 이 용도로 설계된 형식입니다.
  • 큰 장면을 여러 사람·여러 프로그램이 나눠 작업할 때: USD. 다만 Blender는 USD 층 같은 고급 기능을 아직 내보내지 않으니 먼저 확인하세요.
  • Blender에서 계속 작업할 파일: 이 네 가지가 아니라 Blender 자체 형식인 .blend로 저장합니다. 위 형식들은 '다른 프로그램으로 보내기 위한 포장'이지, 작업 원본을 보관하는 용도가 아닙니다.

옮길 때 자주 생기는 문제

캐릭터가 누워서 나올 때: 위쪽 방향 차이

프로그램마다 어느 축을 '위'로 볼지가 다릅니다. Blender는 Z축이 위(Z Up), Y축이 앞(Y Forward)이고, 많은 프로그램은 Y축을 위로 씁니다. 그래서 설정 없이 옮기면 모델이 90도 누워 있거나 엉뚱한 방향을 볼 수 있습니다. 한 나라에서는 지도를 북쪽이 위로, 다른 나라에서는 동쪽이 위로 그린다면 같은 지도도 돌아가 보이는 것과 같습니다.

Blender 5.2에서 Forward/Up Axis 설정이 있는 곳은 OBJ 가져오기·내보내기, FBX 내보내기, 예전 방식의 FBX(Legacy) 가져오기, USD 내보내기입니다. 새 FBX 가져오기 창에는 이 설정이 없습니다. Y가 위인 프로그램으로 보낼 때는 "-Z Forward, Y Up"으로 맞추는 것이 흔한 예입니다. USD는 Y가 위인 파일을 가져올 때 Blender의 Z 위쪽 방향에 맞게 자동으로 회전을 넣습니다.

텍스처가 사라지고 하얗게 나올 때

텍스처를 옆 파일로 두는 형식은 파일을 옮길 때 이미지 파일이 함께 가지 않으면 텍스처가 빠집니다. OBJ, .gltf(Separate)가 그렇고, 가장 흔한 경우인 FBX도 기본으로는 텍스처가 바깥 파일로 남습니다.

  • OBJ·FBX 공통: 내보내기 창의 Path Mode를 Copy로 두면 이미지를 함께 복사하고 상대 경로로 연결합니다. 절대 경로는 내 컴퓨터에서만 맞을 수 있습니다.
  • FBX: Path Mode Copy와 함께 Embed Textures를 켜면 이미지를 FBX 파일 안에 넣습니다. 게임 엔진으로 보낼 때 많이 쓰는 방법입니다.
  • glTF·USD: 텍스처까지 한 파일에 담는 .glb나 .usdz를 쓰면 됩니다.

재질이 달라 보일 때

형식마다 재질을 표현하는 규칙이 다르기 때문입니다. FBX는 앞서 본 대로 변환 과정을 거치고, glTF는 PBR 규칙에 맞는 노드만 읽습니다. USD도 내보낼 때 Principled BSDF를 USD Preview Surface라는 단순한 재질로 근사해서 바꾸므로, 복잡한 노드는 빠집니다. 복잡한 셰이더 노드 재질은 받는 프로그램에서 다시 손보는 것을 기본으로 생각하세요. 셰이더 노드의 구조는 셰이더 노드와 재질 가이드에서 볼 수 있습니다.

면이 삼각형으로 쪼개졌을 때

glTF는 내보낼 때 모든 면을 삼각형으로 바꿉니다. 형식의 규칙이라 오류가 아닙니다. 사각형 면 구조를 유지해야 하는 원본은 .blend로 따로 보관하세요. 면과 토폴로지의 기초는 폴리곤과 토폴로지 가이드에서 다룹니다.

참고 자료

KEEP EXPLORING

다음으로 읽어보세요