Symulator EU07 (i nie tylko) > Symulator

 Kto co wie o T3D?

(1/2) > >>

Ra:
Jestem w trakcie rozpracowania plików .T3D. Niestety nie ma do nich żadnej dokumentacji (przynajmniej ja nie znalazłem).

Wiem, że mają strukturę hierarchiczną (typu drzewo). Każdy element ma najpierw parametry opisowe, potem macierz transformacji i na końcu listę trójkątów. Hierarchię, macierz transformacji i trójkąty rozpracowałem na tyle, że udało mi się je wyeksportować do pliku .3DS.

Natomiast zagadką są dla mnie pozostałe parametry opisowe. W pliku EU07.EXE są znalazłem następujące ciągi:
* type: - możliwe wartości: mesh, point, freespotlight. Mesh to siatka trójkątów. Freespotlight to punkt świetlny (rodzaj reflektora). Ale czym jest point?
* anim: - chyba zawsze jest false, może mieć inne wartości?
* nearattenstart: - niby początek zanikania światła w zbliżeniu, ale czy to działa?
* map: - nazwa pliku tekstury albo słowo replacableskin, jeśli teksturę można podmienić.
Ponadto nie ma ciągów (chyba?), ale są rozpoznawane:

* Parent: - nazwa obiektu wyżej w hierarchii (słowo none dla głównego elementu).
* Name: - nazwa elementu, może być użyta do animacji w event ... animation. Jeśli nazwa jest postaci Light_On## albo Light_Off##, element może być pokazywany i chowany za pomocą event ... lights (uwzględniana hierarchia). W modelach pojazdów są jeszcze inne nazwy specjalne (np. HeadLamp12_on), podobnie w kabinach.
* Diffuse: - kolor świecenia elementu (RGB, trzy liczby 0..255).
* SelfIllum: - świecenie elementu: true albo false.
* MaxDistance: - maksymalna odległość, z jakiej widać element (hierarchia ignorowana).
* MinDistance: - minimalna odległość, z jakiej widać element (j.w.).
* Transform: - początek macierzy transformacji.
* NumVerts: - ilość wierzchołków i definicje trójkątów.
Nie jest mi znane działanie następujących parametrów (nie chodzi o ogólne znaczenie, bo to można znaleźć w instrukcji 3D Studio Max, tylko o zastosowanie w Symulatorze):

* Ambient: (RGB, trzy liczby 0..255)
* Specular: (RGB, trzy liczby 0..255)
* Wire: false
* WireSize: 1.0
* Opacity: 100.0
* NearAttenStart: 0.0
* NearAttenEnd: 80.0
* UseNearAtten: true
* FarAttenDecayType: 2
* FarDecayRadius: 80.0
* FalloffAngle: 45.0
* HotspotAngle: 10.0
Nie są mi też znane okoliczności pojawienia się komunikatu Degenerated triangle found. Domyślam się, że może się pojawić w sytuacji, gdy wierzchołki trójkąta się pokrywają, ewentuallnie są na jednej prostej.

To tyle, co ja wiem. Ktoś wie coś więcej?

youBy:

--- Cytat: Ra w 25 Maja 2008, 07:05:45 ---Nie są mi też znane okoliczności pojawienia się komunikatu Degenerated triangle found. Domyślam się, że może się pojawić w sytuacji, gdy wierzchołki trójkąta się pokrywają, ewentuallnie są na jednej prostej.
--- Koniec cytatu ---
Dokładnie, dwa wierzchołki mają te same współrzędne.

Żabek:

--- Cytat: Ra w 25 Maja 2008, 07:05:45 ---
* Diffuse: (RGB, trzy liczby 0..255);
* Ambient: (RGB, trzy liczby 0..255);
* Specular: (RGB, trzy liczby 0..255).
--- Koniec cytatu ---

Ja znalazłem taki opis w scenery.doc:

--- Cytuj ---ambient, diffuse, specular – podatność materiału na oświetlenie tymi 3ma składowymi światła (np. materiał błyszczący powinien mieć wysoką składową specular, ściany tunelu powinny mieć wysoką składową ambient i bardzo niskie diffuse i specular aby światło słoneczne na nie nie padało, itp).
--- Koniec cytatu ---

ShaXbee:

--- Cytuj ---
* Ambient: (RGB, trzy liczby 0..255)
* Specular: (RGB, trzy liczby 0..255)
--- Koniec cytatu ---
Chodzi o parametry światła - symulator przekazuje je do glMaterial / glLight - http://www.sjbaker.org/steve/omniv/opengl_lighting.html

--- Cytuj ---
* Wire: false
* WireSize: 1.0
--- Koniec cytatu ---
Zamiast wypełnionych trójkątów rysowana jest ich siatka (krawędzie). WireSize określa szerokość linii - przekazywane do glLineWidth.


--- Cytuj ---
* Opacity: 100.0
--- Koniec cytatu ---
Nieprzezroczystosc (0% - calkowicie przezroczysty)


--- Cytuj ---Nie są mi też znane okoliczności pojawienia się komunikatu Degenerated triangle found. Domyślam się, że może się pojawić w sytuacji, gdy wierzchołki trójkąta się pokrywają, ewentuallnie są na jednej prostej.
To tyle, co ja wiem. Ktoś wie coś więcej?
--- Koniec cytatu ---
ZTCP degenerated triangle są wykrywane tylko przy pokrywających się wierzchołkach.

bohunIC:

--- Cytuj ---Nie są mi też znane okoliczności pojawienia się komunikatu Degenerated triangle found. Domyślam się, że może się pojawić w sytuacji, gdy wierzchołki trójkąta się pokrywają, ewentuallnie są na jednej prostej.
To tyle, co ja wiem. Ktoś wie coś więcej?
--- Koniec cytatu ---
ZTCP degenerated triangle są wykrywane tylko przy pokrywających się wierzchołkach.
[/quote]

Moje pytanie, czy to oznacza że te wierzchołki się dublują czy tylko mają wspólne punkty? Mówie o siatce trójkątów robioną z Delanuay Mesh. Ja rozumiem że robiąc siatkę o charakterze powierzchnia pofałdowana, kilka trójkątów musi mieć wspólne wierzchołki, przylegać do siebie i to o to chodzi? Bo w moich sceneriach w konsoli podczas wczytywania wykazuje ''od zajeb...'' degenrated triangle co mnie zaniepokoiło. A patrząc w kierunku optymalizacji i poprawy FPSu - ważna sprawa.

-troche off topowo

Proponuje twórcą scenerii robić sobie plik z weksportowanymi krawędziami, tzn kiedy robimy siatkę krawędzie z których została stworzona pozostają, My potzrebujemy tylko teren więc linie i zamknięte spline nie są nam potzrebne, usuwamy je po Delanuay Mesh, ale kopiujemy na przyszłość do odrębnego pliku max. Wtedy nie są wczytywane do scn i znacząco wpływają na FPS, bo są to dodatkowe rzeczy exportowane do scn czy scm. niewiem czy robiliście takie zabiegi wcześniej, w każdym razie jest takie rozwiązanie, które stosuje od dawnego już czasu.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod