Modelovanie ciest


Textúra
Modelovanie z kvádra.
Modelovanie z plane, alebo kriviek
Alfa kanal okraj
Doplnky k ceste - jarky, chodníky
Config.txt

Konštrukcia jednoduchej cesty je v podstate jednoduchou vecou. Jedná sa vlastne o splíne určitej dĺžky umiestnenú v určitej výške nad povrchom. Plocha môže byť aj rovná, ale vo väčšine je v strede zvýšená oproti okrajom. Najväčšou výhodou takéhoto tvaru je výborné spájanie a otáčanie do zákrut. Ak by ste k rovnej ceste s rovným povrchom pripojili odbočku s rovnako rovným povrchom a samozrejme na tej istej výške nad povrchom, na spoji by obe cesty tvorili preblikávajúce úseky, keďže spojnicové plochy oboch ciest by boli v rovnakej výške a vzájomne by sa rušili. To samé pri ostrejších zákrutách kde prichádza k deformácii.. Pri cestách s vyvýšeným stredom sa toto stratí keďže kontaktná prekrívajúca sa plocha na rovnakej výške od povrchu je zanedbateľná oproti celkovej ploche cesty na danom mieste.

Textúra.

Na cesty je možné použiť rôzne textúry,  pričom väčšinou sú maximálne 64x128 pixelov. Väčšinou však polovičné čo na väčšinu ciest celkom postačuje. Najdôležitejšou vlastnosťou textúry je to, že oba jej konce musia byť otočením proti sebe vzájomne kompatibilné pokiaľ majú vzor. Spájaním ciest ktoré sa takto neupravia prichádza k akejsi schodovistosti kde vidno jednotlivé úseky cesty.
Spôsobov ako si takúto textúru pripraviť je viac. Najjednoduchší je ten, keď sa vezme pokiaľ možno čo najmenšia časť ľavého okraju, otočí sa v rovine a prirovná k pravému okraju. Ale pozor. Ak vezmete veľkú časť ba až polovicu dostanete pri opakovaní textúr takzv. efekt "perzského koberca" keď vám na ploche vzniknú bizarné ornamenty.
Osobne uprednostňujem cesty so vzorom ktorý simuluje jazdné pruhy.


Podľa toho ako cestu budeme modelovať musíme zvoliť aj textúru. Ak modelujeme tak že vodorovné značenie je v extra ploche základná textúra je bez vodorovného značenia prípadne niekde na jej samostatnom okraji. Cesta má obvykle viac polygónov na určitý úsek, ale lepšie sa zobrazuje a textúruje. Ak modelujeme tak, že vodorovné značenie nieje na extra ploche musí byť samozrejme súčasťou textúry.  Cesta má síce menej polygónov, ale zas na každé vodorovné značenie musíme vytvoriť často samostatnú textúru.


Vodorovné značenie a celá  cesta musí byť na určitú fixnú dĺžku cesty. Obvykle na dĺžku jednej prerušovanej vodorovnej čiary, teda 4 až 5m pričom vodorovná čiara musí byť v strede pre lepšie spájanie rôznych ciest.
Samotnú cestu si môžete nakresliť, ale aj vytvoriť z reálnej fotografie. Je to však náročnejšie na neskoršiu úpravu. Cestu si musíte nafotiť najlepšie z nejakého mostu či nadchodu, naviac v úseku bez vodorovného značenia.


Modelovanie z kvádra.

Po základnom nastavení gmaxu si vytvoríme nový objekt BOX  o šírke 8m, dĺžke 4m a výške 0.2m a umiestnime ho tak, že x bude 0, y bude -2 (dĺžka 4m delené 2) a z bude 0..


Klikneme pravou myšou na objekt a prekonvertujeme ho do CONVER TO - EDITABLE MESH


Označíme si horné vertexy v hornom menu si vyberieme SELECT AND UNIFORM SCALE podržaním myši vyberieme horizontálnu transformáciu


Potom.pravou myšou vyvoláme okno SCALE TRANSFORM TYPE IN kde v parametri  OFSET WORLD X udáme hodnotu 5 (udáva zmenšenie v percentách).


To zabezpečí zmenšenie na horného pruhu na 0.4m.


Je to šírka do ktorej budeme neskôr prirovnávať vodorovné značenie s kúskom cesty po každej strane. Ak ho zúžime napríklad na 0.2 môžeme doň vkladať iba pruh s vodorovným značením čo nám značne uľahčí prácu pri jednoduchom vodorovnom značení, ale zároveň sťaží pri dvojitom a do určitej miery aj variabilite. Je iba na vás ako sa rozhodnete a záleží to hlavne od sady ciest ktorú chcete postaviť.
Keď máme nastavené vertexy v edit menu prepnite na POLYGON stlačte F2 na farebné odlíšenie vybratých polygónov a označte si oba bočné a spodný polygón. S klávesom DELETE ich zmažte vrátane volných vertexov.


Teraz pristúpime k textúrovaniu. Textúrovať budeme z dvoch bitmat v ktorých v jednej mame samostatnú cestu a v druhej vodorovné značenie. Samozrejme je možné použiť aj jeden súbor v ktorom je jednak cesta a aj vodorovné značenie, ale ja uprednostňujem samostatné bitmapi pretože ak chcem vytvoriť sadu vodorovných značení k tej istej ceste stačí mi meniť iba malý súbor s vodorovným značením. Otvoríme si teda MATERIAL EDITOR a štandartným spôsobom NEW - STANDART - DIFUZE - BITMAP - OK vyberieme najprv textúru s cestou a potom aj textúru s vodorovným značením. Textúru zatiaľ neprideľujeme.


Označíme si objekt a v edit menu vyberieme POLYGON. Označíme stredný polygón a oddelíme ho od ostatku cesty s DEATACH. Následne zrušíme výber polygónu a ceste pridelíme textúru. Potom vyberieme stredný prúd a pridelíme mu druhú textúru vodorovného značenia.
Teraz si označíme krajné pruhy a v MODIFIER vyberieme UV COORDINATES - UVW MAP. Potom označíme os Y a PLANAR a klikneme na tlačítko FIT čím namapujeme správne textúru na oba pruhy cesty. Nakoniec s COLLAPSE ALL všetko uložíme. To samé prevedieme so stredným pruhom.


Nakoniec prípadne ak je to potrebné pomocou nástroja MODIFIER - UVW COORDINATES - UNVRAP UVW upravíme textúru do finálnej podoby čím je cesta dokončená.


Popíšem tu ešte spôsob textúrovania s multy textúrou. To značí, že jeden objekt ma pridelených viac bitmap pričom každá má svoje jedinečné ID. Nieje potrebné pri tom oddeľovať niektorú časť objektu od celku a textúrovať objekt ako celok s viacerými súbormi. Treba však podotknúť, že napriek bežnému používaniu skôr MULTITEXTÚR ako STANDART pri modelovaní 3D objektov žiaľ pre TRS to nieje vždy použiteľné a hlavne alfa kanály sa musia textúrovať na oddelený objekt a pokiaľ možno ako posledné.

Otvoríme si materiál editor a v ňom vyberieme novú textúru


V novom okne vyberieme multi-material a potvrdíme s OK.


V novom okne do NAME napíšeme názov multi materiálu napr. MULTICESTA a do NAME jednotlivých materiálov názov CESTA pre materiál asfaltu a ZNACENIE pre materiál vodorovného značenia.

Vidíme že jeden ma ID 1 a druhý ID 2. Teraz kliknutím na príslušné tlačítko MI #0 pod tlačítkom SUB MATERIAL otvoríme dialóg načítania súboru kde pomenujeme textúru ako CESTA_ASFALT.


Tu kliknutím na tlačítko vedľa DIFUZE  a neskôr BITMAP vyberieme základnú textúru asfaltu.


Teraz si zvolíme druhé tlačítko a textúru v multi textúre a všetko zopakujeme pre bitmapu vodorovného značenia pričom textúru pomenujeme ako CESTA_ZNACENIE.


Kliknutím na tlačítko APPLY textúru pridelíme objektu.



Teraz na objekte vyberieme v edit menu POLYGON a na objekte označíme dva polygóny s cestou.


Potom otvoríme MATERIAL NAVIGATOR kliknutím na ikonu (modro-červeno-žlté kruhy), vyberieme materiál s ID 1 - cestu a potvrdíme kliknutím na ľavú hornú ikonu.


Na objekte teraz vyberieme stredný polygón a všetko zopakujeme pre textúru s vodorovným značením a ID 2.


Tým máme textúry pridelené pričom každý polygón má svoje ID.


Pri mapovaní v editore potom stačí vybrať príslušne ID a textúru a môžeme mapovať.

 


Nato ale aby naša cesta mohli byť kompatibilná aj s ostatnými cestami je nutné upraviť jej vertexy. Pre české cesty musia mať krajné vertexy  Z = 0.2 a stredné vertexy musia mať Z = 0.4. Pre kompatibilitu s implementovanými cestami musia mať krajné vertexy Z = 0.25 a stredne vertexy musia mať Z = 0.3.  Takto vytvorená cesta má na každé 4m svojej dĺžky 6 polygónov. Má však jednu veľkú prednosť. Vodorovné značenie do diaľky jej ostáva jasne viditeľné  a nerozmazáva sa.




Modelovanie z kriviek, alebo plane

V nasledujúcom príklade vám chcem ukázať iný spôsob modelovania z PLANE, alebo aj kriviek. Môžeme tak vytvoriť rovnako polygónovú cestu, ako predošlú. Tu ale bude cieľom vymodelovať iný typ cesty ktorý budeme modelovať z PLANE.
V hornom pohľade si vytvoríme jedno PLANE o šírke 4m a dĺžke 4m a na pozícii x = -2, y= -2 a z= 0.
Z tohoto plane vytvoríme pomocou EDIT - CLONE klon s ľubovolným názvom a ten premiestnime po osi x na hodnotu X= +2. Následne ho prekonvertujeme pomocou CONVERT TO - EDITABLE MESH na mesh a pomocou tlačítka ATACH v pravom edit menu k nemu pripojíme pôvodné plane a spojíme do jedného celku.
V pravom edit menu vyberieme VERTEXY a vyberieme si najskôr horné a potom spodne stredné styčné body a tie pomocou tlkačítka COLAPSE  vzájomne zvaríme.  Tak dostaneme základ pre cestu.


Samozrejme, že to samé dostaneme aj z kriviek ale osobne si myslím, že z plane to je o niečo jednoduchšie a rýchlejšie.
Máme teda hotový základ budúcej cesty a ten teraz môžeme otextúrovať.
V prvom prípade sme mali dve textúry, samotnú cestu - jeden jazdný pruh a vodorovné značenie.


Tu musíme mať jednu cestu zloženú z oboch jej jazdných pruhov a aj s vodorovným značením.


Otvoríme si teda MATERIAL EDITOR a štandartným spôsobom NEW - STANDART - DIFUZE - BITMAP - OK vyberieme textúru s cestou a pridelíme ju ceste.
Teraz pomocou  MODIFIER - UV COORDINATES - UVW MAP ako BOX na os X. a s COLLAPSE ALL všetko uložíme.


Nato ale aby naša cesta mohli byť kompatibilná aj s ostatnými cestami je nutné upraviť jej vertexy. Pre české cesty musia mať krajné vertexy  Z = 0.2 a stredné vertexy musia mať Z = 0.4. Pre kompatibilitu s implementovanými cestami musia mať krajné vertexy Z = 0.25 a stredne vertexy musia mať Z = 0.3.  Takto vytvorená cesta má na každé 4m svojej dĺžky 4 polygónov (o dva menej ako v predošlej verzii). Má však jednu nevýhodu. Vodorovné značenie do diaľky sa rozmazáva a splýva postupne do jednej šede s asfaltom. Chová sa tak ale aj implementovaná cesta v hre. Pre bežné použitie takto modelovaná cesta je plne dostačujúca keďže dôležitejšou časťou mapy je koľajište a nie cestná sieť. Modelovanie prvým spôsobom je zaujímavé ak používate cestnú dopravu, alebo si potrpíte na dokonalosť aj za cenu polygónov naviac pretože pre každý pruh vodorovného značenia ako aj pruhu, a teda aj na kraji cesty či viacpruhových ciest to chce extra plochu a teda aj 2 polygóny na 4m cesty naviac. Tak sa v extréme môžete dostať až na 18 polygónov pri štvorprúdovej ceste, alebo na 24 polygónov na  4m cesty pri šesťprúdovej diaľnici. Na porovnanie vľavo je 4 poly verzie a vpravo je 6 poly verzia kde vidno že v rozhodujúcej blízkosti drvivej prevahy pohľadu, až taký rozdiel nieje.


Ako uvidíte v nasledujúcich obrázkoch mnohé záleží aj od vzoru asfaltu a kontrastu asfaltu a bieleho značenia. Každopádne rozdiel sa objavuje až nad určité vzdialenosti. Celkom vľavo je 6polygonová verzia, všetky ostatné sú 4polygonové. Celkom vpravo je implementovaná cesta v hre a druha z pravá je cesta z mojej stavebnice ciest a mostov, tretia z prava je tuším nejaká Francúzka a štvrtá z prava - najsvetlejšia je česká cesta.



Alfa kanál okraj

