Zakładka Skrzyżowania (Crossing Editor)¶
Zakładka Skrzyżowania (dostępna pod ikoną sygnalizatora świetlnego w bocznym panelu narzędziowym) służy do konwersji splinów drogowych w pełnoprawne obiekty skrzyżowań OMSI (z punktem kotwiczenia w postaci sześcianu AI Cube), precyzyjnej edycji wewnętrznych ścieżek ruchu pojazdów i pieszych, konfiguracji kierunkowskazów oraz programowania i testowania faz sygnalizacji świetlnej na interaktywnej osi czasu (Traffic Lights Timeline).

1. Tworzenie skrzyżowania ze splinów (SELECT SPLINES TO CREATE CROSSING)¶
Narzędzie pozwala przekształcić dowolny układ połączonych splinów w dedykowany obiekt skrzyżowania OMSI.
Procedura tworzenia krok po kroku:¶
- Kliknij przycisk SELECT SPLINES TO CREATE CROSSING w górnej części panelu:

- Etykieta przycisku zmieni się na CREATE CROSSING FROM SELECTION:

- Zaznacz wszystkie spliny wchodzące w skład skrzyżowania:
- Kliknij LPM na pojedynczy splin, aby go zaznaczyć (zostanie podświetlony na zielono).
- Przytrzymaj LPM i przeciągnij prostokąt zaznaczenia (ramkę), aby objąć wiele odcinków jednocześnie.
- Przytrzymaj Shift, aby dodawać kolejne spliny do zaznaczenia.
- Przytrzymaj Ctrl, aby usuwać spliny z zaznaczenia.

- Kliknij przycisk CREATE CROSSING FROM SELECTION.
- Edytor automatycznie wykonuje następujące operacje:
- Usuwa zaznaczone odcinki splinów ze sceny.
- Konwertuje przebieg ścieżek (
[path]) ze splinów na lokalne ścieżki nowego obiektu. - Tworzy strukturę folderów w katalogu
SceneryObjects/nEditorGenerated/<nazwa_mapy>/<ID_obiektu>/wraz z plikami modelu (model.x), tekstury i definicji obiektu (.sco). - Wstawia na scenę nowo wygenerowany obiekt skrzyżowania z punktem manipulacyjnym w postaci czerwonego sześcianu AI Cube:

2. Edycja skrzyżowania i strefa robocza (EDIT SELECTED CROSSING)¶
Aby wejść w tryb szczegółowej edycji geometrii ścieżek skrzyżowania:
- Zaznacz kliknięciem LPM obiekt skrzyżowania (lub jego sześcian bazowy) na scenie (podświetli się na żółto).
- Kliknij aktywny przycisk EDIT SELECTED CROSSING w panelu bocznym:

- Wokół skrzyżowania pojawi się żółty okrąg wyznaczający promień strefy roboczej (Workspace Boundary):

Węzły dynamiczne a węzły statyczne:¶
W obszarze roboczym edytor wyświetla dwa rodzaje punktów kontrolnych:
- Węzły dynamiczne (Dynamic Nodes): Jasne, półprzezroczyste sfery umieszczone na początkach i końcach wewnętrznych ścieżek skrzyżowania. Węzły te podlegają pełnej edycji pozycji, wysokości, kąta oraz podziału.

- Węzły statyczne (Static Snap Nodes): Ciemne punkty wyświetlane na krawędziach zewnętrznych splinów dochodzących do strefy skrzyżowania. Służą jako punkty odniesienia – przeciągane węzły dynamiczne automatycznie przyciągają się do nich (Snapping), gwarantując ciągłość ruchu pojazdów. Można je również zaznaczać (podświetlają się na niebiesko po najechaniu i na czerwono po kliknięciu), aby używać ich jako początku lub końca w narzędziu COMPLETE TO; nie podlegają one jednak swobodnemu przesuwaniu.

