.3ds
Расширение имени файла |
.3ds |
---|---|
Тип интернет-СМИ |
приложение/x-3ds, изображение/x-3ds |
Магическое число | 4D 4D ( шестнадцатеричный ), ММ ( ASCII ) |
Разработано | Автодеск Инк. |
Тип формата | 3D file formats |
3DS — это один из форматов файлов, используемых программой Autodesk 3ds Max для 3D-моделирования, анимации и рендеринга.
Это был собственный формат файлов старой версии Autodesk 3D Studio DOS (выпуски с 1 по 4), который был популярен, пока его преемник (3D Studio MAX 1.0) не заменил его в апреле 1996 года. Он существует с 1990 года (когда была выпущена первая версия 3D Studio DOS), он стал де-факто отраслевым стандартом для передачи моделей между 3D-программами или для хранения моделей для каталогов 3D-ресурсов (наряду с OBJ , который чаще используется в качестве формата файлов для архивирования моделей).
В то время как формат 3DS предназначен для обеспечения формата импорта/экспорта, сохраняя только основные данные геометрии, текстуры и освещения, родственный формат MAX (теперь замененный форматом PRJ) также содержит дополнительную информацию, специфичную для Autodesk 3ds Max, чтобы позволить сцене быть полностью сохранен/загружен. [1]
Структура
[ редактировать ]3ds is a binary file format .
Формат основан на фрагментах , где каждый раздел данных встроен в блок, который содержит идентификатор фрагмента и длину данных (чтобы указать местоположение следующего основного блока), а также сами данные. Это позволяет анализаторам пропускать фрагменты, которые они не распознают, и позволяет расширять формат.
Чанки образуют иерархическую структуру, аналогичную XML- дереву DOM . Первые два байта чанка — это его идентификатор. По этому значению синтаксический анализатор может идентифицировать фрагмент и решить, будет ли он его анализировать или пропускать. Следующие четыре байта содержат целое число с прямым порядком байтов , которое представляет собой длину фрагмента, включая его данные, длину его подблоков и 6-байтовый заголовок. Следующие байты — это данные фрагмента, за которыми следуют подфрагменты в структуре, которая может простираться на несколько уровней.
Ниже приведен список наиболее распространенных идентификаторов фрагментов, представленных в иерархическом порядке с указанием их зависимостей: [2] [3]
0x4D4D // Main Chunk
├─ 0x0002 // M3D Version
├─ 0x3D3D // 3D Editor Chunk
│ ├─ 0x4000 // Object Block
│ │ ├─ 0x4100 // Triangular Mesh
│ │ │ ├─ 0x4110 // Vertices 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
Недостатки
[ редактировать ]Было отмечено, что, несмотря на свою популярность, этот формат может быть не самым подходящим для обмена 3D-данными. Некоторые из упомянутых недостатков:
- Все сетки должны состоять из треугольников .
- Все имена файлов текстур ограничены форматом 8.3 DOS .
- Количество вершин и полигонов в сетке ограничено 65536 .
- Точные нормали вершин не могут быть сохранены в файле .3ds. Вместо " групп сглаживания " [примечание 1] используются для того, чтобы принимающая программа могла воссоздать (надеюсь, хорошее) представление нормалей вершин. Это все еще является пережитком многих современных анимационных программ, которые начались в 1980-х годах ( 3DS MAX , Lightwave и trueSpace все еще используют группы сглаживания, а Maya использовала их до версии 2.51).
- Имена объектов, источников света и камер ограничены 10 символами. Имена материалов ограничены 16 символами.
- Направленные источники света не поддерживаются.
Примечания
[ редактировать ]- ^ Группы сглаживания (о причинах их использования читайте в разделе «Элементы моделирования сетки ») хранятся в виде битового поля по 4 байта ( длинное целое число ) для каждой грани, что позволяет использовать до 32 (4×8) групп сглаживания. за лицо.
Ссылки
[ редактировать ]- ^ ".3ds (3119 просмотров - Форматы изображений 3D)" . Часть сообщества . Проверено 23 января 2019 г.
- ^ Spacesimulator.net — программа чтения файлов формата 3ds, загрузчик , автор Дамиано Витулли
- ^ Лаборатории: особенности 3DS (теперь в Интернет-архиве)
Внешние ссылки
[ редактировать ]- веб-страницы
- Файлы сеток 3D Studio (3DS, PRJ) — Autodesk Knowledge Network
- Учебное пособие по синтаксическому анализу 3DS , автор: Амир «Genjix» Тааки
- Spacesimulator.net — программа чтения и загрузчика файлов формата 3ds , автор Дамиано Витулли
- The Labs: формат файла 3DS , Джефф Льюис. Ссылка сейчас через Интернет-архив.
- lib3ds: библиотека C для загрузки/сохранения файлов 3DS , лицензия LGPL.
- ссылки на текстовые файлы
- Джим Питтс (18 декабря 1994 г.). «Формат файла 3D Studio» . Архивировано из оригинала 4 апреля 2009 г.
- Мартин ван Вельсен и Робин Феркок (январь 1997 г.). «Формат файла 3D-Studio» . (на основе документации Джима Питтса)
- Йохен Вильгельми (8 июня 1997 г.). «Информация о формате файла 3D Studio» . Архивировано из оригинала 4 апреля 2009 г. (на основе документации Кристофа Шабануа, Джима Питтса и Никласа Бейсерта)