Obiekt node: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
(track)
(Składnia)
 
(Nie pokazano 153 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
Każdy wpis node zaczyna się od preambuły:
+
Dyrektywa node służy do definiowania obiektów widocznych na scenerii.
    <span style="color:green;font-weight:bold;">node</span> ''max_distance min_distance nazwa typ''
+
== Składnia ==
* '''max_distance''' - liczba określająca maksymalną odległość, z jakiej obiekt jest widoczny (-1 oznacza brak ograniczenia widoczności).
+
{{Szablon:Kod_preambuly_node}} ''type''...
* '''min_distance''' - liczba określająca minimalną odległość, z jakiej obiekt jest widoczny.
+
{| class="wikitable"
* '''nazwa''' - nazwa obiektu, służy do identyfikacji konkretnego obiektu w scenerii, np. przy wstawianiu składu na tor.
+
|+ Opis parametrów
* '''typ''' - typ obiektu. Dostępne typy opisane są poniżej.
+
! Nazwa
 +
! Znaczenie
 +
{{Szablon:Wspólne_parametry_node}}
 +
| '''type'''
 +
| Typ obiektu.
  
== dynamic ==
+
* [[Obiekt_node::dynamic|dynamic]]
Wstawia do scenerii pojazd.
+
* [[Obiekt_node::eventlauncher|eventlauncher]]
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">dynamic</span> ''folder tekstura fizyka tor odleglosc obsada predkosc sprzeg ilosc_ladunku ladunek'' <span style="color:orange;font-weight:bold">destination</span> ''miejsce_docelowe'' <span style="color:tomato;font-weight:bold">enddynamic</span>
+
* [[Obiekt_node::isolated|isolated]]
* '''folder''' - ścieżka do katalogu zawierającego model pojazdu do wstawienia, relatywna względem folderu ''dynamic''.
+
* [[Obiekt_node::lines|lines]]
* '''tekstura''' - plik tekstury z katalogu ''folder'', którym ma być oteksturowany model (bez rozszerzenia).
+
* [[Obiekt_node::line_strip|line_strip]]
* '''fizyka''' - [[Plik charakterystyki|plik charakterystyki]] z katalogu ''folder'' (bez rozszerzenia). Określa jaki model pojazdu zostanie użyty (np. 303E).
+
* [[Obiekt_node::line_loop|line_loop]]
* '''tor''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Należy wpisać nazwę obiektu [[Obiekt node#track|'''node::track''']], na którym ma stanąć pojazd.
+
* [[Obiekt_node::memcell|memcell]]
* '''odleglosc''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Należy podać odległość pojazdu od punktu 1 obiektu [[Obiekt node#track|'''node::track''']] [m].
+
* [[Obiekt_node::model|model]]
* '''obsada''' - stan obsadzenia pojazdu. Dostępne typy:
+
* [[Obiekt_node::sound|sound]]
** headdriver - obsada w kabinie nr 1.
+
* [[Obiekt_node::track|track]]
** reardriver - obsada w kabinie nr 2.
+
* [[Obiekt_node::traction|traction]]
** nobody - brak obsady.
+
* [[Obiekt_node::tractionpowersource|tractionpowersource]]
** passenger - jazda w wagonie jako pasażer. Uwaga! Nie każdy wagon posiada taką możliwość!
+
* [[Obiekt_node::triangles|triangles]]
** connected
+
* [[Obiekt_node::triangle_strip|triangle_strip]]
* '''predkosc''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Określa prędkość początkową pojazdu [km/h].
+
* [[Obiekt_node::triangle_fan|triangle_fan]]
* '''sprzęg''' - <u>tylko jeśli wpis JEST częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Określa flagę sprzęgu łączącego z następnikiem.
+
|}
** 1 - hak
+
Kolejne parametry zależą od wartości parametru ''type''.
** 2 - przewód hamulcowy
 
** 4 - przewód ukrotnienia
 
** 8 - przewód wysokiego napięcia
 
** 16 - mostek przejściowy
 
** 32 - przewód powietrzny 8 atmosfer
 
** 64 - przewód ogrzewania
 
** 128 - blokada
 
Aby otrzymać liczbę reprezentującą określony sposób sprzęgnięcia, należy zsumować liczby symbolizujące podłączenie interesujących nas elementów. Dla przykładu, aby otrzymać liczbę oznaczającą podłączenie haka, przewodu hamulcowego i ogrzewania dodajemy do siebie liczby 1 (podpięty hak), 2 (podpięty przewód hamulcowy) i 64 (podpięty przewód ogrzewania). Daje to liczbę 67.
 
* '''ilosc_ladunku''' - ilość ładunku w pojeździe. [jednostka zależna od wpisu w [[Plik charakterystyki|pliku charakterystyki]]]
 
* '''ladunek''' - <u>tylko jeśli ''ilosc_ladunku'' > 0.</u> Określa nazwę ładunku.
 
* '''miejsce_docelowe''' - dla wagonów jest to stacja docelowa. Informacja taka umożliwi wykonywanie automatycznych manewrów przez AI (łączenie i rozłączanie składów, obsługa górki rozrządowej). Jeśli nie zostanie to wyszczególnione we wpisie, miejsce docelowe zostanie określone po przypisaniu rozkładu jazdy.
 
  
== eventlauncher ==
+
[[Kategoria:Scenerie]]
Definiuje wyzwalacz zdarzeń.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">eventlauncher</span> ''x y z odleglosc klawisz czas zdarzenie1 zdarzenie2 komorka_pamieci parametry_komorki'' <span style="color:tomato;font-weight:bold">end</span>
 
* '''x, y, z''' współrzędne wyzwalacza w przestrzeni 3D.
 
* '''odleglosc''' - maksymalna odległość obserwatora od obiektu, -1 oznacza brak sprawdzania odległości. [m]
 
* '''klawisz''':
 
** kod klawisza wyzwalającego zdarzenie (tylko litery),
 
** brak reakcji na klawisze - słowo kluczowe '''none'''
 
* '''czas''':
 
** czas wyzwolenia zdarzenia - godzina w formacie hh:mm.
 
** okresowość wyzwalania - ilość czasu ze znakiem minus [s].
 
** brak reakcji czasowej - liczba 0.
 
* '''zdarzenie1''' - zdarzenie wyzwalane przy naciśnięciu klawisza gdy SHIFT nie jest naciśnięty albo gdy upłynął określony czas
 
* '''zdarzenie2''' - Event2: zdarzenie wyzwalane przy naciśnięciu klawisza gdy SHIFT jest naciśnięty opcjonalnie, po słowie '''condition'''
 
* '''komorka_pamieci''' - nazwa komórki pamięci
 
* '''parametry_komorki''' - wartości którym się muszą równać wartości komórki pamięciowej żeby zdarzenia zostały wysłane do kolejkowania.
 
 
 
== lines ==
 
Definiuje linie.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">lines</span> ''kolor grubosc''
 
    ''px py pz kx ky kz''
 
    ...
 
    <span style="color:tomato;font-weight:bold">endlines</span>
 
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii.
 
* '''grubosc''' - grubość linii [mm].
 
* '''px py pz kx ky kz''' - współrzędne początku i końca linii w przestrzeni 3D. Może wystąpić ich dowolna parzysta ilość.
 
 
 
== line_strip ==
 
Definiuje linię łamaną.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">line_strip</span> ''kolor grubosc''
 
    ''x y z''
 
    ...
 
    <span style="color:tomato;font-weight:bold">endlines</span>
 
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii.
 
* '''grubosc''' - grubość linii [mm].
 
* '''x y z''' - współrzędne linii w przestrzeni 3D. Może wystąpić ich dowolna ilość.
 
 
 
== line_loop ==
 
Definiuje linię łamaną zamkniętą.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">line_loop</span> ''kolor grubosc''
 
    ''x y z''
 
    ...
 
    <span style="color:tomato;font-weight:bold">endlines</span>
 
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii.
 
* '''grubosc''' - grubość linii [mm].
 
* '''x y z''' - współrzędne linii w przestrzeni 3D. Może wystąpić ich dowolna ilość.
 
 
 
== memcell ==
 
Definiuje komórkę pamięci.
 
 
 
== model ==
 
Wstawia do scenerii model w formacie [[Format T3D|T3D]] lub [[Format E3D|E3D]].
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">model</span> ''x y z rz plik_modelu tekstura_wymienna'' <span style="color:orange;font-weight:bold">lights</span> ''stany_swiatel'' <span style="color:tomato;font-weight:bold">endmodel</span>
 
* '''x, y, z''' - współrzędne modelu w przestrzeni 3D.
 
* '''rz''' - rotacja w osi Z.
 
* '''plik_modelu''' - ścieżka do modelu w formacie [[Format T3D|T3D]] lub [[Format E3D|E3D]], relatywna względem folderu ''models''.
 
* '''tekstura_wymienna''' - ścieżka do tekstury, którą ma być oteksturowany submodel ze zdefiniowaną teksturą wymienną. Ścieżka relatywna względem folderu ''textures''.
 
* '''stany_swiatel''' - w zależności od ilości zdefiniowanych świateł w modelu, znaleźć tu się muszą liczby opisujące ich stan:
 
** 0 - zgaszone
 
** 1 - zapalone
 
** 2 - pulsujące
 
** 3 - zapalone tylko w nocy
 
W przypadku braku zdefiniowanych świateł, należy pominąć słowo kluczowe '''lights'''.
 
 
 
== track ==
 
Definiuje odcinek trajektorii ruchu: drogi, tory, rzeki... Znaczenie niektórych parametrów zmienia się w zależności od typu trajektorii. Obsługiwane typy:
 
* '''normal''' - tor
 
* '''switch''' - rozjazd
 
* '''turn''' - obrotnica
 
* '''table''' - obrotnica, przesuwnica, wywrotnica
 
* '''road''' - droga
 
* '''cross''' - skryżowanie dróg
 
* '''river''' - rzeka
 
* '''tributary''' - skrzyżowanie rzek
 
 
 
=== Przykład odcinka prostego, łuku lub obrotnicy ===
 
    ''<span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">track</span> typ dlugosc szerokosc tarcie stukot jakosc uszkodzenia srodowisko widocznosc''
 
    ''tekstura1 powtarzanie_tekstury tekstura2 wysokosc_pods szerokosc_pods szerokosc_pochylenia''
 
    ''x y z przechylka1''
 
    ''cv1x cv1y cv1z''
 
    ''cv2x cv2y cv2z''
 
    ''x y z przechylka2''
 
    ''promien''
 
    ''parametry_opcjonalne''
 
    <span style="color:tomato;font-weight:bold">endtrack</span>
 
 
 
=== Przykład zwrotnicy ===
 
 
 
=== Przykład skrzyżowania ===
 
 
 
=== Parametry opcjonalne ===
 
    velocity predkosc
 
    event0 nazwa_eventu
 
    event1 nazwa_eventu
 
    event2 nazwa_eventu
 
    eventall0 nazwa_eventu
 
    eventall1 nazwa_eventu
 
    eventall2 nazwa_eventu
 
    isolated nazwa_odcinka
 
    overhead stan_jazdy_bezpradowej
 
    colides ?
 
    angle1 kat1
 
    angle2 kat2
 
    fouling1 ukres1
 
    fouling2 ukres2
 
 
 
== traction ==
 
Definiuje odcinek drutu sieci trakcyjnej.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">traction</span> ''zrodlo_zasilania napiecie prąd_max opor material grubosc uszkodzenia''
 
    ''p1x p1y p1z''
 
    ''p2x p2y p2z''
 
    ''p3x p3y p3z''
 
    ''p4x p4y p4z''
 
    ''wysokosc_min odstep_wieszakow ilosc_przewodow odstep_przewodow widocznosc''
 
    ''zdarzenie''
 
    <span style="color:tomato;font-weight:bold">endtraction</span>
 
* '''zrodlo_zasilania''' - nazwa obiektu [[Obiekt node#tractionpowersource|'''node::tractionpowersource''']], który ma zasilać ten odcinek sieci.
 
* '''napiecie''' - napięcie sieci trakcyjnej bez obciążenia [V].
 
* '''prąd_max''' - prąd przy którym napięcie w sieci spadłoby o połowę [V].
 
* '''opor''' - rezystancja styku ślizgacz-przewód [Ω].
 
* '''material''' - materiał, z jakiego wykonany jest drut:
 
** Cu - miedź
 
** Al - aluminium
 
* '''grubosc''' - grubość drutu [mm].
 
* '''uszkodzenia''' - flaga bitowa uszkodzeń:
 
** 1 - patyna
 
** 128 - zerwanie
 
* '''p1x, p1y, p1z''' - współrzędne punktu będącego początkiem przewodu jezdnego.
 
* '''p2x, p2y, p2z''' - współrzędne punktu będącego końcem przewodu jezdnego.
 
* '''p3x, p3y, p3z''' - współrzędne punktu będącego początkiem przewodu nośnego.
 
* '''p4x, p4y, p4z''' - współrzędne punktu będącego końcem przewodu nośnego.
 
* '''wysokosc_min''' - najniższa wysokość górnego przewodu nad dolnym [m].
 
* '''odstep_wieszakow''' - odstęp pomiędzy kolejnymi wieszakami [m].
 
* '''ilosc_przewodow''' - ilość przewodów (0-jezdny, 1-jezdny+nośny, 2-2 jezdne+nośny, 3-2 jezdne+2 nośne; może się błędnie wyświetlać).
 
* '''odstep_przewodow''' - odstęp między przewodami jezdnymi gdy ''ilosc_przewodow'' = 3 [m].
 
* '''widocznosc''' - widoczność trakcji:
 
** unvis/novis - niewidoczna
 
** vis - widoczna
 
* '''zdarzenie''' - opcjonalne zdarzenie [[Plik scenerii#event|'''event''']], które zostanie uruchomione gdy [[Obiekt node#dynamic|'''node::dynamic''']] pobiera prąd z sieci.
 
 
 
== tractionpowersource ==
 
Definiuje źródło zasilania sieci trakcyjnej.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">tractionpowersource</span> ''x y z napiecie czestotliwosc opor napiecie_max czas_restartu1 ilosc_prob_restartu czas_restartu2 rekuperacja'' <span style="color:tomato;font-weight:bold">end</span>
 
* '''x, y, z''' – położenie źródła prądu w przestrzeni 3D.
 
* '''napiecie''' – napięcie w sieci trakcyjnej bez obciążenia.
 
* '''czestotliwosc''' – częstotliwość prądu.
 
* '''opor''' – rezystancja wewnętrzna podstacji.
 
* '''napiecie_max''' – prąd przy którym uruchamia się bezpiecznik nadmiarowy szybki.
 
* '''czas_restartu1''' – czas po którym obwód się uruchamia ponownie po przeciążeniu.
 
* '''ilosc_prob_restaru''' – ilość prób wznowienia pracy obwodu.
 
* '''czas_restartu2''' – czas po jakim zostanie uruchomiony obwód jeśli zostanie przekroczona ilość wznowień (załączeń bezpiecznika szybkiego).
 
* '''rekuperacja''' – czy jest odzysk prądu z sieci:
 
** recuperation - tak
 
** norecuperation - nie
 
 
 
== triangles ==
 
Definiuje trójkąt terenu.
 
    <span style="color:green;font-weight:bold;">node</span> -1 0 none <span style="color:tomato;font-weight:bold">triangles</span> <span style="color:tomato;font-weight:bold">material</span> <span style="color:orange;font-weight:bold">ambient:</span> ''ambient'' <span style="color:orange;font-weight:bold">diffuse:</span> ''diffuse'' <span style="color:orange;font-weight:bold">specular:</span> ''specular'' <span style="color:tomato;font-weight:bold">endmaterial</span> ''tekstura''
 
    ''x y z nx ny nz u v'' <span style="color:tomato;font-weight:bold">end</span>
 
    ...
 
    <span style="color:tomato;font-weight:bold">endtri</span>
 
* '''ambient''' - 3 wartości RGB z zakresu <0;255>, określające kolor materiału.
 
* '''diffuse''' - 3 wartości RGB z zakresu <0;255>
 
* '''specular''' - 3 wartości RGB z zakresu <0;255>, określające siłę odbłyskiwania światła na trójkącie.
 
* '''tekstura''' - ścieżka do pliku tekstury (bez rozszerzenia) relatywna względem folderu ''textures''.
 
* '''x, y, z''' - współrzędnie wierzchołka w przestrzeni 3D.
 
* '''nx, ny, nz''' - współrzędne wektora normalnego.
 
* '''u, v''' - współrzędnie wierzchołka UV w przestrzeni 2D. Określają układ tekstury.
 
Ilość wierzchołków w tym obiekcie jest nieograniczona, ale musi być wielokrotnością liczby 3.
 
 
 
== triangle_strip ==
 
Definiuje siatkę trójkątów. Rzadko spotykany, częściej w jego miejsce używany jest lepiej zoptymalizowany [[Obiekt node#triangles|'''node::triangles''']]
 
 
 
== triangle_fan ==
 
Definiuje siatkę trójkątów. Rzadko spotykany, częściej w jego miejsce używany jest lepiej zoptymalizowany [[Obiekt node#triangles|'''node::triangles''']]
 

Aktualna wersja na dzień 00:38, 31 sie 2024

Dyrektywa node służy do definiowania obiektów widocznych na scenerii.

Składnia

node range_max range_min name type...
Opis parametrów
Nazwa Znaczenie
range_max Maksymalna odległość, z jakiej obiekt jest widoczny [m].

Wartość -1 oznacza brak ograniczenia widoczności.

range_min Minimalna odległość, z jakiej obiekt jest widoczny [m].
name Nazwa obiektu.
type Typ obiektu.

Kolejne parametry zależą od wartości parametru type.