Mis à jour avec la v252 - Avril 2020 Par Marcos Elias
La phase 2 du système de mods de cartes de Proton Bus permet d'avoir des passagers, du trafic et d'autres choses en plus dans le jeu ! Cela l'élève à un autre niveau, on peut littéralement séparer Proton avant et après cette fonctionnalité. C'est presque comme un nouveau jeu !
Avertissement : En raison de contraintes de temps, il n'est pas possible de fournir un support individuel dans le processus de conversion et d'édition. Nous vous recommandons d'essayer par vous-même, de voir comment les autres cartes ont été faites et d'explorer les structures des fichiers. Préférez poster vos questions et problèmes liés dans les groupes du jeu sur Facebook, ainsi les solutions profitent à tous, et d'autres producteurs de mods peuvent aussi vous aider.
Si vous n'êtes pas encore abonné, rejoignez la chaîne du producteur : www.youtube.com/marquinhosxp. Quelques vidéos et tutoriels y sont postés.
Page officielle PBSU sur Facebook : https://www.facebook.com/protonbusoficial Et PBSR : https://www.facebook.com/protonbusrod.oficial/
Groupe exclusif pour les créateurs de mods : https://www.facebook.com/groups/pbsmods/ Veuillez éviter de rejoindre celui-ci si vous êtes juste un joueur, pour ne pas encombrer avec des publications hors sujet (qui seront supprimées) !
Groupes pour les utilisateurs : Dans ceux-ci, publications libres de captures d'écran, astuces, vidéos, tutoriels divers, etc., du point de vue des joueurs :
Astuce pour un bon site où obtenir des textures pour les mods : http://www.textures.com
Avant de commencer une carte dans la phase 2, il est nécessaire d'avoir maîtrisé la production du niveau de base pour la phase 1. Si vous n'êtes pas encore familier, ne vous inquiétez pas, il est possible de suivre ce guide en accompagnant la carte d'exemple. La plus grande exigence est d'avoir des connaissances de base en Blender, car nous l'utiliserons pour exporter les cartes.
L'ancienne documentation concernant la phase 1 est ici, pour les cartes : http://blog.protonbus.com.br/2019/09/experimental-mods-de-mapas-no-pbs.html
Et pour les bus : http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html
Il est toujours bon d'être sur la version la plus récente du jeu ! Les anciennes ne sont plus supportées, la bêta est en constante évolution, donc nous considérons toujours la plus récente. Vous pouvez trouver les compilations les plus récentes sur http://pbsu.busmods.com pour l'urbain et http://pbsr.busmods.com pour le routier.
Fondamentalement, nous utilisons Blender 2.79 pour produire le décor, exporter le modèle au format 3ds et créer la structure des dossiers et fichiers pour le système de Proton Bus.
IMPORTANT : UTILISEZ BLENDER 2.79 ! L'exportateur nécessaire pour le format actuel du jeu ne fonctionne pas avec Blender 2.8, apparemment il a été interrompu et personne ne l'a mis à jour à ce jour. Peut-être qu'à l'avenir il fonctionnera à nouveau, des gens essaient.
Vous pouvez télécharger Blender 2.79 ici : https://download.blender.org/release/Blender2.79/ La version la plus récente est généralement celle qui porte un « b » dans le nom. La plateforme est indifférente, cela dépendra de votre système (Windows, Linux ou Mac) et architecture (32 ou 64 bits).
Si vous avez déjà commencé la carte dans la 2.8, la recommandation serait d'exporter vers un format intermédiaire que la 2.79 peut ouvrir et ensuite exporter à partir de celui-ci pour le jeu.
IMPORTANT : MODIFIEZ L'EXPORTATEUR DE 3DS POUR PROTON ! L'exportateur 3ds par défaut de Blender tronque les noms des objets et des textures à 12 caractères. Nous aurons normalement besoin de plus que cela pour éviter les erreurs dans les noms de certaines pièces et/ou textures.
Téléchargement du plugin Blender modifié pour l'exportation (fichier pour Blender 2.79) : http://proton.viamep.com/coisas/export_3ds_protonbus_blender279.zip
TUTORIEL SUR COMMENT CHANGER LE PLUGIN : https://youtu.be/0EokFmSjGdA
Si vous préférez, au lieu de télécharger celui-ci, modifiez le fichier export_3ds.py du dossier scripts\addons\io_scene_3ds de votre Blender. Cherchez [:12] et changez le 12 par un nombre beaucoup plus grand, comme 999. C'est la limite de caractères. Sans cela, l'exportation vers le jeu peut échouer.
ASTUCE : EN TÉLÉCHARGEANT BLENDER VOUS POUVEZ OPTER POUR LES VERSIONS « PORTABLE » EN ZIP, POUR GARDER PLUSIEURS VERSIONS EN MÊME TEMPS.
La carte dans Proton est composée de plusieurs fichiers txt (texte brut), et quelques dossiers. La structure primaire essentielle est un txt de définition de carte et un dossier, les deux résidant dans le dossier maps, qui à son tour réside dans le dossier des mods du jeu.
Exemple de structure sur PC :

