Przygotowanie fazy 2 modów autobusów w Proton Bus Simulator
Ten dokument jest szkicem. Minie trochę czasu, zanim stanie się bardziej wyczerpujący. Proszę o cierpliwość, pamiętaj, że to projekt indie tworzony w wolnym czasie. Najlepszym sposobem na zrozumienie, jak tworzone są mody, jest grzebanie w przykładowych modach. Większość naszych modów ma otwarte 3D do edycji i analizy. Zostaną opublikowane na stronie: www.busmods.com
Faza 2 systemu modów autobusów wprowadza kilka animacji, które wcześniej były dostępne tylko w natywnych autobusach. Większość rzeczy wymaga jedynie umieszczenia nowych części o określonych nazwach w 3D. Dodano kilka innych właściwości i poleceń. Najważniejsze z nich wyjaśniono w tym dokumencie, podczas gdy prostsze można zgłębić bezpośrednio w przykładowych modach.
Aby kontynuować ten przewodnik, musisz już wiedzieć, jak konwertować mody w fazie 1, w przeciwnym razie możesz nie zrozumieć pewnych rzeczy. Jeśli zaczynasz od zera, zobacz samouczki dla fazy 1: http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html
O ile nie zaznaczono inaczej (drzwi, dźwięki, światła itp.), większość ustawień dokonuje się w głównym pliku autobusu.
[mod]
name=MiBRTS
busModVersion=2
preview=preview.png
Zmień element busModVersion na 2. Będzie to przydatne w przyszłości, gdy faza 3 będzie wspierać nowe rzeczy... Obecna gra odczyta to, aby wydać ostrzeżenie dla graczy, że mod nie jest obsługiwany (stanie się to już, jeśli przetestujesz tam z 3 lub 5 lub jakąkolwiek wyższą liczbą).
Element preview wskazuje obraz, który ma się pojawić na ekranie wyboru. Obraz znajduje się w folderze bazowym autobusu (baseDir), a nie w textures. Jeśli ten element zostanie pominięty, gra automatycznie wyszuka obraz o nazwie preview.png.
Preferuj używanie proporcji 16:9 w obrazie, na przykład 1280x720 lub połowę, aby nie był to duży plik: 640x360.
[config]
useStandardShader=1
0 = wyłączony1 = włączonyTa opcja wymusza użycie obecnego shadera Unity, Standard Shader. Wnętrze autobusu może wyglądać nieco ładniej, jednak może być cięższe na telefonach komórkowych. Jest to opcja, którą można usunąć, jeśli stanie się ciężka. Pozostawienie 0 lub pominięcie go pozostawia poprzedni standard (shader Legacy/Diffuse) z bardziej wyblakłymi kolorami i brakiem połysku/specular.
Ponieważ jest to opcja eksperymentalna, nie można jeszcze zmieniać parametrów metallic, specular itp., pozostaną one na domyślnym poziomie 0.5.
[reverseCamera]
posX=0
posY=3.22161
posZ=-6.11213
rotX=30
rotY=180
rotZ=0
Polecenie podobne do lustra, ale w tym przypadku jest to kamera skierowana do tyłu, umieszczona gdzieś z tyłu autobusu. Może być nieco obrócona w dół na osi x. Zwróć uwagę na obrót o 180 stopni na osi pionowej (Y w Unity, Z w Blenderze), aby była skierowana do tyłu.
Monitor kamery cofania to w zasadzie płaszczyzna, umieszczona tam, gdzie znajduje się ekran. Pozostanie wyłączony w grze, pojawiając się tylko podczas cofania. Musi mieć pod sobą tło, aby nie było dziury, gdy nie cofasz. Płaszczyzna musi znajdować się nieco powyżej tła, aby uniknąć migotania (tradycyjny Z-fighting w grach).
Część ekranu musi nazywać się: _reverse_camera_screen_
Musi być zmapowana na całą teksturę w UV, ale nie musi mieć przypisanego materiału ani tekstury. W przeciwieństwie do luster, nie używaj odbicia lustrzanego na x w mapowaniu, ponieważ kamera nie generuje odwróconego obrazu.
[posSmoke1]
enabled=1
posX=-1.0966
posY=3.08716
posZ=-6.1505
rotX=0
rotY=0
rotZ=0
multiplier=0.5
colorR=0.2
colorG=0.2
colorB=0.2
colorA=0.1

