📚 Docs

Módy Map: Fáze 2

Aktualizováno s v252 - Duben 2020 Od Marcos Elias

Úvod

Fáze 2 systému módů map Proton Bus umožňuje mít ve hře cestující, dopravu a další věci! To ji posouvá na jinou úroveň, doslova lze Proton rozdělit na před a po této funkci. Je to skoro jako nová hra!

Varování: Z časových důvodů není možné poskytovat individuální podporu v procesu konverze a úprav. Doporučujeme vyzkoušet si to sami, podívat se, jak byly vytvořeny jiné mapy, a prozkoumat struktury souborů. Raději zveřejňujte dotazy a související problémy v herních skupinách na Facebooku, takže řešení pomohou všem a ostatní tvůrci módů vám také mohou pomoci.

Pokud ještě nejste přihlášeni k odběru, připojte se ke kanálu producenta: www.youtube.com/marquinhosxp. Některá videa a návody jsou zveřejněny tam.

Oficiální stránka PBSU na Facebooku: https://www.facebook.com/protonbusoficial A PBSR: https://www.facebook.com/protonbusrod.oficial/

Skupiny na Facebooku

Exkluzivní skupina pro tvůrce módů: https://www.facebook.com/groups/pbsmods/ Prosím, nepřipojujte se k ní, pokud jste jen hráč, abyste ji nezaplňovali příspěvky mimo téma (které budou smazány)!

Skupiny pro uživatele: V těchto ano, volné příspěvky se screenshoty, tipy, videi, různými návody atd., z pohledu hráčů:

Tip na dobrou stránku pro získání textur pro módy: http://www.textures.com


Poznámky k Fázi 1

Před zahájením mapy ve Fázi 2 musíte mít zvládnutou výrobu základní úrovně pro Fázi 1. Pokud ještě nejste obeznámeni, nebojte se, můžete postupovat podle tohoto průvodce spolu s ukázkovou mapou. Největším požadavkem je mít základní znalosti Blenderu, protože jej budeme používat k exportu map.

Stará dokumentace týkající se Fáze 1 je zde, pro mapy: http://blog.protonbus.com.br/2019/09/experimental-mods-de-mapas-no-pbs.html

A pro autobusy: http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html

Je vždy dobré mít nejnovější verzi hry! Staré již nejsou podporovány, beta se neustále vyvíjí, takže vždy bereme v úvahu tu nejnovější. Nejnovější sestavení naleznete na http://pbsu.busmods.com pro městské a http://pbsr.busmods.com pro meziměstské.

Zásadně používáme Blender 2.79 k výrobě scenerie, exportujeme model ve formátu 3ds a vytváříme strukturu složek a souborů pro systém Proton Bus.

DŮLEŽITÉ: POUŽÍVEJTE BLENDER 2.79! Exportér požadovaný pro aktuální formát hry nefunguje s Blenderem 2.8, zřejmě byl ukončen a nikdo jej dosud neaktualizoval. Kdo ví, možná v budoucnu bude znovu fungovat, lidé to zkoušejí.

Blender 2.79 si můžete stáhnout zde: https://download.blender.org/release/Blender2.79/ Nejnovější verze je obvykle ta s "b" v názvu. Platforma je lhostejná, bude záviset na vašem systému (Windows, Linux nebo Mac) a architektuře (32 nebo 64 bitů).

Pokud jste již mapu začali v 2.8, doporučením by bylo exportovat do nějakého meziformátu, který 2.79 dokáže otevřít, a poté z něj exportovat do hry.

DŮLEŽITÉ: UPRAVTE EXPORTÉR 3DS PRO PROTON! Výchozí exportér 3ds v Blenderu ořezává názvy objektů a textur na 12 znaků. Obvykle budeme potřebovat více než to, abychom se vyhnuli chybám v názvech některých dílů a/nebo textur.

Stažení upraveného pluginu Blenderu pro export (soubor pro Blender 2.79): http://proton.viamep.com/coisas/export_3ds_protonbus_blender279.zip

NÁVOD JAK ZMĚNIT PLUGIN: https://youtu.be/0EokFmSjGdA

Pokud dáváte přednost, místo stahování tohoto, změňte soubor export_3ds.py ve složce scripts\addons\io_scene_3ds vašeho Blenderu. Hledejte [:12] a změňte 12 na mnohem větší číslo, jako 999. Je to limit znaků. Bez toho může export do hry selhat.

TIP: PŘI STAHOVÁNÍ BLENDERU MŮŽETE ZVOLIT "PORTABLE" ZIP VERZE, ABYSTE SI PONECHALI VÍCE VERZÍ SOUČASNĚ.


Struktura souborů módu mapy

