Plik scenerii: Różnice pomiędzy wersjami

Z MaSzyna
Skocz do: nawigacja, szukaj
Linia 121: Linia 121:
 
=== node ===
 
=== node ===
 
Definiuje obiekty różnych typów.
 
Definiuje obiekty różnych typów.
Każdy wpis node zaczyna się od preambuły:
+
[[Obiekt node|Dowiedz się więcej]]
    <span style="color:green;font-weight:bold;">node</span> ''max_distance min_distance nazwa typ''
 
* '''max_distance''' - liczba określająca maksymalną odległość, z jakiej obiekt jest widoczny (-1 oznacza brak ograniczenia widoczności).
 
* '''min_distance''' - liczba określająca minimalną odległość, z jakiej obiekt jest widoczny.
 
* '''nazwa''' - nazwa obiektu, służy do identyfikacji konkretnego obiektu w scenerii, np. przy wstawianiu składu na tor.
 
* '''typ''' - typ obiektu. Dostępne typy opisane są poniżej.
 
 
 
==== dynamic ====
 
Wstawia do scenerii pojazd.
 
    <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>
 
* '''folder''' - ścieżka do katalogu zawierającego model pojazdu do wstawienia, relatywna względem folderu ''dynamic''.
 
* '''tekstura''' - plik tekstury z katalogu ''folder'', którym ma być oteksturowany model (bez rozszerzenia).
 
* '''fizyka''' - [[Plik charakterystyki|plik charakterystyki]] z katalogu ''folder'' (bez rozszerzenia). Określa jaki model pojazdu zostanie użyty (np. 303E).
 
