Format T3D: Różnice pomiędzy wersjami
(→Właściwości specyficzne dla typu Mesh) |
|||
Linia 1: | Linia 1: | ||
[[Category:Formaty plików symulatora]] | [[Category:Formaty plików symulatora]] | ||
− | Plik T3D jest [[Plik tekstowy|plikiem tekstowym]], przechowującym informacje o modelach trójwymiarowych | + | Plik T3D jest [[Plik tekstowy|plikiem tekstowym]], przechowującym informacje o modelach trójwymiarowych. |
− | |||
− | |||
− | |||
− | |||
− | == Składnia | + | == Składnia == |
+ | === Submodel typu Mesh === | ||
+ | //--------------------------------------------------------------------------------- | ||
+ | Parent: none | ||
+ | Type: Mesh | ||
+ | Name: obiekcik | ||
+ | Anim: false | ||
+ | Ambient: 255 255 255 | ||
+ | Diffuse: 255 255 255 | ||
+ | Specular: 3 3 3 | ||
+ | SelfIllum: false | ||
+ | Wire: false | ||
+ | WireSize: 1 | ||
+ | Opacity: 1 | ||
+ | Map: grass | ||
+ | MaxDistance: -1 | ||
+ | MinDistance: 0 | ||
+ | Transform: | ||
+ | 1 0 0 0 | ||
+ | 0 1 0 0 | ||
+ | 0 0 1 0 | ||
+ | 0 0 0 1 | ||
+ | NumVerts: 3879 | ||
+ | 0 | ||
+ | 4.85 -1.0992 9.7 0.43468 0.29718 | ||
+ | 4.85 11.09921 9.9 0.56421 0.29506 | ||
+ | 4.85 11.09921 9.7 0.56421 0.29732 | ||
+ | |||
+ | 0 | ||
+ | 4 4.35 4.25 0.27015 0.46583 | ||
+ | 3.8 5.65 4.25 0.34553 0.47271 | ||
+ | 3.8 4.35 4.25 0.27015 0.47271 | ||
+ | |||
+ | 0 | ||
+ | 4 10.5 9.15 0.00344 0.15361 | ||
+ | 4.5 -0.99999 9.45 0.01744 0.43821 | ||
+ | 4 -0.49999 9.15 0.00344 0.42584 | ||
=== Wspólne właściwości dla wszystkich typów=== | === Wspólne właściwości dla wszystkich typów=== |
Wersja z 15:16, 19 sty 2023
Plik T3D jest plikiem tekstowym, przechowującym informacje o modelach trójwymiarowych.
Spis treści
Składnia
Submodel typu Mesh
//--------------------------------------------------------------------------------- Parent: none Type: Mesh Name: obiekcik Anim: false Ambient: 255 255 255 Diffuse: 255 255 255 Specular: 3 3 3 SelfIllum: false Wire: false WireSize: 1 Opacity: 1 Map: grass MaxDistance: -1 MinDistance: 0 Transform:
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
NumVerts: 3879 0 4.85 -1.0992 9.7 0.43468 0.29718 4.85 11.09921 9.9 0.56421 0.29506 4.85 11.09921 9.7 0.56421 0.29732 0 4 4.35 4.25 0.27015 0.46583 3.8 5.65 4.25 0.34553 0.47271 3.8 4.35 4.25 0.27015 0.47271 0 4 10.5 9.15 0.00344 0.15361 4.5 -0.99999 9.45 0.01744 0.43821 4 -0.49999 9.15 0.00344 0.42584
Wspólne właściwości dla wszystkich typów
Nazwa właściwości | Znaczenie | Typ wartości | Uwagi |
---|---|---|---|
Parent | Przypisuje submodel nadrzędny (rodzica). | Nazwa submodelu | |
Type | Definiuje typ submodelu. | Jedno ze słów kluczowych:
|
|
Name | Unikalna nazwa submodelu | Tekst | Pewne nazwy są zarezerwowane i służą do definiowania dodatkowych funkcjonalności w submodelu. Zobacz listę nazw specjalnych. |
Anim | Typ animacji submodelu. | Tekst | Zobacz listę dostępnych typów animacji. |
Selfillum | Określa sposób emisji światła przez obiekt | Jedno ze słów kluczowych:
lub liczba z zakresu <-1;2> |
liczba - określa poziom oświetlenia scenerii, poniżej którego submodel ma emitować światło
false - brak emisji światła. Tej wartości odpowiada wartość liczbowa -1. true - emisja światła zawsze, niezależnie od poziomu oświetlenia scenerii. Tej wartości odpowiada wartość liczbowa 2. |
MaxDistance | Określa największą odległość, z jakiej submodel jest widoczny. | Liczba [m] | Aby obiekt był widoczny zawsze, niezależnie od odległości, należy podać wartość -1 |
MinDistance | Określa minimalną odległość, z jakiej submodel jest widoczny | Liczba [m] | |
Transform | Macierz transformacji submodelu | Liczby |
Właściwości specyficzne dla typu Mesh
Nazwa właściwości | Znaczenie | Typ wartości | Uwagi |
---|---|---|---|
Ambient | Określa jasność submodelu. | 3 liczby RGB z zakresu <0-255> | |
Diffuse | Określa kolor świecenia submodelu. | 3 liczby RGB z zakresu <0-255> | |
Specular | Określa poziom błyszczenia submodelu. | 3 liczby RGB z zakresu <0-255> | |
Wire | Określa, czy zamiast bryły należy rysować siatkę krawędzi | Jedno ze słów kluczowych:
|
Brak funkcjonalności w exe |
WireSize | Określa grubość krawędzi | Liczba [cm] | Brak funkcjonalności w exe |
Opacity | Określa sposób renderowania przezroczystości | Liczba | 1 - renderowanie w fazie nieprzezroczystych; Alfa test
wartości mniejsze od 1 - renderowanie w fazie przezroczystych; Alfa blend |
Map | Materiał submodelu. | Ścieżka do materiału (bez rozszerzenia) | Pierwszy przebieg wyszukiwania w katalogu równorzędnym modelowi, drugi w roocie textures.
Można podać tekstury wymienne, podstawiane parametrem w node model/dynamic. Wtedy dajemy wartość replacableskin lub jeśli model używa kilku tekstur wymiennych, indeks tekstury poprzedzony minusem (-1÷-4) |
NumVerts | Suma wszystkich wierzchołków w definicjach trójkątów | Liczba |
Pod definicją właściwości NumVerts znajdują się definicje trójkątów (o ile obiekt nie jest tzw. bananem). Ich ilość musi być równa NumVerts / 3. Definicje trójkątów oddzielone są od siebie pustą linią.
Wzór definicji trójkąta:
maska_wygładzania x y z u v x y z u v x y z u v
Nazwa właściwości | Znaczenie | Typ wartości | Uwagi |
---|---|---|---|
maska_wygładzania | Zapisana dziesiętnie maska bitowa określająca wygładzenie trójkąta. | Liczba | Jeśli w jednym punkcie spotykają się wierzchołki wielu trójkątów, to jeśli mają ustawione wspólne bity w masce, to wektor normalny zostanie wyliczony jako średnia, co da efekt zaokrąglenia w tym wierzchołku. |
x, y, z | Współrzędne wierzchołka w przestrzeni | 3 liczby [m] | Symulator korzysta z prawoskrętnego układu współrzędnych! |
u, v | Współrzędnie wierzchołka w układzie UV | 2 liczby |
Między współrzędnymi XYZ i UV mogą znajdować się współrzędne IJK wektora normalnego. Maska wygładzania przyjmuje wtedy wartość -1:
-1 x y z i j k u v x y z i j k u v x y z i j k u v
Opcjonalną formą zapisu geometrii jest użycie chmury punków oraz listy indeksów. Chmura punktów definiuje wierzchołki o unikatowych właściwościach. W liście indeksów każde kolejne 3 liczby określają, których wierzchołków użyć do stworzenia trójkąta.
NumIndices: ilosc_indeksow indeks1 indeks2 indeks3 // etc NumVerts: ilosc_wierzcholkow Px Py Pz Nx Ny Nz Ux Uy Tx Ty Tz Tw // pozycja, wektor normalny, koordynaty UV, tangent Px Py Pz Nx Ny Nz Ux Uy Tx Ty Tz Tw // etc
Właściwości specyficzne dla typu FreeSpotLight
Nazwa właściwości | Znaczenie | Typ wartości | Uwagi |
---|---|---|---|
Diffuse | Definiuje kolor świecenia submodelu | 3 liczby RGB z zakresu <0-255> | |
NearAttenStart | Liczba | Brak funkcjonalności w exe | |
NearAttenEnd | Liczba | Brak funkcjonalności w exe | |
UseNearAtten | Jedno ze słów kluczowych:
|
Brak funkcjonalności w exe | |
FarAttenDecayType | Typ zaniku natężenia światła | Liczba |
|
FarDecayRadius | Liczba | Brak funkcjonalności w exe | |
FalloffAngle | Określa kąt wygaszenia światła. | Liczba [deg] w zakresie (1;180> lub cosinus połowy tego kąta | |
HotspotAngle | Określa kąt pełnej jasności światła. | Liczba [deg] w zakresie (1;180> lub cosinus połowy tego kąta |
Właściwości specyficzne dla typu Stars
Nazwa właściwości | Znaczenie | Typ wartości | Uwagi |
---|---|---|---|
Diffuse | ? | 3 liczby RGB z zakresu <0-255> | Parametr nieznaczący w kontekście tego submodelu |
NumVerts | Określa ilość punktów świetlnych zawartych w tym submodelu | Liczba |
Pod definicją właściwości NumVerts muszą znaleźć się definicje grup punktów świetlnych. W jednej grupie mogą znaleźć się maksymalnie 3 punkty świetlne.
1 x y z kolor 0 x y z kolor 0 x y z kolor 0
Nazwa właściwości | Znaczenie | Typ wartości | Uwagi |
---|---|---|---|
1, 0 | Tokeny ignorowane. | Liczby | Zwyczajowo zawsze podaje się 1 i 0. |
x, y, z | Współrzędne punktu w przestrzeni | 3 liczby [m] | |
kolor | Kolor świecenia punktu | Liczba | Zapisana dziesiętnie liczba szesnastkowa opisująca kolor świecenia BGR. |
Nazwy specjalne
Dostępne typy animacji
Wartość | Znaczenie | Uwagi |
---|---|---|
false | Brak animacji. | |
true | Możliwość animowania za pomocą eventów | |
sky | Animacja nocnego nieba | |
wind | Kołysanie się obiektu pod wpływem wiatru. | |
billboard | Obracanie się obiektu w kierunku kamery. | |
digiclk | Animacja zegara cyfrowego | |
seconds | Sekundy płynnie (60s/360°, pełny obrót w minutę) | |
seconds_jump | Sekundy z przeskokiem co 6° | |
minutes | Minuty płynnie (1h/360°, pełny obrót w godzinę) | |
minutes_jump | Minuty z przeskokiem co 6° | |
hours | Godziny płynnie (12h/360°) | |
hours_jump | Godziny z przeskokiem co 30° | |
hours24 | Godziny płynnie (24h/360°) | |
hours24_jump | Godziny z przeskokiem co 15° | |
ik | IK: zadający | brak funkcjonalności w exe |
ik11 | IK: kierunkowany | brak funkcjonalności w exe |
ik21 | IK: kierunkowany | brak funkcjonalności w exe |
ik22 | IK: kierunkowany | brak funkcjonalności w exe |