Format T3D: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(Mesh)
Linia 36: Linia 36:
 
* '''Map'''
 
* '''Map'''
  
Oprócz tego, na samym końcu definicji submodelu, zaraz za macierzą transformacji należy podać listę trójkątów w formacie:
+
Oprócz tego, na samym końcu definicji submodelu należy umieścić właściwość z wartością liczbową równą ilości wierzchołków w submodelu:
 
     NumVerts: ''ilość_wierzchołków_we_wszystkich_trójkątach''
 
     NumVerts: ''ilość_wierzchołków_we_wszystkich_trójkątach''
 +
A pod spodem definicje trójkątów. Ich ilość musi być równa ''NumVerts'' * 3.
 +
Wzór definicji trójkąta:
 
     ''maska_wygładzania''
 
     ''maska_wygładzania''
 +
    x y z u v           
 
     x y z u v
 
     x y z u v
 
     x y z u v
 
     x y z u v
    x y z u v
+
* maska_wygładzania - ?
 
+
* '''x, y, z''' - współrzędne wierzchołka w przestrzeni
 +
* ''u, v'' - współrzędnie wierzchołka w układzie UV (odpowiadają za układ tekstury)
  
 
==== FreeSpotLight ====
 
==== FreeSpotLight ====

Wersja z 18:44, 28 sie 2017

Plik T3D jest formatem tekstowym, przechowującym informacje o modelach trójwymiarowych. Składa się z dowolnej ilości submodeli określonego typu.

Typy submodeli

  • Mesh - submodel składający się z trójkątów, posiadający teksturę.
  • FreeSpotLight - źródło światła.
  • Stars - zbiór punktów świecących, z czego każdny z nich może mieć inną barwę.
  • Point
  • Text

Typy Point oraz Text występują w kodzie źródłowym, ale w praktyce nie są spotykane w modelach.

Składnia wpisu submodelu

Składnia różnych typów submodeli różni się, ale istnieje kilka wspólnych właściwości. Znacząca jest kolejność, w jakiej one występują.

Wspólne właściwości

Przed właściwościami specyficznymi dla określonego typu występuje 6 stałych własności:

  • Parent - nazwa obiektu nadrzędnego w hierarchii rodzic-dziecko.
  • Type - typ submodelu.
  • Name - nazwa submodelu, potrzebna dla ustalenia hierarchii.
  • Anim - wartość logiczna true/false. Jeśli ustawiona jest na true, submodel można animować za pomocą eventów.

A po nich kolejne 3:

  • MaxDistance - maksymalna odległość z jakiej widoczny jest obiekt [m]
  • MinDistance - minimalna odległość z jakiej widoczny jest obiekt [m]
  • Transform - macierz transformacji. Każdy wiersz, zawierający po 4 liczby powinien znaleźć się w osobnej linii. Uwaga! Macierz przy eksporcie/imporcie modelu do programów do modelowania jest transponowana!

Właściwości specyficzne dla typów

Mesh

  • Ambient
  • Diffuse
  • Specular
  • SelfIllum - wartość logiczna true/false lub liczba. Określa, czy submodel ma emitować światło.
  • Wire
  • WireSize
  • Opacity
  • Map

Oprócz tego, na samym końcu definicji submodelu należy umieścić właściwość z wartością liczbową równą ilości wierzchołków w submodelu:

    NumVerts: ilość_wierzchołków_we_wszystkich_trójkątach

A pod spodem definicje trójkątów. Ich ilość musi być równa NumVerts * 3. Wzór definicji trójkąta:

    maska_wygładzania
    x y z u v             
    x y z u v
    x y z u v
  • maska_wygładzania - ?
  • x, y, z - współrzędne wierzchołka w przestrzeni
  • u, v - współrzędnie wierzchołka w układzie UV (odpowiadają za układ tekstury)

FreeSpotLight

Stars

Point

Text