* '''tor''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Należy wpisać nazwę obiektu [[Plik scenerii#track|'''node::track''']], na którym ma stanąć pojazd.
 
* '''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 [[Plik scenerii#track|'''node::track''']] [m].
 
* '''obsada''' - stan obsadzenia pojazdu. Dostępne typy:
 
** headdriver - obsada w kabinie nr 1.
 
** reardriver - obsada w kabinie nr 2.
 
** nobody - brak obsady.
 
** passenger - jazda w wagonie jako pasażer. Uwaga! Nie każdy wagon posiada taką możliwość!
 
** connected
 
* '''predkosc''' - <u>tylko jeśli wpis nie jest częścią [[Plik scenerii#trainset|'''trainset''']]</u>. Określa prędkość początkową pojazdu [km/h].
 
* '''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
 
** 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 ====
 
Definiuje wyzwalacz zdarzeń.
 
 
 
==== lines ====
 
Definiuje linię.
 
    <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]].
 
    <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]], 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...
 
 
 
==== 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 napiecie_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 [[Plik scenerii#tractionpowersource|'''node::tractionpowersource''']], który ma zasilać ten odcinek sieci.
 
* '''napiecie''' - napięcie sieci trakcyjnej bez obciążenia [V].
 
* '''napiecie_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 jezdnych (0,1,2,3).
 
* '''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 [[Plik scenerii#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 [[Plik scenerii#triangles|'''node::triangles''']]
 
 
 
==== triangle_fan ====
 
Definiuje siatkę trójkątów. Rzadko spotykany, częściej w jego miejsce używany jest lepiej zoptymalizowany [[Plik scenerii#triangles|'''node::triangles''']]
 

Wersja z 13:01, 30 sie 2017

Plik scenerii jest plikiem tekstowym, zawierającym definicje obiektów, zdarzeń, pojazdów znajdujących się w scenerii. Aby plik scenerii mógł zostać uruchomiony przez symulator, należy umieścić go bezpośrednio w folderze scenery. Scenerię można uruchomić za pomocą startera, wiersza poleceń lub bezpośrednio przez plik wykonywalny symulatora.

  • Komenda wiersza poleceń, uruchamiająca scenerię scene.scn:
   eu07.exe –s scenery/scene.scn
  • Wpis w eu07.ini, powodujący uruchomienie scene.scn przez plik wykonywalny
   sceneryfile scene.scn 

Rodzaje plików składowych scenerii

Poniższe rodzaje plików nie różnią się składnią, a jedynie pomagają zachować ład w plikach wchodzących w skład scenerii.

  • SCN - główny plik scenerii, zawiera zazwyczaj definicje składów i polecenia include, dołączające obiekty z innego pliku do scenerii.
  • SCM - plik z elementami składowymi scenerii. Zazwyczaj używa się tych plików do podziału obiektów scenerii na tory, drogi, drzewa, wskaźniki...
  • CTR - plik ze zdarzeniami tworzącymi scenariusz
  • INC - plik pozwalający na wstawienie obiektu z parametrami (tekstura wymienna, rotacja w 3 osiach)

Rodzaje wpisów

Parametry obiektów w scenerii mogą być oddzielane

  • spacjami,
  • przecinkami,
  • średnikami,
  • tabulatorami
  • końcami linii.

Jednak dla lepszej czytelności dla człowieka zaleca się oddzielanie ich wyłącznie spacją.

atmo

Definiuje kolor tła scenerii i parametry mgły.

    atmo kolor_nieba poczatek_mgly koniec_mgly kolor_mgly endatmo
  • kolor_nieba - 3 wartości RGB z zakresu <0;1> określające kolor nieba.
  • poczatek_mgly - odległość początku mgły od kamery [m].
  • koniec_mgly - odległość końca mgły od kamery [m].
  • kolor_mgly - 3 wartości RGB z zakresu <0;1> określające kolor mgły.

camera

Definiuje kamerę, do której można się przemieszczać klawiszami numerycznymi.

   camera x y z rx ry rz numer endcamera
  • x, y, z - współrzędne kamery w przestrzeni 3D.
  • rx, ry, rz - obrót kamery w trzech osiach.
  • numer - po kliknięciu jakiego klawisza (numerycznego) ma nastąpić teleportacja do kamery.

config

Definiuje ustawienia eu07.ini specyficzne dla scenerii. Można ustawić dowolną ilość par opcja-wartość. Uwaga! Nie wszystkie opcje są możliwe do ustawienia za pomocą tego wpisu!

   config opcja wartosc ... endconfig

description

Definiuje opis scenerii. Wpis stworzony z myślą o starterach, ale nie jest przez nie interpretowany.

    description opis_scenerii enddescription
  • opis_scenerii - opis scenerii.

event

Definiuje zdarzenia które służą do sterowania obiektami, np. sygnałem na semaforze lub przełożeniem zwrotnicy.

FirstInit

Słowo kluczowe oznaczające początek sekcji w pliku z definicjami składów.

   FirstInit
   wpisy_trainset
   ...

include

Dołącza do scenerii obiekty z podanego pliku. Może przyjmować opcjonalne parametry.

    include plik parametry end
  • plik - ścieżka do pliku, którego zawartość ma być dołączona. Ścieżka relatywna względem folderu scenery.
  • parametry - opcjonalne N parametrów, których wartości podstawione będą w miejsce zmiennych (p1) - (pN) w pliku.

light

Definiuje parametry oświetlenia scenerii.

    light x y z ambient diffuse specular endlight
  • x, y, z - współrzędne światła w przestrzeni 3D.
  • ambient - 3 wartości RGB z zakresu <0;1>
  • diffuse - 3 wartości RGB z zakresu <0;1>
  • specular - 3 wartości RGB z zakresu <0;1>

origin

Przesuwa obiekty o wektor.

    origin x y z
    wpisy 
    endorigin
  • x, y, z - współrzędne wektora przesunięcia w przestrzeni 3D.
  • wpisy - wpisy definiujące np. modele, części scenerii, które zostaną przesunięte o podany wektor.

rotate

Obraca obiekty.

   rotate rx ry rz
   wpisy
   rotate 0 0 0
  • rx, ry, rz - rotacja w trzech osiach.
  • wpisy - wpisy definiujące np. modele, części scenerii, które zostaną obrócone.

sky

Definiuje model nieba w scenerii.

    sky model_nieba endsky
  • model_nieba - ścieżka do pliku modelu nieba w formacie T3D, relatywna względem folderu models.

test

Służy do testowania poprawności wpisów. Wpisy obiektów otoczone tokenami test i endtest nie będą widoczne w scenerii, ale będą kopiowane do logu.

   test
   wpisy
   endtest
  • wpisy - dowolne rodzaje wpisów SCN do przetestowania.

time

Ustawia czas rozpoczęcia symulacji oraz czas wschodu i zachodu słońca.

   time czas_na_starce czas_wschodu czas_zachodu endtime
  • czas_na_starcie - czas symulacji w momencie jej startu w formacie hh:mm
  • czas_wschodu - godzina wschodu słońca w formacie hh:mm
  • czas_zachodu - godzina zachodu słońca w formacie hh:mm

trainset

Definiuje skład jako zbiór obiektów node::dynamic.

   trainset rozklad nazwa_toru odleglosc predkosc 
   wpisy_dynamic
   endtrainset
  • rozklad - ścieżka do pliku z rozkładem, relatywna względem folderu scenery.
  • nazwa_toru - nazwa obiektu node::track na którym ma stanąć skład.
  • odległość - odległość składu od punktu 1 toru, na którym stoi [m].
  • predkosc - prędkość początkowa składu [km/h].
  • wpisy_dynamic - dowolna liczba wpisów node::dynamic.

node

Definiuje obiekty różnych typów. Dowiedz się więcej