.3ds

extensión de archivo usada por algunos programas de simulación y gráficos 3D

.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 No 

Estructura editar

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

Defectos editar

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]

  • Todas las mallas deben ser hechas de triángulos.
  • Todos los nombres de archivo de texturas están limitados al formato 8.3 DOS.
  • El número de vértices y polígonos por malla está limitado a 65536.
  • Los vértices normales precisos no pueden ser almacenados en el archivo.3ds. En cambio los "grupos lisos"[nota 1]​ son usados de tal manera que el programa que recibe pueda recrear una (con suerte buena) representación de los vértices normales. Esto es aún un retraso del legado de muchos programas de animación de hoy que iniciaron en los 80's (3DS MAX, Lightwave y trueSpace aún usan grupos lisos, y Maya lo hizo hasta v2.51).
  • Los nombres de objetos, luces y cámaras están limitados a 10 caracteres. Los nombres de los materiales están limitados a 16 caracteres.
  • Fuentes de luz direccional no están soportadas

Notas editar

  1. Los grupos lisos (lea acerca de superficies en elementos de modelado de malla para entender su uso) son almacenados como un campo de bit, con 4 bytes (un long int) para cada cara, permitiendo así hasta 32 (4x8) grupos lisos por cara.

Referencias editar

Enlaces externos editar

Páginas Web
Referencias de artículos escritos