Le txt de définition de la carte doit se terminer par .map.txt (ex : Estrada Longa.map.txt). Ce doit être un nom unique !
IMPORTANT : N'UTILISEZ JAMAIS D'ACCENTS, CÉDILLES OU CARACTÈRES SPÉCIAUX DANS LES NOMS DE FICHIERS DES MODS !
À l'intérieur de ce txt, nous aurons la structure de base :
[map]
baseDir=Estrada Longe
; Le dossier de base de la carte, qui se trouve dans maps avec le .map.txt
modelsDir=Rota 1
; Le dossier des modèles, qui se trouve à l'intérieur du dossier tiles
textures=textures
; Le dossier des textures
mapModVersion=2
; Utilisez le numéro 2 dans la Phase 2 !
preview=preview.png
; Image de l'écran de sélection (16:9, ex : 640x360)
À l'intérieur du dossier de base de la carte, il doit y avoir d'autres dossiers :

dest : Stocke les girouettes et plaques.skins : Stocke les livrées des bus de la carte (dans skins/0/pbc).textures : Stocke les textures. Évitez JPG, utilisez PNG !tiles : Doit obligatoirement avoir ce nom. À l'intérieur se trouve le dossier des modèles (modelsDir).IMPORTANT : LES MODS DE CARTES DE PROTON BUS SONT CHARGÉS EN ENTIER ! ILS NE PEUVENT PAS ÊTRE TROP LOURDS. SI VOUS ALLEZ FAIRE PLUSIEURS LONGUES LIGNES, DIVISEZ-LES EN PARTIES.
À l'intérieur du dossier défini dans modelsDir, se trouvent les fichiers exportés .3ds et les configurations :

Structure interne du dossier des modèles :

aipeople : Configurations des piétons.aitrains : Configurations des trains.aivehicles : Configurations du trafic.busstops : Configurations des arrêts de bus.entrypoints.txt : Configurations avancées des points d'entrée.entrypoints_list.txt : Liste simple des points d'entrée.IMPORTANT : LES MODS NE SONT PAS PROTÉGÉS ! TECHNIQUEMENT AUCUN JEU NE L'EST. LA SEULE FAÇON DE NE PAS AVOIR SON MOD ÉDITÉ OU FUITE EST DE NE PAS LE PUBLIER.
Les points d'entrée définissent où le bus apparaît au démarrage du jeu. Ils doivent avoir des noms uniques (ex : 351F-10 TP, Garage Central).
IMPORTANT : N'UTILISEZ JAMAIS D'ACCENTS OU CARACTÈRES SPÉCIAUX DANS CES NOMS ! N'UTILISEZ PAS DE BARRES NON PLUS.
Liste simple, un nom par ligne.

Définit la position et rotation physique sur la carte.