Mapa v Protonu se skládá z několika txt souborů (čistý text) a některých složek. Základní primární strukturou je txt definice mapy a složka, obojí se nachází uvnitř složky maps, která se zase nachází ve složce módů hry.

Příklad struktury na PC:

Struktura Složek

Txt definice mapy musí končit na .map.txt (např.: Estrada Longa.map.txt). Musí to být unikátní název!

DŮLEŽITÉ: NIKDY NEPOUŽÍVEJTE HÁČKY, ČÁRKY, CEDILLY ANI SPECIÁLNÍ ZNAKY V NÁZVECH SOUBORŮ MÓDŮ!

Uvnitř tohoto txt budeme mít základní strukturu:

[map]
baseDir=Estrada Longe 
; Základní složka mapy, která je v maps spolu s .map.txt

modelsDir=Rota 1 
; Složka modelů, která je uvnitř složky tiles

textures=textures 
; Složka textur

mapModVersion=2 
; Použijte číslo 2 ve Fázi 2!

preview=preview.png 
; Obrázek výběrové obrazovky (16:9, např.: 640x360)

Uvnitř základní složky mapy musí existovat další složky:

Základní Složky

  • dest: Ukládá cedule a značky.
  • skins: Ukládá skiny autobusů mapy (uvnitř skins/0/pbc).
  • textures: Ukládá textury. Vyhněte se JPG, používejte PNG!
  • tiles: Povinně musí mít tento název. Uvnitř ní je složka modelů (modelsDir).

DŮLEŽITÉ: MÓDY MAP PROTON BUS SE NAČÍTAJÍ CELÉ! NEMOHOU BÝT PŘÍLIŠ TĚŽKÉ. POKUD SE CHYSTÁTE UDĚLAT NĚKOLIK DLOUHÝCH LINEK, ROZDĚLTE JE NA ČÁSTI.

Uvnitř složky definované v modelsDir jsou exportované soubory .3ds a konfigurace:

Složka Tiles

Vnitřní struktura složky modelů:

Podsložky Modelů

  • aipeople: Nastavení chodců.
  • aitrains: Nastavení vlaků.
  • aivehicles: Nastavení dopravy.
  • busstops: Nastavení autobusových zastávek.
  • entrypoints.txt: Pokročilé nastavení vstupních bodů.
  • entrypoints_list.txt: Jednoduchý seznam vstupních bodů.

DŮLEŽITÉ: MÓDY NEJSOU CHRÁNĚNY! TECHNICKY ŽÁDNÁ HRA NENÍ. JEDINÝ ZPŮSOB, JAK NEVLASTNIT SVŮJ MÓD UPRAVENÝ NEBO UNIKLÝ, JE NEVYDÁVAT HO.


Konfigurace vstupních bodů

Vstupní body definují, kde se autobus objeví při spuštění hry. Musí mít unikátní názvy (např.: 351F-10 TP, Garagem Central).

DŮLEŽITÉ: NIKDY NEPOUŽÍVEJTE HÁČKY, ČÁRKY ANI SPECIÁLNÍ ZNAKY V TĚCHTO NÁZVECH! NEPOUŽÍVEJTE ANI LOMÍTKA.

entrypoints_list.txt

Jednoduchý seznam, jedno jméno na řádek.

Seznam Entrypoints

entrypoints.txt

Definuje pozici a fyzickou rotaci na mapě.

Konfigurace Entrypoints

Pamatujte: V Blenderu je Y přední/zadní a Z je výška. V Unity (hra), Y je výška a Z je přední/zadní. Při kopírování souřadnic invertujte Y a Z!

Pro zjištění souřadnic použijte objekt Empty v Blenderu:

Empty v Blenderu

Cedule a Destinace

Ve složce dest, vytvořte složky s PŘESNĚ stejným názvem jako entrypoints definované v txt.

Složka Dest

Uvnitř každé složky destinace jsou obrázky:

Obrázky Destinace

DŮLEŽITÉ: VYHNĚTE SE OBRÁZKŮM VĚTŠÍM NEŽ 2048 PIXELŮ PRO MOBILY!

Doporučené názvy souborů pro cedule:

  • 1.png, 2.png, 3.png (Elektronické cedule 1024x128)
  • capelinhaDigital.png, capelinhaPVC.png (256x128)
  • lonaDestino.png, lonaLinha.png (Rolovací cedule)
  • placa1.png, placa2.png, placa3.png (Boční a přední značky)

Konfigurace cestujících

Každá zastávka musí mít unikátní název ve 3D (např.: zzPonto1).

V Blenderu (3D)

