Witaj na Forum! Zapraszamy do rejestracji lub zalogowania. Stwórz konto  


[OMSI 1 & 2]  paths.cfg - ścieżki wewnątrz pojazdu i nie tylko

#1
(Ten post był ostatnio modyfikowany: 22.02.2015, 13:46 przez skawek.)

Czas na kolejny poradnik dotyczący tym razem plików paths.cfg
Treść dostępna jest wyłącznie dla zarejestrowanych i zalogowanych.

Za co odpowiedzialny jest ten plik? Przede wszystkim za ścieżki poruszania się pasażerów wewnątrz pojazdu, ale nie tylko. Objaśnie pokrótce wszystkie słowa kluczowe, które możemy tam umieszczać oraz dane niezbędne do ich zdefiniowania.

[stepsoundpack]
To słowo kluczowe definiuje pliki dźwiękowe odtwarzane jako dźwięki kroków po pokładzie naszego pojazdu w trakcie rozgrywki.

Struktura tego wpisy wygląda następująco:
Kod:
[stepsoundpack]
5
Step_01.wav
Step_02.wav
Step_03.wav
Step_04.wav
Step_05.wav
Pierwsza linijka to oczywiście słowo kluczowe, cyfra poniżej to liczba wpisów z nim powiązanych, czyli na chłopski rozum - liczba plików dźwiękowych. Następnie wymienione są nazwy plików tych plików. Pamiętajmy, że muszą być w formacie .wav i znajdować się w podfolderze \Sounds\Passengers głównego katalogu gry (a nie katalogu pojazdu).
Naturalnie, możemy definiować kilka takich paczek, na przykładzie standardowych MAN-ów wygląda to następująco:
Kod:
0 - Normal:
[stepsoundpack]
5
Step_01.wav
Step_02.wav
Step_03.wav
Step_04.wav
Step_05.wav

1 - Vorne oben:
[stepsoundpack]
3
Step_OV_01.wav
Step_OV_02.wav
Step_OV_03.wav

2 - Treppe:
[stepsoundpack]
6
Step_St_01.wav
Step_St_02.wav
Step_St_03.wav
Step_St_04.wav
Step_St_05.wav
Step_St_06.wav
A więc mamy tutaj trzy deklaracje paczek dźwiękowych - kroki "normalne", te na górnym pokładzie, oraz odtwarzane podczas używania schodów. Jak przypisać je do poszczególnych ścieżek? Zajmiemy się tym deczko później. Na razie zapamiętajmy, że ich numeracja zaczyna się od zera. Czyli indeks 0, odpowiada za kroki "normalne", 1 za górny pokład a 2 za schody. Oprócz tego trzeba nadmienić, że deklaracje paczek dźwiękowych powinny być na samym początku pliku paths.cfg


[pathpnt]
Te wpisy odpowiadają za deklarację punktów ścieżek pasażerów (czyli punktów, przez które będą oni przechodzić przemieszczając się w pojeździe).

Aby dokładnie ustalić te punkty, musimy mieć przede wszystkim model 3D danego pojazdu, dzięki czemu punkty możemy ustalić co do centymetra.

Sam wpis wygląda na przykład tak:
Kod:
[pathpnt]
1.25
5.018
0.46
Poruszamy się w trójwymiarowym układzie współrzędnych. Pierwsza wartość oznacza współrzędną po osi X, druga - po osi Y, trzecia natomiast po osi Z.
Zwyczajowo przyjęło się, że osie ustalane są w sposób następujący:
   

Każdy taki wpis warto poprzedzić cyfrą (licząc od zera), dzięki czemu późniejsze ich połączenie ich jest bajecznie proste, chodzi mi dokładnie o taką strukturę:
Kod:
0
[pathpnt]
1.25
5.018
0.46

1
[pathpnt]
0.551
5.018
0.57

2
[pathpnt]
0.223
4.608
0.57
itd...

Aby uzyskać współrzędne, należy otworzyć model w programie 3D i w zależności od tegoż - odpowiednio je "pobrać". Jeśli chodzi o Blendera - najprostszym sposobem jest chyba "rozebranie" pojazdu z karoserii i innych elementów, które będą przeszkadzać - zostawiając jedynie podłogę oraz ewentualnie inne miejsca, po których poruszać się będą pasażerowie. Następnie tworzymy sobie mały sześcianik, klikamy na niego prawym klawiszem myszy, wciskamy TAB i N, w pasku, który się nam pojawi wciskamy "Global", dzięki czemu uzyskamy punkty w odniesieniu do głównego układu współrzędnych pojazdu. Teraz wystarczy przesuwać sześcianik po miejscach, po których ludzie będą się poruszać spisywać dane i po kolei tworzyć pathpointy w pliku. Punkty, które powinniśmy brać pod uwagę, to punkty dokładnie w środku utworzonego sześcianu (więc trzeba go odpowiednio wyrównywać).

Praktyka pokazuje, że współrzędne nie muszą być super precyzyjne, chyba, że jesteśmy perfekcjonistami. Wkrótce dołączę tutaj screeny z Blendera dla "mniej kumatych" :P


