.3ds es la extensión de archivo usada por algunos programas de simulación y gráficos 3D. El tipo de archivo.max es utilizado exclusivamente por Autodesk 3DS Max, a diferencia de.3ds que es el formato nativo de 3D Studio DOS (Versiones comprendidas entre 1.0 y 4.0), este formato también es compatible con otros programas de modelaje 3D.[1]
Archivo de Autodesk 3DS Studio MAX | ||
---|---|---|
Desarrollador | ||
Autodesk Inc. | ||
Información general | ||
Extensión de archivo |
.3ds / .max | |
Tipo de MIME | application/x-3ds e image/x-3ds | |
Número mágico |
4D 4D (hex), MM (ASCII) | |
Lanzamiento inicial | 1990 | |
Tipo de formato | Archivo de objetos 3D | |
Formato abierto | ||
El formato.3ds es de tipo binario. El archivo se basa en fragmentos, en donde cada sección de datos está incrustado en un bloque que contiene un identificador de fragmento y la longitud de los datos (para proporcionar la ubicación del siguiente bloque principal), así como los propios datos. Esto permite que los analizadores puedan saltar trozos que no reconocen.
Los fragmentos forman una estructura jerárquica, similar a un árbol DOM XML. Los dos primeros bytes del archivo son su ID. A partir de ese valor el analizador puede identificar la cantidad y decidir si va a analizarlo o ignorar. Los siguientes cuatro bytes contienen un número entero que es la longitud de la porción, incluyendo sus datos, la longitud de sus sub-bloques y el encabezado de 6 bytes. Los siguientes octetos son los datos del trozo, seguidos por los sub-fragmentos, en una estructura que puede extenderse a varios niveles de profundidad.
A continuación se muestra un listado de los identificadores más comunes para fragmentos, representadas de manera jerárquica que representa sus dependencias:[2][3]
0x4D4D // Identificador
├─ 0x3D3D // Editor Del pedazo 3D
│ ├─ 0x4000 // Bloque de objeto
│ │ ├─ 0x4100 // Triangular Mesh
│ │ │ ├─ 0x4110 // Vértices List
│ │ │ ├─ 0x4120 // Faces Description
│ │ │ │ ├─ 0x4130 // Faces Material
│ │ │ │ └─ 0x4150 // Smoothing Group List
│ │ │ ├─ 0x4140 // Mapping Coordinates List
│ │ │ └─ 0x4160 // Local Coordinates System
│ │ ├─ 0x4600 // Light
│ │ │ └─ 0x4610 // Spotlight
│ │ └─ 0x4700 // Camera
│ └─ 0xAFFF // Material Block
│ ├─ 0xA000 // Material Name
│ ├─ 0xA010 // Ambient Color
│ ├─ 0xA020 // Diffuse Color
│ ├─ 0xA030 // Specular Color
│ ├─ 0xA200 // Texture Map 1
│ ├─ 0xA230 // Bump Map
│ └─ 0xA220 // Reflection Map
│ │ /* Sub Chunks For Each Map */
│ ├─ 0xA300 // Mapping Filename
│ └─ 0xA351 // Mapping Parameters
└─ 0xB000 // Keyframer Chunk
├─ 0xB002 // Mesh Information Block
├─ 0xB007 // Spot Light Information Block
└─ 0xB008 // Frames (Start and End)
├─ 0xB010 // Object Name
├─ 0xB013 // Object Pivot Point
├─ 0xB020 // Position Track
├─ 0xB021 // Rotation Track
├─ 0xB022 // Scale Track
└─ 0xB030 // Hierarchy Position
Ha sido señalado que, a pesar de su popularidad, el formato puede no ser el más adecuado para el intercambio de datos 3D. Algunas desventajas mencionadas son:[1]