3ds

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

.3ds jest jednym z formatów plików używanych przez oprogramowanie Autodesk 3ds Max, przeznaczone 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 | edytuj kod]

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[1]), 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)

Cechy[edytuj | edytuj kod]

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 | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]