📚 Docs

Mod Autobus: Fase 2

Preparazione della fase 2 delle mod autobus in Proton Bus Simulator

Questo documento è una bozza. Ci vorrà un po' per diventare più completo. Per favore, abbi pazienza, ricorda che questo è un progetto indie fatto nel tempo libero. Il modo migliore per capire come sono fatte le mod è curiosare nelle mod di esempio. La maggior parte delle nostre mod ha il 3D aperto per l'editing e l'analisi. Saranno pubblicate sul sito: www.busmods.com

La fase 2 del sistema di mod autobus porta diverse animazioni, che in precedenza erano disponibili solo sugli autobus nativi. La maggior parte delle cose richiede solo di posizionare nuove parti con nomi specifici nel 3D. Sono state aggiunte alcune altre proprietà e comandi. Le più significative sono spiegate in questo documento, mentre le più semplici possono essere esplorate direttamente nelle mod di esempio.

Per procedere con questa guida devi già sapere come convertire le mod nella fase 1, altrimenti potresti finire per non capire le cose. Se stai partendo da zero, per favore, vedi i tutorial della fase 1: http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html

Salvo dove indicato diversamente (porte, suoni, luci ecc), la maggior parte delle configurazioni vengono fatte nel file principale dell'autobus.

Versione e Schermata di Selezione della Mod

[mod]
name=MiBRTS
busModVersion=2
preview=preview.png

Cambia l'elemento busModVersion a 2. Questo sarà utile in futuro, quando la fase 3 supporterà nuove cose... Il gioco attuale leggerà questo per emettere un avviso ai giocatori che la mod non è supportata (questo accadrà già se provi con un 3 o 5 o qualsiasi numero superiore lì).

L'elemento preview indica un'immagine da apparire nella schermata di selezione. L'immagine si trova nella cartella base dell'autobus (la baseDir), non in textures. Se questo elemento viene omesso, il gioco cercherà automaticamente un'immagine chiamata preview.png.

Preferisci usare il rapporto 16:9 nell'immagine, come per esempio, 1280x720 o la metà, per non avere un file grande: 640x360.


Standard Shader

[config]
useStandardShader=1
  • 0 = disattivato
  • 1 = attivato

Questa opzione forza l'uso dello shader attuale di Unity, lo Standard Shader. L'interno dell'autobus potrebbe sembrare un po' più carino, tuttavia potrebbe essere più pesante sui cellulari. È un'opzione che potrà essere rimossa se diventa pesante. Lasciandola a 0, o omettendola, rimane lo standard precedente (lo shader Legacy/Diffuse) con colori più slavati e nessuna lucentezza/speculare.

Essendo un'opzione sperimentale, non è ancora possibile modificare i parametri di metallic, specular ecc, rimarranno allo standard 0.5.


Telecamera di Retromarcia

[reverseCamera]
posX=0
posY=3.22161
posZ=-6.11213
rotX=30
rotY=180
rotZ=0

Comando simile allo specchietto, solo che in questo caso è una telecamera rivolta all'indietro, posizionata da qualche parte nella parte posteriore dell'autobus. Può essere leggermente ruotata verso il basso sulla x. Nota la rotazione di 180 gradi sull'asse verticale (Y in Unity, Z in Blender), per essere rivolta all'indietro.

Il monitor della telecamera di retromarcia è fondamentalmente un piano, posizionato dove si trova lo schermo. Rimarrà disattivato nel gioco, apparendo solo quando si è in retromarcia. Deve avere uno sfondo sotto di esso, per non avere un buco mentre non si è in retromarcia. Il piano deve essere un po' sopra lo sfondo, per non sfarfallare (il tradizionale Z-fighting nei giochi).

Il pezzo dello schermo deve chiamarsi: _reverse_camera_screen_

Deve essere mappato sull'intera texture nell'UV, ma non ha bisogno di avere materiale né texture associata. Diversamente dagli specchietti, non usare il mirror sulla x nella mappatura, visto che la telecamera non genera un'immagine invertita.


Fumo dello Scarico

