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
|
|
|
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
|
|
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 |
|
.