Sterowanie wydechem zyskało nowe parametry: multiplier to mnożnik intensywności, aby emitować więcej lub mniej cząstek. Nie przesadzaj z wartością w górę, ponieważ może to być obciążające dla graczy. Wstawienie 0.5 emituje połowę tego, co by emitowało, wstawienie 2 emituje podwójnie, 1.2 nieco więcej itd. Testuj dalej, ale nie używaj bardzo dużych liczb, takich jak 5, 10 itd.
Tam w sekcji specialTextures możesz zdefiniować teksturę dymu, która zostanie użyta w parametrze particleSystemSmoke1.
[specialTextures]
particleSystemSmoke1=ParticleCloudWhite.png
Niektóre nowe polecenia akceptują dostosowywanie kolorów. Silnik używa kolorów w formacie RGBA z wartościami od 0 (brak) do 1 (pełny kolor).
Przykłady:
colorR=1
colorG=0
colorB=0
colorA=1
Powyższy kolor staje się czerwony. Jeśli zostawisz G na 1, a R i B na 0, stanie się zielony. Jeśli zostawisz B na 1, a R i G na 0, stanie się niebieski. Stamtąd możesz mieszać wartości, aby uzyskać pożądany kolor.
Po naciśnięciu C lub kliknięciu ikony kamer dowodzenia na Androidzie, gra zmienia widok skupiony na obszarach deski rozdzielczej, gdzie gracz może klikać przyciski.
Te pozycje kamer są identyfikowane przez polecenie command_camera_, po którym następuje numer przyrostowy dla każdej pozycji.
[command_camera_1]
posX=-0.174367
posY=1.76852
posZ=5.27041
rotX=-62.1665d
rotY=-13.3138
rotZ=-0.000039
[command_camera_2]
posX=-0.344243
posY=1.85677
posZ=5.22591
rotX=-66.1773
rotY=-15.7203
rotZ=-0.00003
Może być nieograniczona liczba takich kamer (użyj command_camera_3 itd.). Konfiguracja ich zajmuje sporo czasu, będziesz potrzebować dużo cierpliwości. Jest to rzecz opcjonalna, ale pożądana.
System klimatyzacji ma ustawienia rozproszone w kilku plikach. Sterowanie klimatyzacją znajduje się w głównym pliku autobusu.
[air_conditioner]
enabled=1
posX=-0.761969
posY=2.74968
posZ=5.72929
rotX=-18
rotY=0
rotZ=0
scaleX=0.0025
scaleY=0.0025
scaleZ=1
[air_conditioner_screen_on]
colorR=0
colorG=1
colorB=0
colorA=1
[air_conditioner_screen_off]
colorR=0
colorG=0.25
colorB=0
colorA=0.75
Wyróżniono enabled=1. Jeśli pozostaniesz na 0, zostanie wyłączona.
Dwa ostatnie definiują kolor kropek ekranu. W przeciwieństwie do ekranu kamery cofania, ten nie potrzebuje płaszczyzny, system generuje go dynamicznie.

Nad przyciskami włączenia klimatyzacji i wymuszonego wentylatora weź jeszcze dwie współrzędne dla małych światełek, które będą się świecić, gdy te przyciski zostaną aktywowane. Te światła zostaną zdefiniowane w pliku świateł (lights), w ten sposób:
[air_conditioner_on_1]
posX=-0.683482
posY=2.77392
posZ=5.72009
rotX=-18.6
scaleX=0.01
scaleY=0.01
scaleZ=0.01
picture=Z_LuzAr.png
[air_conditioner_fan_1]
posX=-0.651946
posY=2.77392
posZ=5.72009
rotX=-18.6
scaleX=0.01
scaleY=0.01
scaleZ=0.01
picture=Z_LuzAr.png

air_conditioner_on_1: Światło dla przycisku włączenia powietrza.air_conditioner_fan_1: Światło dla przycisku wymuszonego wentylatora.W pliku dźwięków (sounds):
[airConditioningSlow]
file=sounds/airConditioningSlow.wav
...
[airConditioningFast]
file=sounds/airConditioningFast.wav
...
_airconditioner_button1_: przycisk włącz/wyłącz_airconditioner_button2_: przycisk wymuszonego wentylatora_airconditioner_down_: przycisk zmniejszania temperatury_airconditioner_up_: przycisk zwiększania temperaturyOdbicia w Proton są zdefiniowane w pliku konfiguracyjnym (.bus), gdzie zmieniasz parametry metallic i glossiness.
//odbicia boczne
[ref001]
metallic=0.4
glossiness=0.8
//odbicia maski
[ref002]
metallic=1
glossiness=1

Nazwy części, które będą używać wspomnianych odbić, muszą mieć ich identyfikator używając _, na przykład _ref001_. Np: _ref001_skin001_nadwozie.
Jeśli chcesz używać odbić na szybach, zdefiniuj szyby w ten sposób (obecnie limit wynosi dziesięć):
[glass001]
enabled=1
shininess=0.9
specColorR=0.3
specColorG=0.3
specColorB=0.3
specColorA=0
refColorR=0.2
refColorG=0.2
refColorB=0.2
refColorA=0

Następnie nazwij część w 3D nazwą _glass001_ itd.
Jeśli zostawisz enabled=0, szyba traci odbicie, wracając do używania starego trybu.
WAŻNE: na częściach szklanych z deszczem nie używaj odbicia! Powinno być używane tylko na normalnych szybach. Szyby z deszczem muszą używać _transparent_.
Niektóre nowoczesne autobusy mają elektroniczny panel z miękkimi przyciskami (Multiplex).

Tekstury są zdefiniowane tam w sekcji specialTextures:
[specialTextures]
multiplexOff=MultiTextura.png
multiplexOn=MultiTextura.png
multiplexActive=MultiTextura_ON.png
Aby ułatwić, można umieścić obie części dla manualnej i automatycznej, a gra przełączy wyświetlanie zgodnie z wyborem gracza. Po prostu nazwij części odpowiednimi nazwami.
W przypadku automatycznej skrzyni biegów, te Scanie, które mają 123DNR, nie są obsługiwane, aktywna będzie 3.

Pogrzeb i zbadaj przykładowe mody, aby zrozumieć, proszę.
_anim001_on, _click001_on..3ds, aby uniknąć błędów.