Autor Wątek:  Dziury w trasach - anty null track.  (Przeczytany 13180 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Ra

  • Deweloper
  • Wiadomości: 6114
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 26
Dziury w trasach - anty null track.
« dnia: 02 Kwietnia 2008, 01:32:17 »
Końce torów (tzw. null track) bywają niebezpieczne. Wystarczy, że coś tam wiedzie, a Symulator przestaje działać poprawnie. Kiedyś wpadłem na pomysł, że do końców torów można by doklejać niewidoczne odcinki w celu bezpiecznego zatrzymania pojazdu.

Mój program (od wersji 1.0.48) potrafi wygenerować listę końcówek torów (dróg, rzek), w postaci wpisów include w dodatkowym pliku. Plikiem tym można sobie doczepić dowolne rzeczy na końcach torów. W przykładowej wersji załączonej w archiwum z programem jest to duża czerwona tablica. Wersja 1.0.49 umożliwia dołączenie różnych plików w zależności od typu toru. W wersji 1.0.53 plik dla torów kolejowych zawiera dodatkowo niewidoczny tor wykolejający.

Uruchamia się to w następujący sposób:
  • Na zakładce Wczytanie wybierz scenerię.
  • Na zakładce Struktura przyciśnij Wczytaj wszystkie include bez parametrów.
  • Na zakładce Debugger przyciśnij Generuj połączenia torów.
  • Następnie przyciśnij Generuj plik nullstop, gdy się uaktywni.

Powyższa procedura tworzy katalog scenery\nullstop, a w nim plik odpowiadający nazwie scenerii. Przykładowo plik może mieć następujące wpisy:
Cytat: scenery\nullstop\manewrowo1.inc
include;nullstop/track.inc;none;14.767;0.2;-767.177;-6;0;0;end
include;nullstop/road.inc;none;464.044;-8;-78.665;179;0;0;end
include;nullstop/road.inc;none;464.044;-8;-153.665;179;0;0;end
include;nullstop/road.inc;none;-8.499;0.35;82.614;89;0;0;end
include;nullstop/road.inc;none;25.151;0.35;-131.386;0;0;0;end
include;nullstop/track.inc;none;10.581;0.3;154.622;179;0;0;end
include;nullstop/track.inc;none;108.649;0.3;31.446;-134;0;0;end
include;nullstop/track.inc;none;108.649;0.3;113.446;-134;0;0;end
include;nullstop/track.inc;none;108.649;0.3;72.446;-134;0;0;end
include;nullstop/track.inc;none;-382.212;0.3;69.037;89;0;0;end
include;nullstop/track.inc;none;-382.357;0.3;65.188;89;0;0;end
include;nullstop/track.inc;none;310.581;0.2;-1047.38;-80;0;0;end

Jak widać dołączany jest plik scenery\nullstop\track.inc albo scenery\nullstop\road.inc. Kolejny parametr (p1) chwilowo nie jest używany. Trzy dalsze liczby (p2)(p3)(p4) to współrzędne końca toru (dla origin). Kolejna liczba to kąt obrótu względem osi pionowej (p5). Liczby (p6) i (p7) są generowane jako zerowe i nie są wykorzystane.

Tak utworzony plik będzie automatycznie dołączany do tymczasowego pliku scenerii (scenery/$.scn). Należy pamiętać o skasowaniu go, gdy przestanie być potrzebny.

Narzędzie to może być również przydatne dla twórców tras, w celu sprawdzenia czy trasa nie ma dziur albo podwójnych torów - takie miejsca zostaną wtedy wyraźnie oznaczone. Aktualnie dopuszczalna odległość (niedopasowanie) między torami jest ustawione na 1.5mm. Jeśli więc tablica pojawi się na środku toru, oznacza to, że przerwa między odcinkami torów jest zbyt duża. Jeśli ktoś chce zabezpieczyć swoją trasę w ten sposób, proszę przenieść wygenerowany plik do innego katalogu niż scenery\nullstop i odpowiednio zmodyfikować dołączany fragment - zamienić ścieżkę pliku nullstop/track.inc na ścieżkę do własnego z odpowiednią zawartością (np. niewidoczny tor wykolejający). Usunąć również trzeba wpisy generujące się na końcach peronu wstawionego jako road.

2008-04-03 (1.0.49) Zmiana opisu w związku z podziałem dołączanych plików według typu.
2008-04-27 (1.0.53) Zmiana w kątach: (p5) kątem obrotu w osi pionowej, (p6) i (p7) zerowe i nie używane.
« Ostatnia zmiana: 27 Kwietnia 2008, 17:25:05 wysłana przez Ra »

Offline MKdudu

  • Wiadomości: 351
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Dziury w trasach - anty null track.
« Odpowiedź #1 dnia: 02 Kwietnia 2008, 14:58:35 »
Witam
Dało by radę na koniec torów wstawić kozła oporowego ? zamiast tej tabliczki ?

Offline Ra

  • Deweloper
  • Wiadomości: 6114
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 26
Odp: Dziury w trasach - anty null track.
« Odpowiedź #2 dnia: 02 Kwietnia 2008, 15:44:06 »
Owszem. Generowany plik może dołączyć dowolną konstrukcję, może to być tablica, jak w załączonym pliku, może to być sygnalizator z S1, może to być niewidoczny tor albo kozioł oporowy.

Musisz zdefiniować kozioł oporowy w jakimś pliku .inc, poza katalogiem scenery\nullstop i następnie odpowiednio zmienić wygenerowany plik, również przenieść go do innego katalogu. W ten sposób możesz sobie wygenerować kozły oporowe na scenerii. Ewentualnie trzeba by zmodyfikować parametry, pozostawiając tylko współrzędne oraz kąt obrotu.

Jednak kozioł oporowy raczej nie zatrzyma pojazdu, który na niego wjedzie (EU07 rozpędzona do prędkości 160km/h wjechała po pionowym torze na wysokość 100m). Sam mechanizm tworzenia pliku jako taki (bez edycji wygenerowanego pliku) nie nadaje się na generator kozłów oporowych, ponieważ kozły te by się pojawiały na końcach peronów oraz w długości toru, jeśli błąd pasowania między odcinkami byłby większy niż 1.5mm (zdarza się). Również pojawiłyby się na końcach istniejących już kozłów oporowych.

Offline RooteK

  • Wiadomości: 1214
    • Zobacz profil
    • Nieoficjalna strona węzła kolejowego Jaworzno.
  • Otrzymane polubienia: 9
Odp: Dziury w trasach - anty null track.
« Odpowiedź #3 dnia: 02 Kwietnia 2008, 15:48:51 »
A można i kozioł i tor niewidzialny by uzyskac coś takiego jak na Quarku??

Offline Żabek

  • Wiadomości: 546
  • Gdzie jest guzik rezygnacji?
    • Zobacz profil
  • Otrzymane polubienia: 2
Odp: Dziury w trasach - anty null track.
« Odpowiedź #4 dnia: 02 Kwietnia 2008, 16:59:57 »
A można i kozioł i tor niewidzialny by uzyskac coś takiego jak na Quarku??
No przeciez jest napisane ze moze to byc cokolwiek, co wpiszedz do pliku .inc. Moze to  byc nie wiem, krowa, grzyb, semafor, drzewo, grzybiarz i siodemka za krzakiem schowana. Co chesz.
The Frog

Offline Ra

  • Deweloper
  • Wiadomości: 6114
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 26
Odp: Dziury w trasach - anty null track.
« Odpowiedź #5 dnia: 27 Kwietnia 2008, 17:54:05 »
Próbowałem dodać do scenerii tory wykolejające w opisany wyżej sposób. Okazało się, że tory nie podlegają poleceniu rotate - nie da ich się w ten sposób obrócić. Niemniej jednak nawet jeśli są ułożone w jednym kierunku, potrafią zatrzymać pociąg. (Nie badałem jak duży.)

Do wersji 1.0.53 dołączyłem plik scenery\nullstop\track.inc zawierający niewidzialny tor o długości 400m. Zawiera też czerwoną tablicę. Proszę nie edytować plików:
scenery\nullstop\track.inc,
scenery\nullstop\road.inc,
scenery\nullstop\river.inc,
ponieważ w kolejnych wersjach mogą one być nadpisane przez nowsze pliki podczas instalacji.

Zastanawiam się nad tym, czy zrobić generator toru, skoro nie da się go obrócić o kąt. Taki wygenerowany tor miałby odpowiednio wyliczone współrzędne. Ale komplikuje się to, gdyż należałoby z góry założyć jakieś parametry, albo umożliwić ich podanie.


Również w wersji 1.0.53 jest możliwość ustawienia tolerancji przy łączeniu torów. Tolerancja jest podawana w [0.1mm], czyli domyślna wartość 15 oznacza 1.5mm. Im większa jest tolerancja, tym mniej dziur w długości torów zostanie wskazanych. Przy zbyt dużej tolerancji bardzo krótkie odcinki torów mogą zostać połączone odwrotnie. Dlatego zalecane jest wykonanie łączenia torów najpierw dla wartości 15, a potem powtórzenie dla większych wartości (np. 500 = 5cm). Wartość tolerancja powinna zależeć od celu łączenia torów. Dla wyszukiwania dziur w długości torów podczas tworzenia scenerii, powinna być niewielka (10-15). Natomiast powinna być duża (>500) dla wygenerowania np. kozłów oporowych tylko na końcach torów.
« Ostatnia zmiana: 19 Września 2008, 01:19:22 wysłana przez Ra »

Offline uetam

  • Zasłużony dla Symulatora
  • Wiadomości: 2639
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Dziury w trasach - anty null track.
« Odpowiedź #6 dnia: 27 Kwietnia 2008, 18:27:59 »
Może nie wniose nic nowego do tematu, ale jest to swietne i dobrze dzialajace narzedzie :D