3DS - это один из форматов файлов, используемых программой Autodesk 3ds Max для 3D-моделирования, анимации и рендеринга.
Расширение имени файла | .3ds |
---|---|
Тип интернет-СМИ | приложение / x-3ds, изображение / x-3ds |
Магическое число | 4D 4D ( шестнадцатеричный ), MM ( ASCII ) |
Разработано | Autodesk Inc. |
Тип формата | Форматы файлов 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 - это двоичный формат файла .
Формат основан на блоках , где каждый раздел данных встроен в блок, который содержит идентификатор блока и длину данных (для определения местоположения следующего основного блока), а также сами данные. Это позволяет синтаксическим анализаторам пропускать блоки, которые они не распознают, и позволяет расширять формат.
Чанки образуют иерархическую структуру, подобную дереву xml DOM . Первые два байта чанка - это его ID. По этому значению синтаксический анализатор может идентифицировать фрагмент и решить, будет ли он анализировать его или пропускать. Следующие четыре байта содержат целое число с прямым порядком байтов, которое представляет собой длину блока, включая его данные, длину его подблоков и 6-байтовый заголовок. Следующие байты - это данные блока, за которым следуют субфрагменты в структуре, которая может достигать нескольких уровней в глубину.
Ниже приведен список наиболее распространенных идентификаторов блоков, представленных в иерархическом виде с указанием их зависимостей: [2] [3]
0x4D4D // Главная Кусок ├─ 0x0002 // M3D Version ├─ 0x3D3D // 3D редактор Кусок │ ├─ 0x4000 // Объект блока │ │ ├─ 0x4100 // треугольные сетки │ │ │ ├─ 0x4110 // Вершины Список │ │ │ ├─ 0x4120 // Описание граней │ │ │ │ ├─ 0x4130 // Материал граней │ │ │ │ └─ 0x4150 // Список групп сглаживания │ │ │ ├─ 0x4140 // Список координат сопоставления │ │ │ └─ 0x4160 // Локально Система координат │ │ ├─ 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 Карта * / │ ├─ 0xA300 // Имя файла сопоставления │ └─ 0xA351 // Параметры сопоставления └─ 0xB000 // Блок ключевого кадра ├─ 0xB002 // Информационный блок сетки ├─ 0xB007 // Информационный блок Spot Light └─ 0xB008 // Кадры ( Начало и конец) ├─ 0xB010 // Имя объекта ├─ 0xB013 // Точка поворота объекта ├─ 0xB020 // Позиция Дорожка ├─ 0xB021 // Дорожка вращения ├─ 0xB022 // Масштабировать дорожку └─ 0xB030 // Положение в иерархии
Недостатки
Было указано, что, несмотря на свою популярность, этот формат может быть не самым подходящим для обмена трехмерными данными. Некоторые из упомянутых недостатков:
- Все сетки должны быть треугольными .
- Все имена файлов текстур ограничены форматом 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 , автор: Дамиано Витулли
- ^ The Labs: 3DS Specifics (теперь через Интернет-архив)
Внешние ссылки
- интернет страницы
- Файлы 3D Studio Mesh (3DS, PRJ) - Autodesk Knowledge Network
- Учебник по синтаксическому анализу 3DS , автор: Амир "Genjix" Тааки
- Spacesimulator.net - программа для чтения и загрузки файлов в формате 3ds , автор: Дамиано Витулли
- Лаборатория: формат файла 3DS , Джефф Льюис. Ссылка сейчас через Интернет-архив.
- lib3ds: библиотека C для загрузки / сохранения файлов 3DS , лицензия LGPL
- ссылки на текстовые файлы
- Джим Питтс (18 декабря 1994 г.). «Формат файла 3D Studio» . Архивировано из оригинала на 2009-04-04.
- Мартин ван Велсен и Робин Феркок (январь 1997 г.). "Формат файла 3D-Studio" . (на основе документации Джима Питтса)
- Йохен Вильгельми (1997-06-08). «Информация о формате файла 3D Studio» . Архивировано из оригинала на 2009-04-04. (на основе документации Кристофа Шабануа, Джима Питтса и Никласа Байсерта)