Zastávka se skládá z:

  1. Neviditelné krychle (trigger) nazvané názevzastávky_trigger.
  2. Malých objektů (plochy/krychle) pro pozici cestujících, nazvaných názevzastávky.000, názevzastávky.001, atd.

Zastávka v Blenderu

TIP: Používejte jednoduché plochy pro cestující, abyste ušetřili polygony.

Správný Trigger:

Správný Trigger

Příklad dobře umístěného triggeru:

Příklad Triggeru

Příklad špatně umístěného triggeru (nesmí!):

Chybný Trigger

Překrývající se (nesmí!):

Překrývající se Trigger

Správně na protilehlých zastávkách:

Protilehlé Zastávky

Vizualizace v Debug módu:

Debug Mód

V souboru .txt (busstops)

Vytvořte txt ve složce busstops se stejným názvem jako zastávka.

Txt Busstop

[busstop]
name=Zastávka Náměstí
isLeft=0
paxAmount=15

[from_3d]
readFrom3D=1
prefix=zzPonto1
maxPathsToCheck=30
defPaxRotY=90
  • prefix: Musí přesně odpovídat názvu použitému ve 3D (před .000).
  • defPaxRotY: Výchozí rotace cestujících (testujte 0, 90, 180, -90).

Konfigurace chodců

Funguje podobně jako zastávky: sekvence objektů definující cestu (path). Příklad: xxCalcada1.000, xxCalcada1.001, atd.

Cesta Chodců Blender Chodci

Vytvořte txt ve složce aipeople:

Txt Chodci

[automatic_setup]
enabled=1
loop=0
reverse=0

[defaults]
isSpawner=1
spawnInterval=5
allowBicycle=0
  • loop=1: Poslední bod se připojí k prvnímu (kruhový).
  • loop=0: Cesta končí na posledním bodě (lineární).

Konfigurace dopravních vozidel

Prostě stejně jako chodci! Složka aivehicles.

Txt Doprava

  • isBusSpawner=1: Aby se objevovaly autobusy.
  • spawnInterval: Zvyšte pro snížení dopravy.
  • speedMultiplier: Změňte rychlost (např.: 0.5 polovina, 2 dvojnásobná).

Konfigurace skinů autobusů mapy

Umístěte skiny (PNG) do skins/0/pbc. Hra vybírá náhodně. Základ skinu PBC: http://omsi.viamep.com/proton/base-skins-pbc-protonbussimulator.zip


Konfigurace vlaků

Stejná logika, složka aitrains. Doporučení: isSpawner=0 v defaults, a definujte ruční spawnery s rozestupem.

Txt Vlaky

  • randomTimeToWaitAtStart=1: Začíná v náhodném čase.
  • spawnTimeInterval: Interval mezi vlaky (např.: 120 sekund).

DŮLEŽITÉ: VLAKY NESTAVÍ! PŘEJEDOU VŠECHNO. NEDĚLEJTE ŽELEZNIČNÍ PŘEJEZDY.


Speciální příkazy a názvy ve 3D modelech

  • Průhlednost: Použijte _transparent_ v názvu objektu (např.: grade_transparent_).
  • Kolizní tělesa: Použijte _gencol_ pro generování automatického kolizního tělesa (ulice, chodníky). Používejte s mírou!
  • Neviditelné Kolizní těleso: Použijte _gencol_invisible_ (např.: barreira_gencol_invisible_).
  • Emissive: Použijte _emissive_ pro objekty vždy zapnuté.
  • Zóna Nízké Rychlosti: Objekt _low_speed_zone_ pro terminály (vyhýbá se stížnostem).

Low Speed Zone

  • Vynutit Východ: Objekt _force_exit_ poblíž konečné zastávky.

Force Exit

  • Extra Detaily: Ukončete soubor 3DS na _det1.3ds (např.: arvores_det1.3ds). Načte se pouze tehdy, pokud uživatel povolí "Extra Detaily".

Konfigurace třpytivých textur

Aby se zabránilo blikání textur (z-fighting/flickering) na podlaze, vytvořte soubor .config.txt vedle textury. Např.: asfalto.png.config.txt.

Config Txt


Extra - Tipy pro optimalizaci

  • Malé Textury: Používejte 256x256 nebo 512x512 pro opakující se textury.
  • MAX 2048px: NIKDY nepoužívejte textury větší než 2048px pro mobily!

Varování Textura

  • Kolizní tělesa: Vyhněte se složitým kolizním tělesům. Používejte _gencol_ pouze na podlaze a hlavních zdech.
  • Materiály: Vyhněte se mnoha materiálům na stejném objektu.
  • Kombinujte Objekty: Kombinujte blízké stromy se stejným materiálem pro snížení draw calls.

To je pro teď vše! Dobrou zábavu!