Rappelez-vous : Dans Blender Y est avant/arrière et Z est hauteur. Dans Unity (jeu), Y est hauteur et Z est avant/arrière. Inversez Y et Z lors de la copie des coordonnées !
Pour découvrir les coordonnées, utilisez un objet Empty dans Blender :

Dans le dossier dest, créez des dossiers avec EXACTEMENT le même nom que les entrypoints définis dans le txt.

À l'intérieur de chaque dossier de destination se trouvent les images :

IMPORTANT : ÉVITEZ LES IMAGES DE PLUS DE 2048 PIXELS POUR MOBILES !
Noms de fichiers suggérés pour les girouettes :
1.png, 2.png, 3.png (Girouettes électroniques 1024x128)capelinhaDigital.png, capelinhaPVC.png (256x128)lonaDestino.png, lonaLinha.png (Girouettes à rouleau)placa1.png, placa2.png, placa3.png (Plaques latérales et frontales)Chaque arrêt doit avoir un nom unique en 3D (ex : zzPonto1).
L'arrêt consiste en :
nomdelarret_trigger.nomdelarret.000, nomdelarret.001, etc.
ASTUCE : Utilisez des plans simples pour les passagers pour économiser des polygones.
Trigger correct :

Exemple de trigger bien positionné :

Exemple de trigger mal positionné (interdit !) :

Superposés (interdit !) :

Correct aux arrêts opposés :

Visualisation dans le Debug :

Créez un txt dans le dossier busstops avec le même nom que l'arrêt.

[busstop]
name=Arrêt de la Place
isLeft=0
paxAmount=15
[from_3d]
readFrom3D=1
prefix=zzPonto1
maxPathsToCheck=30
defPaxRotY=90
prefix : Doit correspondre exactement au nom utilisé en 3D (avant le .000).defPaxRotY : Rotation par défaut des passagers (testez 0, 90, 180, -90).Fonctionne de manière similaire aux arrêts : une séquence d'objets définissant un chemin (path).
Exemple : xxCalcada1.000, xxCalcada1.001, etc.

Créez un txt dans le dossier aipeople :

[automatic_setup]
enabled=1
loop=0
reverse=0
[defaults]
isSpawner=1
spawnInterval=5
allowBicycle=0
loop=1 : Le dernier point se connecte au premier (circulaire).loop=0 : Le chemin se termine au dernier point (linéaire).Tout simplement comme les piétons ! Dossier aivehicles.

isBusSpawner=1 : Pour faire apparaître des bus.spawnInterval : Augmentez pour réduire le trafic.speedMultiplier : Modifiez la vitesse (ex : 0.5 moitié, 2 double).Placez les skins (PNG) dans skins/0/pbc. Le jeu choisit aléatoirement.
Base de skin du PBC : http://omsi.viamep.com/proton/base-skins-pbc-protonbussimulator.zip
Même logique, dossier aitrains.
Recommandation : isSpawner=0 dans defaults, et définissez des spawners manuels espacés.

randomTimeToWaitAtStart=1 : Démarre à un temps aléatoire.spawnTimeInterval : Intervalle entre les trains (ex : 120 secondes).IMPORTANT : LES TRAINS NE S'ARRÊTENT PAS ! ILS ÉCRASENT TOUT. NE FAITES PAS DE PASSAGES À NIVEAU.
_transparent_ dans le nom de l'objet (ex : grade_transparent_)._gencol_ pour générer un collisionneur automatique (rues, trottoirs). Utilisez avec modération !_gencol_invisible_ (ex : barreira_gencol_invisible_)._emissive_ pour les objets toujours allumés._low_speed_zone_ pour les terminaux (évite les plaintes).
_force_exit_ près de l'arrêt final.
_det1.3ds (ex : arvores_det1.3ds). Se charge seulement si l'utilisateur active "Détails Supplémentaires".Pour éviter les textures clignotantes (z-fighting/flickering) au sol, créez un fichier .config.txt à côté de la texture.
Ex : asphalte.png.config.txt.


_gencol_ uniquement sur le sol et les murs principaux.C'est tout pour l'instant ! Amusez-vous bien !