aspose.info
RU

Формат файла 3DS

Обновлено

Что такое файл 3DS?

Файл с расширением .3ds представляет формат файла сетки 3D Sudio (DOS), используемый Autodesk 3D Studio. Autodesk 3D Studio существует на рынке форматов 3D-файлов с 1990-х годов и теперь превратилась в 3D Studio MAX для работы с 3D-моделированием, анимацией и визуализацией. Файл 3DS содержит данные для трехмерного представления сцен и изображений и является одним из популярных форматов файлов для импорта и экспорта трехмерных данных. Он учитывает такую информацию, как расположение камер, данные сетки, информацию об освещении, конфигурации области просмотра, данные группы сглаживания, ссылки на растровые изображения и атрибуты для создания вершин и полигонов для рендеринга сцены.

Формат файла 3DS — дополнительная информация

По своей сути 3DS представляет собой двоичный формат файла и следует предопределенной структуре для хранения и извлечения данных. Двоичный формат файла позволяет формату файла 3DS быстрее уменьшаться по сравнению с текстовыми форматами файлов. Данные внутри файла 3DS хранятся в виде фрагментов.

3DS Чанк

Каждый фрагмент в файле 3DS представляет собой блок данных, который содержит идентификатор, длину блока для расположения следующего блока и сами данные. Идентификатор фрагмента позволяет программам чтения файлов формата 3DS пропускать блоки, которые они не распознают. Это также помогает в расширяемости формата. Каждый фрагмент хранит информацию, связанную с формами, освещением и информацией о просмотре, которые вместе отображают сцену. Фрагменты расположены в иерархической структуре в файле 3DS и напоминают дерево объектов XML-документа в представлении.

Идентификатор фрагмента: Первые два байта фрагмента представляют собой идентификатор фрагмента, который позволяет программе чтения файла решить, учитывать ли его во время чтения или пропустить.

Длина чанка: За идентификатором чанка следует 4-байтовое целое число (с прямым порядком байтов), обозначающее длину чанка. Эта длина также включает длину данных, длину их подблоков и 6-байтовый заголовок.

Полезная нагрузка: За длиной фрагмента следуют фактические байты данных для фрагмента, за которыми следуют его подблоки в той же иерархической структуре, которая может быть расширена до нескольких уровней в глубину.

Структура чанка

Иерархическая структура простого чанка показана ниже:

Кусок

началоконецразмеримя
012Идентификатор чанка
254Следующий фрагмент

Чанки имеют наложенную на них иерархию, которая идентифицируется ее идентификатором. Файл 3ds имеет идентификатор основного фрагмента 4D4Dh. Это всегда первая часть файла. В первичном чанке находятся основные чанки.

Основные фрагменты

idОписание
3D3DНачало данных объектной сетки.
B000Начало данных ключевого кадра.

Указатель Next Chunk после блока ID указывает на следующий основной фрагмент. Сразу после основного фрагмента находится еще один фрагмент. Это может быть любой другой тип фрагмента, допустимый в рамках его основного объема. Для описания сетки (3D3D) они могут быть любыми кратными.

Подфрагменты 3D3D — Mesh Block

idОписание
1100неизвестно
1200Цвет фона.
1201неизвестно
1300неизвестно
1400неизвестно
1420неизвестно
1450неизвестно
1500неизвестно
2100Блок окружающего цвета
2200туман?
2201туман?
2210туман?
2300неизвестно
3000неизвестно
4000Блок объектов
7001неизвестно
AFFFнеизвестно

Подблоки из 4000 — Блок описания объекта Первый элемент Subchunk 4000 представляет собой ASCIIZ-строку имени объекта. Помните, что объект может быть сеткой, источником света или камерой.

idОписание
4010неизвестно
4012тень?
4100Треугольный полигональный объект
4600Легкий
4700Камера

использованная литература

См. также