.3ds – format plików używany przez oprogramowanie Autodesk 3ds Max, przeznaczony do modelowania i animacji 3D.

Był macierzystym formatem plików pierwszych wydań Autodesk Studio DOS (wersje od 1 do 4). Z biegiem czasu rozwinął się do standardowego formatu, umożliwiającego przechowywanie wirtualnych modeli przestrzennych oraz ich eksport do różnych programów 3D.

Struktura

edytuj

3ds to binarny format plików, dlatego jest mniejszy i szybszy w ładowaniu niż popularne, tekstowe pliki. Oparty jest na hierarchicznej strukturze "klocków" (chunks), w której każdy fragment danych jest osadzony w bloku zawierającym identyfikatory odpowiednich "klocków" i rozmiary danych. Pozwala to parserom pominąć te kawałki, których nie rozpoznają oraz zapewnia możliwość rozszerzenia formatu. Takie rozwiązanie zbliżone jest do struktury plików xml - DOM. Pierwsze dwa bity "klocka" reprezentują jego ID, dzięki któremu parser identyfikuje odpowiednie fragmenty i decyduje, czy je pominąć czy nie. Następne cztery bity odpowiadają za rozmiar danego kawałka (integer zapisany w little-endian).

0x4D4D // Main Chunk
├─ 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
      ├─ 0xB010 // Object Name
      ├─ 0xB013 // Object Pivot Point
      ├─ 0xB020 // Position Track
      ├─ 0xB021 // Rotation Track
      ├─ 0xB022 // Scale Track
      └─ 0xB030 // Hierarchy Position
   ├─ 0xB007 // Spot Light Information Block
   └─ 0xB008 // Frames (Start and End)

Obecnie format .3ds jest uważany za niezbyt dogodny i elastyczny do pracy z obiektami 3D. Przede wszystkim z powodu kilku wad:

  • wszystkie siatki muszą być zbudowane z trójkątów
  • nazwy plików tekstur są ograniczone do formatu SFN (short filename).
  • liczba wierzchołków i wielokątów nie może przekraczać 65536
  • nazwy obiektów, świateł i kamery nie mogą zawierać więcej niż 10 znaków
  • nazwy materiałów są ograniczone do 16 znaków
  • format nie obsługuje kierunkowego źródła światła.

Obecnie .3ds coraz częściej zastępowane jest takimi formatami jak: .obj, .x., .cae i inne.

Zobacz też

edytuj

Linki zewnętrzne

edytuj