Doteraz sme stále vraveli o ceste ktorá má rázne ukončený okraj. V reálie ale lepšie pôsobí cesta ktorej okraj plynulo prechádza do okolia tak ako v skutočnosti. Dosiahneme to pomocou alfa-kanálu použitého pri textúrovaní cesty. Tu narážame na drobný problém (nie však neriešiteľný) čo do prvej varianty ciest keď som použil iba jeden jazdný pruh na namapovanie oboch jazdných pruhov a naopak ďaleko jednoduchšie textúrovanie druhej varianty pri použití asfaltu spolu s vodorovným značením.
Ukážem vám ako si pripraviť jednoduchú alfa kanál textúru pre cestu spolu s vodorovným značením a čo s ňou dosiahneme.
Vychádzame z textúry ktorú sme použili v druhom prípade modelovania


Alfa kanál ma tú vlastnosť že jeho použitím všetky biele plochy sú viditeľné, všetky čierne plochy sú priesvitné a všetky sivé plochy sú čiastočne priesvitné, pričom záleží aj na intenzite šede. Upravíme si teda podľa toho textúru cesty tak, aby na oboch okrajoch sme mali  plynulý prechod z viditeľnej cesty do okolia cesty a to postupným prechodom z bielej do čiernej ako v nasledujúcom obrázku a tento uložíme pod novým názvom napríklad textura_alfa.bmp.



Tu je dôležite aby ak použijete vodorovné značenie aj na okraji cesty,  napríklad biely pruh, tento neprechádzal cez túto čiastočne priesvitnú časť. Vyzeralo by to čudne. A asi treba pripomenúť, že tak ako všetky textúry aj tu musí byť základina textúra nekomprimovaná 24 bit mapa  vo formáte TGA, alebo BMP a alfa kanál vo formáte BMP ako 8 bitový súbor.
Teraz pristúpime k namapovaniu textúry. V materiál editore vyberieme NEW - STANDART a do políčka NAME napíšeme meno napríklad ASFALT.  Následne cez tlačítko DIFUZE  - BITMAP vyberieme základný súbor.

Po návrate do materiál editoru si vyberieme v NAME našu textúru, označíme si bielo-modrú kocku a cez tlačítko OPACITY - BITMAP vyberieme alfa textúru ako jednostrannú textúru.


Túto textúru následne namapujeme na cestu tak aby polopriesvitné a priesvitné časti boli na okrajoch cesty.


Keď si potom cestu pozriete v TRS vidíte plynulý prechod okrajov asfaltu do trávnatého podkladu. Vľavo máte cestu bez alfa kanálu a vpravo s alfakanálom.




Doplnky k ceste - jarky, chodníky

Okrem samotnej cesty ktorá nám v podstate postačuje môžete doplniť aj niektoré doplnky ktoré samostatné cesty rozšíria.  Všetko sú vlastne spline a všetky plus mnoho ďalších objektov nájdete v mojej stavebnici ciest a ulíc. Môžu to byť napríklad


jarky


srazy


chodníky

obrubníky


a ďalšie ktoré sú buď

ako samostatné objekty ktoré sa prirovnávajú k ceste,

alebo sú priamo súčasťou cesty.


Cesty môžete stavať ako


mestské viac pruhové


alebo diaľničného typu.


Z mojej stavebnice môžete napríklad poskladať akúkoľvek cestu a križovatku či už na vidieku, alebo v meste.



Config.txt

Confih.txt musí byť súčasťou adresáru v ktorom je exportovaný IM súbor z gmax cez plugin ACS. Tu je niekoľko jeho parametrov ktoré by mala obsahovať cesta. Nie všetky sú povinné.

kuid

XXXXX:XXXXX

povinný identifikátor

kind

track

označenie skupiny

region

cesty

pomenovanie skupiny v ponuke editoru

type

cetsa_1

označenie

desription

cesta 1

komentár

asset-filename

cesta_1

názov diskového súboru IM

username

cesta _1

užívateľské meno v ponuke editora

category-class

SR

trieda

length

4.0

dĺžka v metroch

width

8

šírka v metroch

grounded

0.2

výška nad povrchom

istrack

0

označenie či sa jedná o trať

isroad

1

označenie či sa jedná o cestu

bendy

1

mód zalamovania v oblúkoch, 1 = súvislá linka bez zalamovania, 0= zalamovanie

carrate

15

premávka - číslo označuje sekundy od generovania ďalšieho vozidla, 0 = žiadne

uncached_alphas

1

alfa zobrazovaním podkladu

initiator

 

samostatný objekt začiatku spline (iba ak existuje)

terminator

 

samostatný objekt ukončenia spline (iba ak existuje)

divider

 

samostatný objekt oddeľujúci polia (iba ak existuje)

repeats

1

opakovania

uprights

10

 


späť na tútorial




.