3DS es uno de los formatos de archivo utilizados por el software de modelado, animación y renderizado 3D Autodesk 3ds Max .
Extensión de nombre de archivo | .3ds |
---|---|
Tipo de medio de Internet | aplicación / x-3ds, imagen / x-3ds |
número mágico | 4D 4D ( hex ), MM ( ASCII ) |
Desarrollado por | Autodesk Inc. |
Tipo de formato | Formatos de archivo 3D |
Era el formato de archivo nativo del antiguo Autodesk 3D Studio DOS (versiones 1 a 4), que fue popular hasta que su sucesor (3D Studio MAX 1.0) lo reemplazó en abril de 1996. Habiendo existido desde 1990 (cuando la primera versión de 3D Studio DOS fue lanzado), ha crecido hasta convertirse en un estándar industrial de facto para transferir modelos entre programas 3D, o para almacenar modelos para catálogos de recursos 3D (junto con OBJ , que se usa con más frecuencia como formato de archivo de archivo de modelos).
Si bien el formato 3DS tiene como objetivo proporcionar un formato de importación / exportación, conservando solo los datos esenciales de geometría, textura e iluminación, el formato MAX relacionado (ahora reemplazado por el formato PRJ) también contiene información adicional específica de Autodesk 3ds Max, para permitir que una escena estar completamente guardado / cargado. [1]
Estructura
3ds es un formato de archivo binario .
El formato se basa en fragmentos , donde cada sección de datos está incrustada 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 datos en sí. Esto permite a los analizadores omitir fragmentos que no reconocen y permite extensiones al formato.
Los trozos forman una estructura jerárquica, similar a un árbol DOM xml . Los primeros dos bytes del fragmento son su ID. A partir de ese valor, el analizador puede identificar el fragmento y decidir si lo analizará o lo omitirá. Los siguientes cuatro bytes contienen un entero little-endian que es la longitud del fragmento, incluidos sus datos, la longitud de sus subbloques y el encabezado de 6 bytes. Los siguientes bytes son los datos del fragmento, seguidos de los sub-fragmentos, en una estructura que puede extenderse a varios niveles de profundidad.
A continuación se muestra una lista de los ID más comunes para los fragmentos, representados de forma jerárquica y que muestran sus dependencias: [2] [3]
0x4D4D // Main Chunk ├─ 0x0002 // M3D Version ├─ 0x3D3D // 3D Editor Chunk │ ├─ 0x4000 // Object Block │ │ ├─ 0x4100 // Triangular Mesh │ │ │ ├─ 0x4110 // Vertices List │ │ │ ├─ 0x4120 // Descripción de caras │ │ │ │ ├─ 0x4130 // Material de caras │ │ │ │ └─ 0x4150 // Lista de grupos de suavizado │ │ │ ├─ 0x4140 // Lista de coordenadas de mapeo │ │ │ └─ 0x4160 // Local Sistema de coordenadas │ │ ├─ 0x4600 // Luz │ │ │ └─ 0x4610 // Proyector │ │ └─ 0x4700 // Cámara │ └─ 0xAFFF // Bloque de material │ ├─ 0xA000 // Nombre del material │ ├─ 0xA010 // Ambiente Color │ ├─ 0xA020 // Color difuso │ ├─ 0xA030 // Color especular │ ├─ 0xA200 // Mapa de textura 1 │ ├─ 0xA230 // Mapa de relieve │ └─ 0xA220 // Mapa de reflexión │ │ / * Sub fragmentos para cada uno Map * / │ ├─ 0xA300 // Mapping Filename │ └─ 0xA351 // Mapping Parameters └─ 0xB000 // Keyframer Chunk ├─ 0xB002 // Mesh Information Block ├─ 0xB007 // Spot Light Information Block └─ 0xB008 // Frames ( Inicio y fin) ├─ 0xB010 // Nombre del objeto ├─ 0xB013 // Punto de pivote del objeto ├─ 0xB020 // Posición Track ├─ 0xB021 // Track de rotación ├─ 0xB022 // Scale Track └─ 0xB030 // Posición de jerarquía
Defectos
Se ha señalado que, a pesar de su popularidad, el formato puede no ser el más adecuado para el intercambio de datos en 3D. Algunas de las desventajas mencionadas son:
- Todas las mallas deben estar hechas de triángulos .
- Todos los nombres de archivo de textura están limitados al formato 8.3 DOS .
- El número de vértices y polígonos por malla está limitado a 65536 .
- Las normales de vértice precisas no se pueden almacenar en el archivo .3ds. En su lugar, se utilizan " grupos de suavizado " [nota 1] para que el programa receptor pueda recrear una representación (con suerte buena) de las normales de vértice. Este sigue siendo un legado de muchos programas de animación de hoy que comenzaron en la década de 1980 ( 3DS MAX , Lightwave y trueSpace todavía usan grupos de suavizado, y Maya lo hizo hasta la v2.51).
- Los nombres de objetos, luces y cámaras están limitados a 10 caracteres. Los nombres de materiales están limitados a 16 caracteres.
- No se admiten fuentes de luz direccional.
Notas
- ^ Los grupos de suavizado (lea acerca de las superficies en Elements of Mesh Modeling para conocer la justificación de su uso) se almacenan como un campo de bits , con 4 bytes (un int largo ) para cada cara, lo que permite hasta 32 (4 × 8) grupos de suavizado por cara.
Referencias
- ^ ".3ds (3119 vistas - Formats de fichiers 3D)" . Parte de la comunidad . Consultado el 23 de enero de 2019 .
- ^ Spacesimulator.net - Lector de archivos en formato 3ds, cargador , por Damiano Vitulli
- ^ The Labs: 3DS Specifics (ahora a través de Internet Archive)
enlaces externos
- páginas web
- Archivos 3D Studio Mesh (3DS, PRJ) - Autodesk Knowledge Network
- Tutorial de análisis de 3DS , por Amir "Genjix" Taaki
- Spacesimulator.net - lector de archivos en formato 3ds, cargador , de Damiano Vitulli
- The Labs: formato de archivo 3DS , por Jeff Lewis. Enlace ahora a través de Internet Archive.
- lib3ds: biblioteca C para cargar / guardar archivos 3DS , licencia LGPL
- referencias de archivos de texto
- Jim Pitts (18 de diciembre de 1994). "Formato de archivo de estudio 3D" . Archivado desde el original el 4 de abril de 2009.
- Martin van Velsen y Robin Fercoq (enero de 1997). "Formato de archivo 3D-Studio" . (basado en documentación de Jim Pitts)
- Jochen Wilhelmy (8 de junio de 1997). "Información de formato de archivo de 3D Studio" . Archivado desde el original el 4 de abril de 2009. (basado en documentación de Christophe Chabanois, Jim Pitts y Niklas Beisert)