[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

Fumo

Il controllo dello scarico ha guadagnato nuovi parametri: il multiplier è un moltiplicatore di intensità, per emettere più o meno particelle. Non esagerare con il valore verso l'alto, poiché può pesare per i giocatori. Mettendo 0.5 emette la metà di quello che emetterebbe, mettendo 2 emette il doppio, 1.2 un po' di più, ecc. Continua a testare, ma non usare numeri molto grandi come 5, 10 ecc.

Là nella sezione specialTextures puoi definire la texture del fumo che verrà usata nel parametro particleSystemSmoke1.

[specialTextures]
particleSystemSmoke1=ParticleCloudWhite.png

Colori in Varie Configurazioni

Alcuni nuovi comandi accettano la personalizzazione del colore. Il motore usa colori nel formato RGBA con valori da 0 (nullo) a 1 (colore totale).

Esempi:

colorR=1
colorG=0
colorB=0
colorA=1

Il colore sopra diventa rosso. Se lasci G a 1 e R e B a 0, diventa verde. Se lasci B a 1 e R e G a 0, diventa blu. Da lì puoi mescolare i valori per arrivare al colore desiderato.


Telecamere di Comando

Premendo C o cliccando sull'icona delle telecamere di comando su Android, il gioco cambia la visione focalizzata su aree del cruscotto dove il giocatore può cliccare sui pulsanti.

Queste posizioni di telecamere sono identificate dal comando command_camera_ seguito da un numero incrementale per ogni posizione.

[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

Possono esserci illimitate di queste telecamere (usa command_camera_3, ecc). Ci vuole un bel po' per configurarle, avrai bisogno di molta pazienza. È una cosa facoltativa ma desiderabile.


Aria Condizionata

Il sistema di aria condizionata ha configurazioni sparse in vari file. Il controllo dell'aria condizionata è posizionato nel file principale dell'autobus.

[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

In evidenza c'è enabled=1. Se lasciato a 0 sarà disattivato. Gli ultimi due definiscono il colore dei punti dello schermo. Diversamente dallo schermo della telecamera di retromarcia, questo non ha bisogno di un piano, il sistema lo genera dinamicamente.

Luce Aria

Sopra i pulsanti di aria accesa e ventilatore forzato, prendi altre due coordinate per piccole luci che rimarranno accese quando questi pulsanti sono attivati. Queste luci saranno definite nel file delle luci (lights), così:

[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

Luce Aria 2

  • air_conditioner_on_1: Luce del pulsante dell'aria accesa.
  • air_conditioner_fan_1: Luce del pulsante del ventilatore forzato.

Suono dell'Aria Condizionata

Nel file dei suoni (sounds):

[airConditioningSlow]
file=sounds/airConditioningSlow.wav
...
[airConditioningFast]
file=sounds/airConditioningFast.wav
...

Parti nel 3D

  • _airconditioner_button1_: pulsante accendi/spegni
  • _airconditioner_button2_: pulsante ventilatore forzato
  • _airconditioner_down_: pulsante per diminuire la temperatura
  • _airconditioner_up_: pulsante per aumentare la temperatura

Riflessi

I riflessi in Proton sono definiti nel file di configurazione (.bus), dove alteri i parametri metallic e glossiness.

//riflessi laterali
[ref001]
metallic=0.4
glossiness=0.8

//riflessi della maschera
[ref002]
metallic=1
glossiness=1

Riflesso

I nomi delle parti che useranno i suddetti riflessi devono avere il loro identificatore usando _, per esempio, _ref001_. Es: _ref001_skin001_carrozzeria.


Vetri con Riflessi

Se vuoi usare i riflessi sui vetri, definisci i vetri in questo modo (c'è un limite di dieci per ora):

[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

Vetro

Poi metti il nome alla parte nel 3D con il nome _glass001_ ecc. Se lasci enabled=0 il vetro perde il riflesso, tornando a usare la vecchia modalità.

IMPORTANTE: sulle parti di vetro con pioggia, non utilizzare il riflesso! Deve essere usato solo sui vetri normali. I vetri con pioggia devono usare _transparent_.


Multiplex

Alcuni autobus moderni hanno un pannello elettronico con pulsanti morbidi (Multiplex).

Multiplex

Le texture sono definite là nella sezione specialTextures:

[specialTextures]
multiplexOff=MultiTextura.png
multiplexOn=MultiTextura.png
multiplexActive=MultiTextura_ON.png

Cambio

Per facilitare, è possibile mettere entrambe le parti dei manuali e automatici, e il gioco alternerà la visualizzazione secondo la selezione del giocatore. Basta nominare le parti con i nomi appropriati.

Nel caso del cambio automatico, non sono supportati quegli Scania che hanno 123DNR, l'attivo sarà il 3.


Luci delle Porte

Luce Porta

Curiosa ed esplora le mod di esempio per capire, per favore.


Altri Argomenti

  • Tergicristalli: Animazioni migliorate.
  • Ottimizzatori: Parti nascoste.
  • Insegne Scorrevoli: Supporto di base.
  • Animazioni On/Off: _anim001_on, _click001_on.
  • Audio: EVITARE AUDIO IN MP3! Usa WAV.
  • Texture: Evita texture più grandi di 2048px.
  • Passeggeri: Mantieni tutti i percorsi dei passeggeri nello stesso file .3ds per evitare bug.