WIPIVERSE

.3ds

.3ds는 3차원(3D) 모델링 데이터를 저장하는 바이너리 파일 형식의 확장자이다. 이 확장자는 오토데스크(Autodesk)사의 3D 스튜디오(3D Studio) 소프트웨어 제품군에서 사용된 파일 형식에서 유래한 것으로, 현재까지도 3D 모델 데이터의 교환 형식으로 널리 활용되고 있다.

개요

.3ds 파일 형식은 1990년 3D 스튜디오 DOS 버전(1~4 릴리스)의 네이티브 파일 형식으로 처음 등장하였다. 이후 1996년 4월 후속 제품인 3D 스튜디오 MAX 1.0이 출시되면서 네이티브 형식의 자리는 .max 파일 형식에 넘겨졌으나, .3ds 형식은 다양한 3D 프로그램 간의 모델 데이터 교환을 위한 실질적 표준(de facto standard)으로 자리 잡았다. 현재까지도 오토데스크 3ds Max, 트림블 스케치업(Trimble SketchUp), 맥슨 시네마 4D(Maxon Cinema 4D), 블렌더(Blender) 등 다양한 3D 애플리케이션에서 .3ds 파일의 가져오기(import)와 내보내기(export)를 지원한다.

기술적 구조

.3ds 파일은 바이너리(binary) 형식의 파일로, 청크(chunk) 단위로 구성된다. 각 청크는 청크 식별자(ID)와 데이터 길이 정보, 그리고 실제 데이터로 이루어져 있다. 이 구조는 파서(parser)가 인식하지 못하는 청크를 건너뛸 수 있도록 하여 형식의 확장성을 보장한다.

청크는 계층적 구조를 가지며, 주요 청크 ID로는 다음과 같은 것들이 있다:

  • 0x4D4D (메인 청크): 파일의 루트를 구성
  • 0x3D3D (3D 에디터 청크): 객체(Object), 재질(Material) 등의 데이터 포함
  • 0x4000 (객체 블록): 삼각형 메시, 조명, 카메라 등의 객체 정의
  • 0xAFFF (재질 블록): 재질 이름, 색상, 텍스처 맵 등의 정보 포함
  • 0xB000 (키프레임 청크): 애니메이션 관련 정보 포함

.3ds 파일의 매직 넘버(Magic number)는 16진수 4D 4D이며, 이는 ASCII 문자 "MM"에 해당한다. 인터넷 미디어 타입은 application/x-3ds 또는 image/x-3ds로 지정된다.

파일에 포함되는 데이터

.3ds 파일은 3D 장면(scene)을 구성하는 핵심 데이터를 저장한다:

  • 메시(mesh) 데이터: 정점(vertices), 면(faces), 매핑 좌표 등
  • 재질(material) 속성: 주변광(ambient), 확산광(diffuse), 반사광(specular) 색상 정보
  • 텍스처 맵(texture map) 정보: 텍스처 파일 이름 및 매핑 파라미터
  • 카메라 및 조명 정보: 카메라 위치, 스포트라이트 설정 등
  • 애니메이션 키프레임 데이터: 객체의 위치, 회전, 스케일 트랙 등

형식의 한계

.3ds 형식은 오래된 바이너리 형식이라는 점에서 다음과 같은 기술적 제약이 지적된다:

  • 모든 메시가 삼각형으로 구성되어야 한다.
  • 텍스처 파일 이름이 DOS 8.3 형식(확장자 포함 최대 8자+3자)으로 제한된다.
  • 메시당 정점과 폴리곤 수가 65,536개로 제한된다.
  • 정확한 정점 노멀(vertex normal)을 직접 저장할 수 없으며, 대신 스무딩 그룹(smoothing group) 방식을 사용한다.
  • 객체, 조명, 카메라 이름이 10자, 재질 이름이 16자로 제한된다.
  • 방향성 광원(directional light)을 지원하지 않는다.

이러한 한계로 인해 최신 3D 데이터 교환에는 .obj, .fbx, .glTF 등이 더 자주 사용되는 추세이지만, .3ds 형식은 여전히 다양한 3D 응용 프로그램에서 호환성 확보를 위해 지원되고 있다.

관련 개념과의 구분

.3ds 확장자는 닌텐도 3DS(Nintendo 3DS) 휴대용 게임기의 파일 형식과는 구분된다. 닌텐도 3DS 게임기에서 사용되는 게임 롬(ROM) 덤프 파일도 비공식적으로 ".3ds" 확장자를 사용하는 경우가 있으나, 이는 3D 스튜디오 파일 형식과는 전혀 다른 별개의 개념이다. 공식적으로 닌텐도 3DS 게임기의 내부 파일 형식은 이와 다른 확장자 체계를 사용한다.

참고 자료

  • Wikipedia: ".3ds"
  • FileInfo.com: "3DS File"
  • Autodesk Knowledge Network: 3D Studio Mesh (3DS) 파일 문서
  • lib3ds: 3DS 파일 처리용 오픈소스 C 라이브러리
둘러보기

더 찾아볼 만한 주제

    전체 문서 보기