Vorbereitung von Phase 2 der Bus-Mods im Proton Bus Simulator
Dieses Dokument ist ein Entwurf. Es wird eine Weile dauern, bis es umfassender wird. Bitte haben Sie Geduld und erinnern Sie sich daran, dass dies ein Indie-Projekt ist, das in der Freizeit gemacht wird. Der beste Weg, zu verstehen, wie Mods gemacht werden, ist, in den Beispiel-Mods herumzustöbern. Ein Großteil unserer Mods hat das 3D zur Bearbeitung und Analyse offen. Sie werden auf der Website veröffentlicht: www.busmods.com
Die Phase 2 des Bus-Mod-Systems bringt mehrere Animationen, die zuvor nur in den nativen Bussen verfügbar waren. Die meisten Dinge erfordern nur das Platzieren neuer Teile mit bestimmten Namen im 3D. Einige andere Eigenschaften und Befehle wurden hinzugefügt. Die wichtigsten werden in diesem Dokument erklärt, während die einfacheren direkt in den Beispiel-Mods erkundet werden können.
Um mit diesem Leitfaden fortzufahren, müssen Sie bereits wissen, wie man Mods in Phase 1 konvertiert, sonst könnten Sie Dinge nicht verstehen. Wenn Sie bei null anfangen, sehen Sie sich bitte die Tutorials von Phase 1 an: http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html
Sofern nicht anders angegeben (Türen, Sounds, Lichter usw.), werden die meisten Einstellungen in der Hauptdatei des Busses vorgenommen.
[mod]
name=MiBRTS
busModVersion=2
preview=preview.png
Ändern Sie das Element busModVersion auf 2. Dies wird in Zukunft nützlich sein, wenn Phase 3 neue Dinge unterstützt... Das aktuelle Spiel wird dies lesen, um den Spielern eine Warnung auszugeben, dass der Mod nicht unterstützt wird (das wird bereits passieren, wenn Sie dort mit einer 3 oder 5 oder einer höheren Zahl testen).
Das Element preview gibt ein Bild an, das auf dem Auswahlbildschirm erscheinen soll. Das Bild befindet sich im Basisordner des Busses (das baseDir), nicht in textures. Wenn dieses Element weggelassen wird, sucht das Spiel automatisch nach einem Bild namens preview.png.
Bevorzugen Sie das Seitenverhältnis 16:9 im Bild, wie zum Beispiel 1280x720 oder die Hälfte, damit es keine große Datei wird: 640x360.
[config]
useStandardShader=1
0 = deaktiviert1 = aktiviertDiese Option erzwingt die Verwendung des aktuellen Shaders von Unity, dem Standard Shader. Das Innere des Busses könnte etwas hübscher aussehen, könnte aber auf Mobiltelefonen schwerer sein. Es ist eine Option, die entfernt werden kann, wenn sie schwer wird. Wenn Sie es auf 0 lassen oder weglassen, bleibt der vorherige Standard (der Legacy/Diffuse Shader) mit ausgewascheneren Farben und keinem Glanz/Glanzlicht.
Da es sich um eine experimentelle Option handelt, ist es noch nicht möglich, die Parameter metallic, specular usw. zu ändern, sie bleiben auf dem Standardwert 0.5.
[reverseCamera]
posX=0
posY=3.22161
posZ=-6.11213
rotX=30
rotY=180
rotZ=0
Befehl ähnlich dem Spiegel, nur dass es in diesem Fall eine nach hinten gerichtete Kamera ist, die irgendwo am Heck des Busses positioniert ist. Kann auf der x-Achse leicht nach unten gedreht werden. Beachten Sie die Drehung um 180 Grad auf der vertikalen Achse (Y in Unity, Z in Blender), um nach hinten gerichtet zu sein.
Der Monitor der Rückfahrkamera ist im Grunde eine Ebene, die dort positioniert ist, wo der Bildschirm sitzt. Er bleibt im Spiel deaktiviert und erscheint nur, wenn der Rückwärtsgang eingelegt ist. Er muss einen Hintergrund darunter haben, damit kein Loch entsteht, während der Rückwärtsgang nicht eingelegt ist. Die Ebene muss etwas über dem Hintergrund liegen, um Flackern zu vermeiden (das traditionelle Z-Fighting in Spielen).
Das Teil des Bildschirms muss heißen: _reverse_camera_screen_
Es muss im UV auf die gesamte Textur gemappt sein, muss aber kein Material oder keine Textur zugeordnet haben. Anders als bei Spiegeln, verwenden Sie beim Mapping kein Spiegeln auf der x-Achse, da die Kamera kein invertiertes Bild erzeugt.
[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

Die Auspuffsteuerung hat neue Parameter erhalten: Der multiplier ist ein Intensitätsmultiplikator, um mehr oder weniger Partikel zu emittieren. Übertreiben Sie den Wert nicht nach oben, da dies für die Spieler schwer sein kann. 0.5 emittiert die Hälfte von dem, was es würde, 2 emittiert das Doppelte, 1.2 etwas mehr usw. Testen Sie weiter, aber verwenden Sie keine sehr großen Zahlen wie 5, 10 usw.
Dort im Abschnitt specialTextures können Sie die Rauchtextur definieren, die im Parameter particleSystemSmoke1 verwendet wird.
[specialTextures]
particleSystemSmoke1=ParticleCloudWhite.png
Einige neue Befehle akzeptieren Farbanpassungen. Die Engine verwendet Farben im RGBA-Format mit Werten von 0 (null) bis 1 (volle Farbe).
Beispiele:
colorR=1
colorG=0
colorB=0
colorA=1
Die Farbe oben wird rot. Wenn Sie G auf 1 und R und B auf 0 lassen, wird es grün. Wenn Sie B auf 1 und R und G auf 0 lassen, wird es blau. Von dort aus können Sie Werte mischen, um die gewünschte Farbe zu erreichen.
Wenn Sie C drücken oder auf das Symbol der Befehlskameras auf Android klicken, ändert das Spiel die Ansicht, die auf Bereiche des Armaturenbretts fokussiert ist, in denen der Spieler auf Schaltflächen klicken kann.
Diese Kamerapositionen werden durch den Befehl command_camera_ gefolgt von einer inkrementellen Nummer für jede Position identifiziert.
[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
Es können unbegrenzt viele dieser Kameras vorhanden sein (verwenden Sie command_camera_3 usw.). Es dauert ziemlich lange, sie zu konfigurieren, Sie brauchen viel Geduld. Es ist eine optionale, aber wünschenswerte Sache.
Das Klimaanlagensystem hat Einstellungen, die über mehrere Dateien verstreut sind. Die Steuerung der Klimaanlage befindet sich in der Hauptdatei des Busses.
[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
Hervorgehoben ist enabled=1. Wenn auf 0 gelassen, wird es deaktiviert.
Die letzten beiden definieren die Farbe der Bildschirmpunkte. Anders als der Bildschirm der Rückfahrkamera benötigt dieser keine Ebene, das System generiert sie dynamisch.

Über den Tasten für Klimaanlage ein und Zwangslüfter nehmen Sie zwei weitere Koordinaten für kleine Lichter, die leuchten, wenn diese Tasten aktiviert sind. Diese Lichter werden in der Datei der Lichter (lights) definiert, so:
[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: Licht der Taste für Klimaanlage ein.air_conditioner_fan_1: Licht der Taste für Zwangslüfter.In der Sounddatei (sounds):
[airConditioningSlow]
file=sounds/airConditioningSlow.wav
...
[airConditioningFast]
file=sounds/airConditioningFast.wav
...
_airconditioner_button1_: Ein/Aus-Taste_airconditioner_button2_: Zwangslüfter-Taste_airconditioner_down_: Taste zum Senken der Temperatur_airconditioner_up_: Taste zum Erhöhen der TemperaturReflexionen in Proton werden in der Konfigurationsdatei (.bus) definiert, wo Sie die Parameter metallic und glossiness ändern.
//Seitenreflexionen
[ref001]
metallic=0.4
glossiness=0.8
//Maskenreflexionen
[ref002]
metallic=1
glossiness=1

Die Namen der Teile, die die besagten Reflexionen verwenden, müssen deren Kennung unter Verwendung von _ haben, zum Beispiel _ref001_. Bsp: _ref001_skin001_karosserie.
Wenn Sie Reflexionen auf Gläsern verwenden möchten, definieren Sie die Gläser wie folgt (derzeit gibt es ein Limit von zehn):
[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

Benennen Sie dann das Teil im 3D mit dem Namen _glass001_ usw.
Wenn Sie enabled=0 lassen, verliert das Glas die Reflexion und kehrt zur Verwendung des alten Modus zurück.
WICHTIG: Verwenden Sie bei Glasteilen mit Regen keine Reflexion! Sie sollte nur auf normalen Gläsern verwendet werden. Gläser mit Regen sollten _transparent_ verwenden.
Einige moderne Busse haben ein elektronisches Panel mit Softtasten (Multiplex).

Die Texturen werden dort im Abschnitt specialTextures definiert:
[specialTextures]
multiplexOff=MultiTextura.png
multiplexOn=MultiTextura.png
multiplexActive=MultiTextura_ON.png
Um es einfacher zu machen, ist es möglich, beide Teile für manuell und automatisch zu platzieren, und das Spiel wechselt die Anzeige entsprechend der Auswahl des Spielers. Benennen Sie die Teile einfach mit den entsprechenden Namen.
Im Falle eines Automatikgetriebes werden diejenigen Scania, die 123DNR haben, nicht unterstützt, das aktive wird 3 sein.

Stöbern und erkunden Sie die Beispiel-Mods, um zu verstehen, bitte.
_anim001_on, _click001_on..3ds-Datei auf, um Fehler zu vermeiden.