3. Manipulacja węzłami i tworzenie ścieżek ruchu¶
A. Przesuwanie węzłów w poziomie (klawisz G)¶
- Kliknij LPM na węzeł dynamiczny (zostanie zaznaczony na czerwono).
- Naciśnij klawisz G.
- Przesuń kursor myszy w wybrane miejsce. Węzeł przemieszcza się po płaszczyźnie poziomej, a podpięty odcinek ścieżki dopasowuje swoją geometrię.
- Zbliżenie węzła do innego węzła dynamicznego lub statycznego powoduje automatyczne przyciągnięcie (Snapping).
- Kliknij LPM lub wciśnij Enter, aby zatwierdzić nowe położenie. Naciśnięcie Esc anuluje operację.
B. Blokada kierunku i wyrównanie stycznej (klawisz Alt)¶
- Blokada kąta podczas przesuwania: W trakcie przesuwania węzła klawiszem G wciśnięcie klawisza Alt włącza blokadę osi stycznej. Węzeł przesuwa się wyłącznie wzdłuż dotychczasowej linii kierunkowej, zapobiegając załamaniu kąta na połączeniu.
- Wyrównanie do poprzednika: Przy zaznaczonym węźle w spoczynku naciśnięcie Alt automatycznie przelicza kąt kierunkowy (
Heading) ścieżki, dopasowując go stycznie do poprzedzającego odcinka.
C. Regulacja wysokości w pionie (klawisz Z)¶
- Zaznacz węzeł dynamiczny i naciśnij klawisz Z.
- Poruszaj kursorem myszy w górę lub w dół, aby modyfikować wysokość węzła.
- Przytrzymanie klawisza Ctrl załącza skokowe przyciąganie wysokości z krokiem co 0.1 m.
- Kliknij LPM lub naciśnij Enter, aby zatwierdzić.
D. Tworzenie nowej ścieżki (klawisz N)¶
- Zaznacz skrajny węzeł istniejącej ścieżki i naciśnij klawisz N:
(Jeśli żaden węzeł nie jest zaznaczony, naciśnięcie N i kliknięcie LPM na terenie wyznacza punkt początkowy nowej ścieżki). - Podczas wyciągania odcinka naciśnij klawisz R (lub przełącz opcję w panelu górnym), aby zmienić typ geometrii:
- STRAIGHT – odcinek prostoliniowy.
- CURVE – łuk o promieniu wyliczanym dynamicznie z położenia kursora myszy:

- Kliknij LPM, aby postawić węzeł końcowy nowo utworzonej ścieżki.
E. Automatyczne łączenie węzłów (COMPLETE TO)¶
Narzędzie COMPLETE TO automatycznie generuje segment łączący dwa wskazane węzły (zarówno węzły dynamiczne skrzyżowania, jak i sztywne/statyczne węzły zewnętrznych splinów) z zachowaniem styczności kierunkowej i gładkiego profilu pionowego (Cubic Hermite):
- Zaznacz węzeł początkowy kliknięciem LPM.
- Przytrzymaj klawisz Shift i kliknij LPM drugi węzeł (docelowy):

- Kliknij przycisk COMPLETE TO w panelu bocznym.
- Edytor wyliczy geometrię i wygeneruje nowy odcinek ścieżki wypełniający lukę:

F. Rozczepianie węzłów (SPLIT NODE) i usuwanie ścieżki (DELETE PATH)¶
- SPLIT NODE: Gdy w jednym punkcie krzyżuje się lub łączy kilka ścieżek, kliknięcie węzła i wybranie przycisku SPLIT NODE odsuwa połączone węzły od siebie o 0.5 m wzdłuż ich osi, co umożliwia swobodną edycję pojedynczego odgałęzienia bez wpływu na pozostałe.
- DELETE PATH / klawisz Del: Usuwa aktualnie zaznaczoną ścieżkę wraz z jej węzłami ze skrzyżowania.
4. Parametry ścieżki ruchu AI (Inspektor właściwości)¶
Po zaznaczeniu ścieżki lub węzła w panelu bocznym wyświetlane są jej szczegółowe parametry:

| Parametr | Typ / Jednostka | Opis działania |
|---|---|---|
| X / Y / Z | Metry | Położenie punktu początkowego ścieżki w lokalnym układzie współrzędnych obiektu. |
| INDEX | Liczba całkowita | Numer identyfikacyjny ścieżki w obiekcie skrzyżowania. |
| LENGTH | Metry | Długość ścieżki. |
| HEADING | Stopnie (0.0° - 360.0°) |
Kąt zwrotu (azymut) początku ścieżki. |
| RAD | Metry | Promień łuku (0.000 oznacza prostą). |
| WIDTH | Metry | Szerokość korytarza ruchu (domyślnie 3.000 m dla pasów jezdni). |
| GRAD | Procenty / promile | Gradient początkowy i końcowy (pochylenie podłużne). |
| TYPE | Lista rozwijana | Typ dopuszczonego ruchu: Street (pojazdy drogowe), Sidewalk (ruch pieszy), Railroad (tramwaje i kolej). |
| DIRECTION | Lista rozwijana | Dopuszczalny kierunek poruszania się AI: Forward, Reverse, Both (dwukierunkowy). |
| BLINKER | Lista rozwijana | Sygnalizacja skrętu przez pojazdy AI: No, Straight, Left, Right. |
| TRAFFIC LIGHT | Lista rozwijana | Grupa sygnalizacji świetlnej przypisana do danej ścieżki (np. None, Road_1, Road_2, Road_1_PED). |
Konfiguracja kierunkowskazów (BLINKER):¶
Ustawienie parametru BLINKER na ścieżkach manewrowych wymusza na pojazdach AI włączenie odpowiedniego kierunkowskazu przy wjeździe na dany pas:

5. Sygnalizacja świetlna i oś czasu (TRAFFIC LIGHTS TIMELINE)¶
Skrzyżowania w nEditorze posiadają zintegrowany edytor programowania cykli sygnalizacji świetlnej z podglądem animacji na żywo w oknie 3D.
Widok skrzyżowania przed konfiguracją sygnalizacji:

A. Okno edycji osi czasu (CROSSING EDITOR TIMELINE)¶
Kliknięcie przycisku EDIT TRAFFIC LIGHTS TIMELINE otwiera modalne okno konfiguracji grup i faz sygnalizatorów:

W oknie edytora definiuje się grupy sygnalizatorów (np. Road_1, Road_2, Road_1_PED) oraz poszczególne fazy czasowe:
- STATE: Wybór stanu świateł według standardu silnika OMSI:
0..2: Red– światło czerwone.3..5: Yellow (Red -> Green)– światło czerwono-żółte (przygotowanie do startu).6..8: Green– światło zielone.9..11: Yellow (Green -> Red)– światło żółte (ostrzegawcze przed zatrzymaniem).12: Off– wyłączony / migający.- PERIOD (SECONDS): Czas trwania danej fazy w sekundach.
- + CREATE NEW PHASE: Dodaje kolejną fazę czasową do wybranej grupy.
- Ikona kosza (Czerwona): Usuwa wybraną fazę lub całą grupę świateł.
- SCALE: Suwak skali poziomej osi czasu.
B. Korzystanie z gotowych presetów sygnalizacji¶
Zamiast ręcznie konfigurować każdy interwał, można skorzystać z biblioteki szablonów lub zapisać własny program:
- W sekcji TIMELINE PRESETS rozwiń listę dostępnych schematów (np.
2-roads basic intersection,3-roads basic intersection,4-roads basic intersection):
- Kliknij przycisk LOAD PRESET.
- Na osi czasu pojawią się gotowe, zsynchronizowane grupy ze zdefiniowanymi czasami i kolorami:

- Aby zachować własny układ, wpisz nazwę w polu PRESET NAME i kliknij SAVE PRESET.
C. Podgląd na żywo i testowanie cyklu (Timeline Bottom Bar)¶
Na dole ekranu znajduje się pływający pasek podglądu osi czasu:

- Przycisk Play (
▶): Rozpoczyna odtwarzanie cyklu w pętli. - Przycisk Stop (
■): Zatrzymuje animację i resetuje licznik czasu do0.0s. - Licznik czasu: Pokazuje aktualny czas cyklu w sekundach.
- Interaktywny podgląd 3D: W trakcie trwania animacji czerwona linia znacznika czasu przesuwa się po pasmach grup, a odpowiadające im ścieżki w oknie 3D na bieżąco zmieniają kolor:
- Ścieżki z zezwoleniem na jazdę (zielone światło) podświetlają się na zielono.
- Ścieżki z zakazem wjazdu (czerwone światło) podświetlają się na czerwono / pomarańczowo.

