Що таке файл 3DS?
Файл із розширенням .3ds представляє формат файлу сітки 3D Sudio (DOS), який використовується Autodesk 3D Studio. Autodesk 3D Studio існує на ринку форматів 3D-файлів з 1990-х років і тепер еволюціонувала до 3D Studio MAX для роботи з 3D-моделюванням, анімацією та рендерингом. Файл 3DS містить дані для тривимірного представлення сцен і зображень і є одним із популярних форматів файлів для імпорту та експорту тривимірних даних. Він враховує таку інформацію, як розташування камер, дані Mesh, інформацію про освітлення, конфігурації вікна перегляду, дані групи згладжування, посилання на растрові зображення та атрибути для створення вершин і багатокутників для рендерингу сцени.
Формат файлу 3DS – Додаткова інформація
За своєю суттю 3DS є двійковим форматом файлів і дотримується попередньо визначеної структури для зберігання та отримання даних. Двійковий формат файлу дозволяє формату файлу 3DS швидше зменшити розмір порівняно з текстовими форматами файлів. Дані у файлі 3DS зберігаються у формі фрагментів.
3DS Чанк
Кожна частина у файлі 3DS — це блок даних, який містить ідентифікатор, довжину блоку для розташування наступного блоку та самі дані. Ідентифікатор фрагмента дозволяє читачам формату файлу 3DS пропускати блоки, які вони не розпізнають. Це також допомагає розширювати формат. Кожна частина зберігає інформацію, пов’язану з формами, освітленням і інформацією про перегляд, які разом відтворюють сцену. Фрагменти впорядковані в ієрархічній структурі у файлі 3DS і нагадують дерево об’єктів документа XML.
Ідентифікатор фрагмента: перші два байти фрагмента представляють ідентифікатор фрагмента, який дозволяє читачу файлу вирішити, чи враховувати його під час читання, чи пропустити.
Довжина фрагмента: За ідентифікатором фрагмента слідує 4-байтове ціле число (у порядку байтування), яке позначає довжину фрагмента. Ця довжина також включає довжину даних, довжину їх підблоків і 6-байтовий заголовок.
Корисне навантаження: за довжиною фрагмента слідують фактичні байти даних для блоку, а потім його підблоки в тій самій ієрархічній структурі, яку можна розширити до кількох рівнів.
Структура блоку
Ієрархічна структура простого блоку показана нижче:
Чанк
початок | кінець | розмір | назва |
---|---|---|---|
0 | 1 | 2 | Ідентифікатор блоку |
2 | 5 | 4 | Наступний фрагмент |
На блоки накладена ієрархія, яка ідентифікується за ідентифікатором. Файл 3ds має ідентифікатор основного блоку 4D4Dh. Це завжди перша частина файлу. У первинному блоку знаходяться основні блоки.
Основні фрагменти
id | Опис |
---|---|
3D3D | Початок даних сітки об’єкта. |
B000 | Початок даних ключового кадру. |
Покажчик Next Chunk після блоку ID вказує на наступний Main chunk. Безпосередньо після головного фрагмента є інший фрагмент. Це може бути будь-який інший тип послідовності, дозволений у межах основної області блоків. Для опису Mesh (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 | Фотоапарат |