Czym jest plik 3DS?
Plik z rozszerzeniem .3ds reprezentuje format pliku siatki 3D Sudio (DOS) używany przez Autodesk 3D Studio. Autodesk 3D Studio działa na rynku formatów plików 3D od lat 90. XX wieku, a teraz ewoluowało w 3D Studio MAX do pracy z modelowaniem, animacją i renderowaniem 3D. Plik 3DS zawiera dane do reprezentacji 3D scen i obrazów i jest jednym z popularnych formatów plików do importu i eksportu danych 3D. Uwzględnia informacje, takie jak lokalizacje kamer, dane siatki, informacje o oświetleniu, konfiguracje rzutni, dane grupy wygładzania, odniesienia do map bitowych i atrybuty, aby utworzyć wierzchołki i wielokąty do renderowania sceny.
Format pliku 3DS — więcej informacji
U podstaw 3DS jest binarnym formatem pliku, który ma predefiniowaną strukturę przechowywania i wyszukiwania danych. Format pliku binarnego umożliwia szybsze formatowanie plików 3DS w porównaniu z formatami plików tekstowych. Dane w pliku 3DS są przechowywane w postaci porcji.
Fragment 3DS
Każdy fragment w pliku 3DS to blok danych, który zawiera identyfikator, długość bloku dla lokalizacji następnego bloku i same dane. Identyfikator fragmentu pozwala czytnikom formatów plików 3DS pomijać bloki, których nie rozpoznają. Pomaga również w rozszerzaniu formatu. Każdy fragment przechowuje informacje związane z kształtami, oświetleniem i przeglądaniem informacji, które razem renderują scenę. Kawałki są ułożone w hierarchiczną strukturę w pliku 3DS i przypominają drzewo XML Document Object w reprezentacji.
Identyfikator fragmentu: pierwsze dwa bajty fragmentu reprezentują identyfikator fragmentu, który pozwala czytnikowi plików zdecydować, czy wziąć go pod uwagę podczas odczytu, czy pominąć.
Długość fragmentu: Po identyfikatorze fragmentu następuje 4-bajtowa liczba całkowita (w little-endian), która oznacza długość fragmentu. Długość ta obejmuje również długość danych, długość ich podbloków i 6-bajtowy nagłówek.
Ładunek: Po długości porcji następują rzeczywiste bajty danych dla porcji, po których następują jej podkawałki w tej samej hierarchicznej strukturze, którą można rozszerzyć do kilku poziomów.
Struktura kawałka
Hierarchiczna struktura prostej porcji jest przedstawiona poniżej:
Kawałek
| początek | koniec | rozmiar | nazwa |
|---|---|---|---|
| 0 | 1 | 2 | Identyfikator fragmentu |
| 2 | 5 | 4 | Następny fragment |
Kawałki mają narzuconą hierarchię, która jest identyfikowana przez ich identyfikator. Plik 3ds ma identyfikator podstawowej porcji 4D4Dh. Jest to zawsze pierwsza część pliku. W podstawowej części znajdują się główne części.
Główne kawałki
| identyfikator | opis |
|---|---|
| 3D3D | Początek danych siatki obiektu. |
| B000 | Początek danych klatki kluczowej. |
Wskaźnik Next Chunk po bloku ID wskazuje następny fragment główny. Bezpośrednio po porcji głównej znajduje się kolejna porcja. Może to być dowolny inny typ fragmentu dozwolony w jego głównym zakresie fragmentów. Dla opisu siatki (3D3D) mogą to być dowolne wielokrotności.
Podkawałki 3D3D — blok siatki
| identyfikator | opis |
|---|---|
| 1100 | nieznane |
| 1200 | Kolor tła. |
| 1201 | nieznane |
| 1300 | nieznane |
| 1400 | nieznane |
| 1420 | nieznane |
| 1450 | nieznane |
| 1500 | nieznane |
| 2100 | Blok kolorów otoczenia |
| 2200 | mgła? |
| 2201 | mgła? |
| 2210 | mgła? |
| 2300 | nieznane |
| 3000 | nieznane |
| 4000 | Blok obiektu |
| 7001 | nieznane |
| AFFF | nieznane |
Podfragmenty 4000 - blok opisu obiektu Pierwszym elementem Subchunk 4000 jest ciąg ASCIIZ nazwy obiektu. Pamiętaj, że obiektem może być siatka, światło lub kamera.
| identyfikator | opis |
|---|---|
| 4010 | nieznane |
| 4012 | cień? |
| 4100 | Trójkątny obiekt wielokątny |
| 4600 | Światło |
| 4700 | Aparat |