Plik scenerii: Różnice pomiędzy wersjami
(→Rodzaje wpisów) |
(→Rodzaje wpisów) |
||
Linia 60: | Linia 60: | ||
''px py pz kx ky kz'' | ''px py pz kx ky kz'' | ||
... | ... | ||
− | endlines | + | <span style="color:tomato;font-weight:bold">endlines</span> |
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii. | * '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii. | ||
* '''grubosc''' - grubość linii [mm]. | * '''grubosc''' - grubość linii [mm]. | ||
Linia 70: | Linia 70: | ||
''x y z'' | ''x y z'' | ||
... | ... | ||
− | endlines | + | <span style="color:tomato;font-weight:bold">endlines</span> |
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii. | * '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii. | ||
* '''grubosc''' - grubość linii [mm]. | * '''grubosc''' - grubość linii [mm]. | ||
Linia 80: | Linia 80: | ||
''x y z'' | ''x y z'' | ||
... | ... | ||
− | endlines | + | <span style="color:tomato;font-weight:bold">endlines</span> |
* '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii. | * '''kolor''' - 3 liczby z zakresu <0-255> (RGB) opisujące kolor linii. | ||
* '''grubosc''' - grubość linii [mm]. | * '''grubosc''' - grubość linii [mm]. | ||
Linia 90: | Linia 90: | ||
==== model ==== | ==== model ==== | ||
Wstawia do scenerii model w formacie t3d. | Wstawia do scenerii model w formacie 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'' lights ''stany_swiatel'' endmodel | + | <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'' lights ''stany_swiatel'' <span style="color:tomato;font-weight:bold">endmodel</span> |
* '''x, y, z''' - współrzędne modelu w przestrzeni 3D. | * '''x, y, z''' - współrzędne modelu w przestrzeni 3D. | ||
* '''rz''' - rotacja w osi Z. | * '''rz''' - rotacja w osi Z. | ||
Linia 130: | Linia 130: | ||
=== camera === | === camera === | ||
Definiuje kamerę, do której można się przemieszczać klawiszami numerycznymi. | Definiuje kamerę, do której można się przemieszczać klawiszami numerycznymi. | ||
− | camera ''x y z rx ry rz numer'' endcamera | + | <span style="color:tomato;font-weight:bold">camera</span> ''x y z rx ry rz numer'' <span style="color:tomato;font-weight:bold">endcamera</span> |
* '''x, y, z''' - współrzędne kamery w przestrzeni 3D. | * '''x, y, z''' - współrzędne kamery w przestrzeni 3D. | ||
* '''rx, ry, rz''' - obrót kamery w trzech osiach. | * '''rx, ry, rz''' - obrót kamery w trzech osiach. | ||
Linia 137: | Linia 137: | ||
=== config === | === 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! | 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 | + | <span style="color:tomato;font-weight:bold">config</span> ''opcja wartosc'' ... <span style="color:tomato;font-weight:bold">endconfig</span> |
* '''opcja''' - jedna z [[Plik konfiguracyjny EU07.INI#Parametry_scenerii|opcji eu07.ini]]. | * '''opcja''' - jedna z [[Plik konfiguracyjny EU07.INI#Parametry_scenerii|opcji eu07.ini]]. | ||
* '''wartosc''' - wartość dla opcji. | * '''wartosc''' - wartość dla opcji. | ||
Linia 143: | Linia 143: | ||
=== description === | === description === | ||
Definiuje opis scenerii. Wpis stworzony z myślą o starterach, ale nie jest przez nie interpretowany. | Definiuje opis scenerii. Wpis stworzony z myślą o starterach, ale nie jest przez nie interpretowany. | ||
− | description ''opis_scenerii'' enddescription | + | <span style="color:tomato;font-weight:bold">description</span> ''opis_scenerii'' <span style="color:tomato;font-weight:bold">enddescription</span> |
* '''opis_scenerii''' - opis scenerii. | * '''opis_scenerii''' - opis scenerii. | ||
Linia 151: | Linia 151: | ||
=== FirstInit === | === FirstInit === | ||
Słowo kluczowe oznaczające początek sekcji w pliku z definicjami składów. | Słowo kluczowe oznaczające początek sekcji w pliku z definicjami składów. | ||
− | FirstInit | + | <span style="color:lightblue;font-weight:bold">FirstInit</span> |
''wpisy_trainset'' | ''wpisy_trainset'' | ||
... | ... | ||
Linia 158: | Linia 158: | ||
=== include === | === include === | ||
Dołącza do scenerii obiekty z podanego pliku. Może przyjmować opcjonalne parametry. | Dołącza do scenerii obiekty z podanego pliku. Może przyjmować opcjonalne parametry. | ||
− | include ''plik parametry'' end | + | <span style="color:tomato;font-weight:bold">include</span> ''plik parametry'' <span style="color:tomato;font-weight:bold">end</span> |
* '''plik''' - ścieżka do pliku, którego zawartość ma być dołączona. Ścieżka relatywna względem folderu ''scenery''. | * '''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) - (p''N'') w pliku. | * '''parametry''' - opcjonalne ''N'' parametrów, których wartości podstawione będą w miejsce zmiennych (p1) - (p''N'') w pliku. | ||
Linia 164: | Linia 164: | ||
=== light === | === light === | ||
Definiuje parametry oświetlenia scenerii. | Definiuje parametry oświetlenia scenerii. | ||
− | light x y z ambient diffuse specular endlight | + | <span style="color:tomato;font-weight:bold">light</span> ''x y z ambient diffuse specular'' <span style="color:tomato;font-weight:bold">endlight</span> |
* '''x, y, z''' - współrzędne światła w przestrzeni 3D. | * '''x, y, z''' - współrzędne światła w przestrzeni 3D. | ||
* '''ambient''' - 3 wartości RGB z zakresu <0;1> | * '''ambient''' - 3 wartości RGB z zakresu <0;1> | ||
Linia 172: | Linia 172: | ||
=== origin === | === origin === | ||
Przesuwa obiekty o wektor. | Przesuwa obiekty o wektor. | ||
− | origin ''x y z'' | + | <span style="color:tomato;font-weight:bold">origin</span> ''x y z'' |
''wpisy'' | ''wpisy'' | ||
− | endorigin | + | <span style="color:tomato;font-weight:bold">endorigin</span> |
* '''x, y, z''' - współrzędne wektora przesunięcia w przestrzeni 3D. | * '''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. | * '''wpisy''' - wpisy definiujące np. modele, części scenerii, które zostaną przesunięte o podany wektor. | ||
Linia 180: | Linia 180: | ||
=== rotate === | === rotate === | ||
Obraca obiekty. | Obraca obiekty. | ||
− | rotate ''rx ry rz'' | + | <span style="color:tomato;font-weight:bold">rotate</span> ''rx ry rz'' |
''wpisy'' | ''wpisy'' | ||
− | rotate 0 0 0 | + | <span style="color:tomato;font-weight:bold">rotate</span> 0 0 0 |
* '''rx, ry, rz''' - rotacja w trzech osiach. | * '''rx, ry, rz''' - rotacja w trzech osiach. | ||
* '''wpisy''' - wpisy definiujące np. modele, części scenerii, które zostaną obrócone. | * '''wpisy''' - wpisy definiujące np. modele, części scenerii, które zostaną obrócone. | ||
Linia 188: | Linia 188: | ||
=== sky === | === sky === | ||
Definiuje model nieba w scenerii. | Definiuje model nieba w scenerii. | ||
− | sky ''model_nieba'' endsky | + | <span style="color:tomato;font-weight:bold">sky</span> ''model_nieba'' <span style="color:tomato;font-weight:bold">endsky</span> |
* '''model_nieba''' - ścieżka do pliku modelu nieba w formacie T3D, relatywna względem folderu ''models''. | * '''model_nieba''' - ścieżka do pliku modelu nieba w formacie T3D, relatywna względem folderu ''models''. | ||
=== test === | === 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. | 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 | + | <span style="color:tomato;font-weight:bold">test</span> |
''wpisy'' | ''wpisy'' | ||
− | endtest | + | <span style="color:tomato;font-weight:bold">endtest</span> |
* '''wpisy''' - dowolne rodzaje wpisów SCN do przetestowania. | * '''wpisy''' - dowolne rodzaje wpisów SCN do przetestowania. | ||
=== time === | === time === | ||
Ustawia czas rozpoczęcia symulacji oraz czas wschodu i zachodu słońca. | Ustawia czas rozpoczęcia symulacji oraz czas wschodu i zachodu słońca. | ||
− | time ''czas_na_starce czas_wschodu czas_zachodu'' endtime | + | <span style="color:tomato;font-weight:bold">time</span> ''czas_na_starce czas_wschodu czas_zachodu'' <span style="color:tomato;font-weight:bold">endtime</span> |
* '''czas_na_starcie''' - czas symulacji w momencie jej startu w formacie ''hh:mm'' | * '''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_wschodu''' - godzina wschodu słońca w formacie ''hh:mm'' | ||
Linia 207: | Linia 207: | ||
=== trainset === | === trainset === | ||
Definiuje skład jako zbiór obiektów '''[[Plik scenerii#dynamic|node::dynamic]]'''. | Definiuje skład jako zbiór obiektów '''[[Plik scenerii#dynamic|node::dynamic]]'''. | ||
− | trainset ''rozklad nazwa_toru odleglosc predkosc'' | + | <span style="color:tomato;font-weight:bold">trainset</span> ''rozklad nazwa_toru odleglosc predkosc'' |
''wpisy_dynamic'' | ''wpisy_dynamic'' | ||
− | endtrainset | + | <span style="color:tomato;font-weight:bold">endtrainset</span> |
* '''rozklad''' - ścieżka do pliku z rozkładem, relatywna względem folderu ''scenery''. | * '''rozklad''' - ścieżka do pliku z rozkładem, relatywna względem folderu ''scenery''. | ||
* '''nazwa_toru''' - nazwa obiektu '''[[Plik scenerii#track|node::track]]''' na którym ma stanąć skład. | * '''nazwa_toru''' - nazwa obiektu '''[[Plik scenerii#track|node::track]]''' na którym ma stanąć skład. |
Wersja z 10:00, 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
Spis treści
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ą.
node
Definiuje obiekty różnych typów. Każdy wpis node zaczyna się od preambuły:
node 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.
node - 1 0 none dynamic folder tekstura fizyka tor odleglosc obsada predkosc sprzeg ilosc_ladunku ladunek destination miejsce_docelowe enddynamic
- 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 z katalogu folder (bez rozszerzenia). Określa jaki model pojazdu zostanie użyty (np. 303E).
- tor - tylko jeśli wpis nie jest częścią trainset. Należy wpisać nazwę obiektu node::track, na którym ma stanąć pojazd.
- odleglosc - tylko jeśli wpis nie jest częścią trainset. Należy podać odległość pojazdu od punktu 1 obiektu 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 - tylko jeśli wpis nie jest częścią trainset. Określa prędkość początkową pojazdu [km/h].
- sprzęg - tylko jeśli wpis JEST częścią trainset. Określa flagę sprzęgu łączącego z następnikiem.
- ilosc_ladunku - ilość ładunku w pojeździe. [jednostka zależna od wpisu w pliku charakterystyki]
- ladunek - tylko jeśli ilosc_ladunku > 0. 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ę.
node -1 0 none lines kolor grubosc px py pz kx ky kz ... endlines
- 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ą.
node -1 0 none line_strip kolor grubosc x y z ... endlines
- 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ą.
node -1 0 none line_loop kolor grubosc x y z ... endlines
- 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 t3d.
node -1 0 none model x y z rz plik_modelu tekstura_wymienna lights stany_swiatel endmodel
- x, y, z - współrzędne modelu w przestrzeni 3D.
- rz - rotacja w osi Z.
- plik_modelu - ścieżka do modelu w formacie 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 sieci trakcyjnej.
tractionpowersource
Definiuje źródło zasilania sieci trakcyjnej.
triangles
Definiuje trójkąt terenu.
triangle_strip
Definiuje siatkę trójkątów.
triangle_fan
Definiuje siatkę trójkątów.
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
- opcja - jedna z opcji eu07.ini.
- wartosc - wartość dla opcji.
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
...
- wpisy_trainset - dowolna ilość wpisów 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.