Symulator/MaSzyna/Animacje modeli

Z Rainsted
Skocz do: nawigacji, wyszukiwania

Ruch po trajektoriach

Ruch po trajektoriach jest podstawowym elementem symulacji. W zależności od typu ma różne parametry, które wpływają na ruch pojazdów. Aby model się poruszał w ten sposób, musi znajdować się w folderze dynamic i mieć określoną fizykę ruchu. Trajektoria jest zbudowana z odcinków, których końce pokrywają się parami. Odcinki mogą być fragmentami prostej albo funkcji trzeciego stopnia (krzywa Béziera). Z przyczyn technicznych długość odcinka nie powinna przekraczać 500m.

Tor kolejowy

Pojazdy poruszają po środku toru, na wysokości główki szyny i nie mogą się wymijać. Obsługiwane są przechyłki (pochylenie poprzeczne). Maksymalne nachylenie pionowe to 90° (nie jest możliwe układanie toru szynami w dół). Rozstaw szyn może być dowolny, ale podczas jazdy sprawdzana jest zgodność rozstawu z pojazdem i w razie niezgodności następuje wykolejenie. Wykolejenie może również mieć miejsce jeśli pojazd porusza zbyt szybko po łuku i siła bezwładności powoduje przewrócenie pojazdu na zewnątrz łuku.

Zmiana trajektorii ruchu może być wykonana za pomocą zwrotnicy, w której z jednego punktu wychodzą dwa odcinki. Jeden z nich jest odcinkiem aktywnym. Do zwrotnicy mogą być przyłączone trzy inne odcinki.

Innym obiektem zmieniającym trajektorię ruchu pojazdów jest obrotnica. Jest to odcinek prosty sprzężony z modelem wstawianym punktowo. Obrotnica przechodząc w stan statyczny wyszukuje sąsiednie odcinki i łączy się z nimi (maksymalnie dwa, po jednym z każdej strony). Przed wykonaniem ruchu odcinki zewnętrzne są odłączane.

Drogi

Pojazdy drogowe mogą się poruszać po całej szerokości drogi. Jeśli droga jest węższa niż szerokość pojazdu (dla samochodów 3.5m), będzie on jechać środkiem bez możliwości wyminięcia. Jeśli droga będzie szersza, pojazd będzie jechać po prawej stronie, w 1/4 szerokości. Dla drogi szerszej niż 6m, będzie jechać swoim środkiem w odległości 1.5m od osi drogi. Pojazd stojący ustawiany jest zewnętrznym kołem na skraju pobocza. Obsługiwane są przechyłki, aczkolwiek pobocza rysowane są jako poziome.

Nie ma możliwości zmiany trajektorii (rozgałęzienia). Każdy odcinek może być połączony na stałe tylko z dwoma innymi odcinkami, po jednym na każdym końcu. Skrzyżowania dróg są w planach (zarówno rysowanie modelu jak i ruch pojazdów).

Rzeki

Najmniej rozwinięty typ trajektorii. Nie są obsługiwane przechyłki, nie ma możliwości rozgałęzienia.

Animacje eventowe

Animacje te mogą być stosowane niezależnie od siebie na różnych fragmentach modelu (submodelach). Aby submodel był animowany w odpowiednim kierunku, musi mieć ustawiony własny układ współrzędnych. Aby ten układ nie został automatycznie zmieniony, wskazane jest umieszczenie własności Anim: true w nagłówku submodelu. Animacje te nie powinny być stosowane do submodeli z animacjami automatycznymi, ponieważ zepsują (wyłączą) automatyczną animację wszystkich egzemplarzy.

Rotate - obrót

Pierwotnie tylko ta animacja była dostępna. Używana do obracania ramion semaforów, podnoszenia i opuszczania zapór, obracania modelu obrotnicy, otwierania drzwi lokomotywowni itp.

Translate - przesuw

Animacja dodana niedawno, umożliwia przesuwanie fragmentu modelu. Może być używana do przesuwania bram, podnoszenia mostów, poruszania wind.

Zapalanie świateł

Możliwe jest włączanie i wyłączanie submodeli o specjalnych nazwach. Stan włączenia dotyczy również wszystkich potomnych submodeli. Specjalne nazwy submodeli to lighton_00 do lighton_07. Gdy dany submodel jest wyłączony, odpowiedni submodel o nazwie lightoff_00 do lightoff_07 będzie widoczny. Nie jest wymagane aby te submodele istniały parami (tak było we wcześniejszych wersjach). Maksymalnie będzie działało 8 świateł na model, pozostałe zostaną zignorowane (oba submodele będą widoczne). Jeśli światło ma być widoczne z daleka, należy do przełączanego submodelu doczepić punkt świecący tzw. FreeSpotLight. Punkt ten powinien znikać w odległości około 20m, inaczej piksel o innym odcieniu będzie się wyróżniał.

Można określić stan włączenia w momencie wstawiania modelu, umieszczając we wpisie słowo lights zamiast endmodel, a następnie wypisując stany kolejnych świateł.

  • 0 - widoczny submodel lightoff_0* (światło zgaszone)
  • 1 - widoczny submodel lighton_0* (światło zapalone)
  • 2 - oba submodele będą włączane naprzemiennie (światło migające)
  • 3 - aktywny submodel zależy od jasności światła; jeśli jest widno (nie widać smugi z kabiny), pokaże się lightoff_0*, a gdy światło osłabnie do poziomu włączenia smugi, zostanie zastąpiony przez lighton_0*

Powyższy stan można zmieniać w trakcie symulacji eventem lights, również z listą stanów dla kolejnych świateł. Jeśli stan któregoś światła ma pozostać niezmieniony, należy użyć liczby mniejszej od zera (-1).

Fazy widoczności (LoD)

Dla każdego submodelu można określić zakres jego widoczności w metrach, tzn. odległość od której i do której jest widoczny. Aby model o dużej ilości trójkątów był wyświetlany optymalnie, należy utworzyć submodele uproszczone, które będą zastępować model szczegółowy w pewnym oddaleniu. Kolejna faza szczegółowości powinna mieć około 100 razy mniej trójkątów, ewentualnie znacznie mniej submodeli potomnych.

Animacje automatyczne

W 2011 roku zostały wprowadzone animacje automatyczne. Dotyczą one wszystkich egzemplarzy modelu. Animację ustawia się wpisując odpowiednie słowo we własności Anim: submodelu. Animacje te zostały pierwotnie wprowadzone w celu uruchomienia zegarów dworcowych.

  • seconds_jump — sekundy z przeskokiem co 6°
  • minutes_jump — minuty z przeskokiem co 6°
  • hours_jump — godziny z przeskokiem co 30°
  • hours24_jump — godziny z przeskokiem co 15°
  • seconds — sekundy płynnie (60s/360°, pełny obrót w minutę)
  • minutes — minuty płynnie (1h/360°, pełny obrót w godzinę)
  • hours — godziny płynnie (12h/360°)
  • hours24 — godziny płynnie (24h/360°)
  • billboard — obracanie w kierunku kamery
  • sky — animacja dla nocnego nieba