D. Przypisywanie grupy świateł do ścieżki¶
Aby pojazdy AI stosowały się do sygnalizacji:
- Zaznacz ścieżkę w strefie skrzyżowania.
- Z listy rozwijanej TRAFFIC LIGHT wybierz zdefiniowaną wcześniej grupę (np.
Road_1lubRoad_2):
6. Podłączanie fizycznych sygnalizatorów w zakładce Obiektów¶
Po zaprogramowaniu logiki świateł w skrzyżowaniu, należy powiązać z nim fizyczne obiekty sygnalizatorów scenerii:
- Przejdź do zakładki Obiekty scenerii i wstaw model sygnalizatora (np.
S-1 Sygnalizator ogolny) przy krawędzi jezdni:
- Kliknij przycisk PARENT TO w panelu obiektu:

- Kliknij na scenie w sześcian
AI Cubeskrzyżowania (lub wpisz jego numer identyfikacyjny w pole obok, np.190). - Pod blokiem
DETAILSpojawi się lista rozwijana TRAFFIC LIGHT, zawierająca wszystkie grupy utworzone w danym skrzyżowaniu (Road 1,Road 2,Road 1 PED, itp.):
- Wybierz odpowiednią grupę. Sygnalizator jest od tej pory zsynchronizowany ze skrzyżowaniem.
7. Zapisywanie zmian (SAVE CROSSING TO OMSI)¶
Po zakończeniu modelowania geometrii i konfiguracji sygnalizacji:

- SAVE CROSSING TO OMSI: Zapisuje zmodyfikowane ścieżki, wysokości, kierunkowskazy i program sygnalizacji do pliku definicji obiektu
.scow strukturze mapy oraz do bazy danych edytora. - FINISH EDITING: Zamyka tryb edycji skrzyżowania, usuwa znaczniki węzłów ze sceny i powraca do trybu podglądu.
8. Zestawienie skrótów klawiszowych¶
| Skrót klawiszowy | Kontekst | Działanie |
|---|---|---|
| N | Zaznaczony węzeł skrzyżowania | Rozpoczyna wyciąganie nowej ścieżki z wybranego węzła. |
| N | Brak zaznaczonego węzła | Rozpoczyna tworzenie nowej ścieżki od klikniętego punktu w strefie skrzyżowania. |
| R | W trakcie tworzenia ścieżki | Przełącza geometrię budowanego odcinka pomiędzy prostą (STRAIGHT) a łukiem (CURVE). |
| G | Zaznaczony węzeł dynamiczny | Rozpoczyna przesuwanie węzła po płaszczyźnie poziomej z automatycznym przyciąganiem (Snapping). |
| Alt | W trakcie przesuwania (G) | Blokuje ruch węzła wzdłuż pierwotnej osi stycznej (zapobiega załamaniu kierunku). |
| Alt | Zaznaczony węzeł (spoczynek) | Wyrównuje azymut ścieżki stycznie do ścieżki poprzedzającej. |
| Z | Zaznaczony węzeł dynamiczny | Uruchamia zmianę wysokości węzła w pionie za pomocą myszy. |
| Ctrl | Podczas zmiany wysokości (Z) | Włącza skokowe przyciąganie wysokości z krokiem co 0.1 m. |
| Shift + LPM | Dwa zaznaczone węzły | Zaznacza węzeł początkowy i końcowy do wykonania operacji COMPLETE TO. |
| Shift + LPM / Ramka | Tryb wyboru splinów | Dodaje spliny do zbioru zaznaczenia przed utworzeniem skrzyżowania. |
| Ctrl + LPM / Ramka | Tryb wyboru splinów | Usuwa spliny ze zbioru zaznaczenia. |
| Del | Zaznaczona ścieżka | Usuwa wskazaną ścieżkę ze skrzyżowania. |
| LPM / Enter | W trakcie transformacji | Zatwierdza wprowadzone przesunięcie lub nową pozycję węzła. |
| PPM / Esc | W trakcie transformacji | Anuluje operację przesuwania / tworzenia i przywraca poprzedni stan. |