[pathlink]
Są to po prostu "połączenia" punktów zdefiniowanych wcześniej...

...a wyglądają na przykład tak:
Kod:
[pathlink]
0
1

[pathlink]
1
2

Co to oznacza? Otóż dzięki takiej deklaracji - pasażerowie będą poruszali się ścieżką od punktu 0 do punktu 1, w punkcie 1 będą mogli przemieścić się do punktu 2 lub wrócić do punktu 0 itd. Więc taki wpis pozwala na przemieszczanie się do przodu i do tyłu wzdłuż ścieżek wyznaczonych przez wcześniej zadeklarowane punkty "pathpnt". Dlatego ważna jest numeracja tam, aby nie pogubić się w ustalaniu połączeń tutaj.


[pathlink_oneway]
Sytuacja adekwatna do [pathlink], ale tutaj możemy wskazać, że ruch po ścieżce odbywa się "jednokierunkowo".

Taki kod:
Kod:
[pathlink_oneway]
0
1

[pathlink_oneway]
1
2
spowoduje, że pasażer startując z punktu 0, będzie mógł przemieścić się do punktu 1, ale z tego punktu już się nie cofnie. Będzie mógł jedynie przejść do punktu 2, skąd także nie będzie miał powrotu. Czyli po prostu ścieżka jednokierunkowa.


[next_roomheight]
Wysokość danej przestrzeni pasażerskiej.

To słowo powinno się znaleźć przed pierwszym wpisem [pathlink] lub [pathlink_oneway] oraz przed każdym następnym, jeśli wysokość przestrzeni pasażerskiej przed daną ścieżką się zmienia. Lepiej jest to wyjaśnić na przykładzie:

Kod:
[next_roomheight]
2

[pathlink]
0
1

[pathlink]
1
2

[next_roomheight]
1.8

[pathlink]
2
3
Powyższe oznacza ni mniej ni więcej, jak to, że od punktu 0 do punktu 2 wysokość przestrzeni pasażerskiej ustalona jest na 2 metry, natomiast od punktu 2 do 3 wynosi ona już 1.8 metra. Po co te deklaracje? Otóż w przypadku, gdy mamy do czynienia z autobusem piętrowym lub niskowejściowym (czyli o zmiennej wysokości podłogi, ale z co najmniej jednym "niskim" wejściem) może się okazać, że głowy pasażerów wyglądają ponad "sufit". Wtedy wystarczy zadeklarować odpowiednią wysokość, by pasażerom wyrósł garb na plecach i nie zawadzali o górne części pojazdu.


[next_stepsound]
Przypisanie paczek dźwiękowych kroków do odpowiednich ścieżek.

Tutaj sytuacja ma się adekwatnie do [next_roomheight]. Przed danymi ścieżkami należy wskazać indeks paczki dźwiękowej kroków (zadeklarowanych na samym początku pliku), jakie mają odtwarzać się podczas przemieszczania się wzdłuż nich. Jeśli chcemy używać tylko jednej paczki - wystarczy jeden taki wpis przed pierwszym pathlinkiem. Ale możemy sytuację nieco urozmaicić:
Kod:
[next_stepsound]
0

[pathlink]
0
1

[next_stepsound]
1

[pathlink]
1
2

[next_stepsound]
2

[pathlink]
2
3
Taka struktura spowoduje, że jeśli pasażer przemieszczał się będzie z punktu 0 do punktu 1, odtwarzać się będą dźwięki o indeksie 0 (czyli z pierwszego wpisu [stepsoundpack]), podróżując z punktu 1 do punktu 2 OMSI używać będzie dźwięków z paczki o indeksie 1 (z drugiego wpisu [stepsoundpack]), a z 2 do 3 kolejnej paczki i tak dalej.

Należy tutaj uważać, bo jeśli użyjemy paczki, której wcześniej nie zadeklarowaliśmy lub pomylimy nazwy plików we wpisach [stepsoundpack], mogą pojawiać się bliżej niezidentyfikowane błędy.

Oczywiściem wpisy [next_roomheight] oraz [next_stepsound] możemy łączyć. Wygląda to na przykład tak:
Kod:
[next_stepsound]
0

[next_roomheight]
2

[pathlink]
0
1

[next_stepsound]
1

[pathlink]
1
2

[next_stepsound]
2

[next_roomheight]
1.8

[pathlink]
2
3



Poradnik został napisany wyłącznie dla Forum http://strefa-omsi.pl i nie może być rozpowszechniany we fragmentach lub w całości na innych stronach bez zezwolenia głównego Autora.
♪ "Nie pytaj mnie, wiem tyle co i ty" ♪

Zanim cokolwiek napiszesz, przeczytaj koniecznie REGULAMIN
Jeśli masz problem techniczny, zapoznaj się z ZASADAMI DZIAŁÓW TECHNICZNYCH
Jeśli chcesz podzielić się dodatkiem, zapoznaj się z REGULAMINEM DZIAŁU POBIERALNIA

Odpowiedz




Użytkownicy przeglądający ten wątek:
1 gości