Textúra objektu


1. Textúra - Bitmapa

Aby sme objektu dali nielen tvar, ale aj povrch a konečný vzhľad musíme mu prideliť, presnejšie ho potiahnuť textúrou. Textúra je vlastne obrázok - bitmapa s povrchom ktorým bude potiahnutá oblasť, stena, alebo celý objekt. A podľa toho je aj vytvorená. Vytvoriť ju môžeme z fotografie skutočného objektu, namaľovaním v grafickom editore, detailným vymodelovaním objektu a zosnímaním jeho 3D plochy, použitím volne šíritelnej textúry z internetu, alebo vzájomnou kombináciou možností (najčastejšie).

1.1.Jedna, alebo viac bitmáp
Na jeden objekt obvykle je treba viac textúr. To či sú to samostatné bitmapy, alebo budú všetky v jednej  veľkej bitmape je v zásade jedno. Záleží to od samotného objektu, textúr a spôsobu textúrovania. V zásade sa ale lepšie a prehľadnejšie pracuje s viac samostatnými bitmapami čo zároveň umožňuje jednoduchou náhradou bitmáp zmeniť celý objekt a tak jeden model použiť pre niekoľko rôznych dizajnom odlišných objektov. A hlavne menšie časti umožňujú väčšiu hĺbku ostrosti a detailov.


       

       

       


Mono bitmapa celého objektu
Niekoľko bitmáp k tomu istému objektu

Každopádne jedna bitmapa môže, ale nemala by presiahnuť 512x512 pixelov. Pri väčších súborov sa zhoršuje práca a zobrazovanie v gmaxe hlavne pri slabších a nie na grafiku stavaných grafických kartách.
Ak máte jednoduchý kvadratický objekt je vhodnejšia jedna bitmapa s celými stenami. Ak máte zložitejší, alebo zložený objekt je vhodnejšie použiť menšie súbory.  Zároveň menšie súbory umožňujú viac 3D detailov a prehľadnejšie mapovanie. Malo by teda teoreticky platiť vyváženie, že čím viac polygónov tým menšie súbory a naopak. Tvrdenie že väčší počet bitmap zvyšuje aj zaťaženie procesora pri hre sa mne zatiaľ nepotvrdilo a štandard vo svete 3D je každý objekt = samostatná  bitmapa.  Je samozrejme možné použiť jednu a tú istú bitmapu pre viac objektov.  Treba proste hľadať kompromis a ideálne riešenie pre konkrétny objekt. Pričom ako objekt nepovažujemcelok, ale iba jeho časť. A naviac je aj rozdeil mapovať s fototextúrou a malovanou textúrou.

1.2 Rozmer a typ bitmapových súborov
TRS vyžaduje a najspoľahlivejšie pracuje ak používa bitmapy plnofarebné vo formáte TGA alebo BMP a pre použitie alfa kanálu 256 farebný BMP súbor.  Podmienkou je presne daná veľkosť hrany obrázku. Každá bitmapa musí mať 16x16, 32x32, 64x64, 128x128, 256x256, 512x512, 1024x1024, ... a vzájomné kombinácie. Ak je jedna strana čo i len o jeden pixel odlišná, v hre budete mať miesto textúry na objekte bielu plochu.
Pri práci ale platí jedna zásada. Keď modelujete objekt používajte radšej väčšie bitmapy ktoré potom do finálneho objektu zmenšite. Je totiž predpoklad že budete textúru upravovať, doostrovať a každá digitálna úprava  spôsobuje chybu, skreslenie ktoré pri malom zväčšení je výraznejšie ako ako pri veľkej bitmape.

1.3. Usporiadanie v bitmape

Ako som už spomenul to či sa rozhodnete pre jednu bitmapu, alebo viac bitmap je už vecou modelovania a objektu samotného. Snahou by ale malo byť šetrenie, To značí, že nieje dobré na ploche jednej bitmapy kde máte viac častí  plytvať zbytočne priestorom a všetky objekty sa snažiť poukladať tak aby ste využili plochu na maximum.



Príliš veľa nevyužitého priestoru.
Ekonomicky uložené časti objektu

Môžete tak použiť maximálne zväčšenie na minimálnej ploche. Od toho sa aj odvíja tvar a veľkosť bitmapy. Záleží to od toho ako mapujete stenu. Ak máte možnosť použiť jednu časť násobením na stenu treba tomu aj všetko prispôsobiť.



Takýto "slíž" napríklad umožňuje znásobiť celé poschodie na celú výšku viac poschodového paneláku jednoduchým opakovaním. Nevýhodou však je opakovanie sa okien a balkónov a tak prílišná jednotvárnosť celej steny na rozdiel napríklad celej steny v jednom kuse kde každé okno môže byť svojou atmosférou iné. Toto je vcelku dobre popísane v tútoriale o stavbe paneláku.
Ak si pozriete tútorial o stavbe nakladacej rampy uvidíte aj ďalší dôvod rôzneho usporiadania, ale aj použitia jednej alebo viac bitmáp podľa toho čo chcem dosiahnuť a ako staviam objekt.  Na okrajoch rámp je totiž v dizajne celku dosť podstatný pás plechu natretý žltočierným pruhovaním. Ten môže byť samozrejme súčasťou textúry celej bočnej a vrchnej steny.  Tu môžem bitmapu násobiť po dĺžke na ľubovolne dlhú bočnú stenu.





Ale v tomto prípade pre zachovanie proporcionality tohoto pásu na boku a vrchu by horná stena musela byť nadmerne a zbytočne veľká. Naviac by mohlo prísť k splývaniu v diaľke. A už vôbec nieje možné použiť efekt lesku kovu na tento pás lebo by sa nám leskol aj betón. Preto je lepšie pridať samostatnú plochu - polygón - na hornú i bočnú stenu a tú namapovať žltočierným samostatným pasom a samostatnou bitmapou s leskom a ostatnú stenu či vrch samostatným betónom. Oboje je správne je iba na vás pre ktorý variant sa rozhodnete.



Ak mapujete napríklad strechu domu a máte peknú textúru v celku kľudne môžete natiahnuť textúru strechy ako celok na strechu alebo jej pólky rovnako ako stenu.






Často je ale krajšie použiť menšiu zato ale výrazne ostrejšiu malú bitmapu kúsku strechy a tú pri mapovaní znásobiť opakovaním na celú strechu. Podmienkou je ale samostatná bitmapa vzorom a odtieňom na styčných plochách zhodná, alebo so vzorom ktorý rozdiel pohltí a zakryje. A tiež, že spojnice dvoch strešných plôch budú vzorom sedieť a budú presne dolícované. 3Dmax, ale aj gmax nato má skvelé nástroje ktoré to spravia za vás.




1.4 Časť bitmapy ako vytvoriť bitmapu na násobenie
Často vidím na mnohom objekte bizarné obrazce pripomínajúce perzský koberec, alebo naopak farebný skok.





Niekedy to je žiadúce, ale obvykle to nepôsobí príliš pekne. Konkrétne napríklad pri streche ak použijete fototextúru sa obvykle stáva že tú strechu nenafotíte kolmo, takže je skreslená, alebo sú na nej všelijaké tiene a kresby spôsobené vekom. Potom vezmete jednu časť z tej strechy  a  v dobrom úmysle vezmete z nej jednu polovicu  a tú otočením v ose prilepíte z opačnej strany aby ste získali zhodu pri násobení. Styčné plochy budú síce zhodné, ale páve tou zhodou vznikajú bizarne nereálne obrazce. Obrázok totiž nemá iba vzor ale aj farebnú štruktúru a aj tú treba brať do úvah pričom práve nepravidelnosť pôsobí reálnejšie ako akákoľvek pravidelnosť.
A skok zase vzniká naopak ak je jedna strana farebne značne odlišná od druhej. A pri tom to všetko má celkom jednoduché riešenie. Skoro každý grafický editor má v sebe nástroj na vytváranie prechodov či rozmazanie spojov. Pomocou tohoto nástroja je nutné vytvoriť nielen vzorový, ale aj farebný prechod. A vybrať takú oblasť strechy ktorá k sebe korešponduje prirodzene.




Alebo práve naopak rozdielnosť kresieb a hlavne vzorov práve využiť ako vztyčné plochy,  kde práve diametrálne iný grafický a farebný motív grafiky zakryje chyby a spoje svojou farebnou a vzorovou štruktúrou. Základom je oklamanie očí.







1.5 Vytvorenie bytmapy z inej časti objektu
To že z kúska steny dokážete spraviť celú stenu, alebo jej časť, že do steny bez okna dokážete vložiť okno či podobne je samozrejmé. No nieje vždy je podmienkou vytvoriť textúru z originálu či tej samej časti skutočného objektu či toho istého objektu. Kľudne môžete nechať na plno pôsobiť svoju fantáziu. V tútoriale o stavbe budov so šikmou strechou som spomenul, že kus zdevastovanej strechy môžete vytvoriť z celkom iného objektu. V tomto prípade zo zdevastovanej protihlukovej ochrane vedľa trate.




Výberom určitých častí a úpravou z niečoho celkom iného vytvoríte vlastne niečo celkom iné.

1.6 Fotenie textúr a ich digitálna úprava
Všeobecne platí niekoľko zásad

1.
Fotiť vždy keď je rozptýlené svetlo. Teda pod mrakom a nikdy nie za plného slnka. Iba ak cielene chcete zachytiť určité tiene či farby môžete fotiť aj za slnka. Treba však brať do úvah že napríklad lesk sa značne zvyšuje za slnka.
2.
Fotiť pri čo najväčšom rozlíšení. Znížiť rozlíšenie a zmenšiť obrázok sa dá. Opačne bez nárastu chýb to už nejde.
3.
Fotiť vždy kolmo z rovnakej vzdialenosti a nastavení,  tak aby sa obrázky prekrývali. Ľahko ich poskladáte do jedného celku. Ak by ste fotili šikmo skreslenie vám zabráni poskladaniu do jedného celku. A nepomôže ani otáčanie.




4.
Pracovať a upravovať obrázok pri veľkom rozlíšení. Každá úprava spôsobuje chybu ktorá pri malom počte DPI a veľkosti je výrazne väčšia ako pri veľkom. Tieto chyby sú preto potom nezvrátiteľné.
5.
Dodržiavať postupnosť úprav tak aby najskôr prebehli farebné úpravy a až nakoniec úprava kontrastu a doostrenie, ktoré by nemalo byť príliš drastické. Pri drastickom doostrení či vysokom kontraste sa pri zmenšení objavia nenapraviteľné chyby posunov.
6.
Nieje vždy nutné dosahovať vysoký kontrast a ostrosť. Niekedy mierne mäkšia bitmapa na objekte pôsobí ďaleko lepšie ako kontrastná a tvrdá. Zvlášť ak sa používajú aj efekty.
7.
Upravovať textúry a používať efekty materiál editora ktoré zvláda aj TRS.
Tu je malá ukážka časti rôznych nastavení  a efektov materiál editoru pri tej istej textúre a objekte.

 

 


8.
Ak niektorú časť objektu maľujete nikdy nepoužívať jednu farbu. V skutočnom živote mono farba neexistuje a obvykle ma každý povrch určitú štruktúru. Objekty s mono farbou a kreslenou textúrou vo všeobecnosti pôsobia ako mŕtve plastové modely. Ak už maľovať tak využívať plnú škálu možností grafického editoru na jej vylepšenie.



2.  Textúra - Alfa kanál.

Alfa kanál je nutný ak chceme úsporne vytvoriť priehľadnú plochu. Buď ako sklo, plot, rebrík, zábradlie, drôt, koleso kladky, výklad, stenu telefónnej búdky, okno, televízna anténa, strom, krík, trávu a mnoho ďalších objektov. Používa sa všade tam kde je možné takto ušetriť zjednodušením konštrukcie a teda aj detailov nejaký ten polygón. Všade kde je možné ale hlavne vhodné nim niečo nahradiť. Napríklad plot sa dá postaviť aj tak, že vytvoríme každé oko, každý nosník či tyč zo samostatných  boxov. Objekt bude pôsobiť pekne priestorovo a reálne. Ak ho naviac pekne otextúrujeme bude priam nádherný, ale pre TRS bude takto mať  stovky ak nie tisíc polygónov na pomerne malom úseku. Nevadí to v bežnej 3D grafike kde je cieľom vyrenderovať jednu statickú scenériu. V hre ktorá všetko v reálnom čase generuje a prepočítava to ale značne zaťaží náš počítač a teda aj hru  spomalí. Preto sa používa  ako náhrada na miestach kde sa to dá a objekt nič nestratí čo do reálneho pôsobenia.


2.1. Čo je to alfa kanál v TRS.

V zásade sa jedná o dve samostatné bitmapy kde jedna je samotnou plnofarebnou textúrou a druhá takzvaný alfa kanál ktorý určuje ktorá časť sa bude zobrazovať plnofarebne a ktorá bude priehľadná. Tento alfa kanál je 256 farebná bitmapa v zásade čierno biela, ale môže obsahovať aj šedé, alebo iné odtiene. V podstate sa jedná zjednodušene o negatív.  Plnofarebná bitmapa môže byť priradená k viacerým rôznym alfa bitmapam a naopak

hlavná textúra
alfa kanál







Biele časti sa zobrazujú plnofarebne, šedé čiastočne a čierne ostávajú priesvitné. Obidve bitmapy by mali byť zhodných rozmerov a objekty sa musia samozrejme prekrývať.

2.2 Ako si vytvoríme alfa kanál.
Spôsobov je niekoľko a záleží od editoru ktorý používate. Najjednoduchší spôsob je vytvorenie negatívu z pôvodnej textúry.



V bežnom editore si otvoríme príslušnú plnofarebnú textúru a prevedieme inverziu farieb. Dostaneme nový formát ktorý bude vlastne negatívom pôvodného obrázku
Vyberieme si bielu farbu a vyfarbíme s ňou všetky časti ktoré majú byť pnofarebné a nepriehľadné. Rovnako môžeme vystrihnúť tieto časti, alebo u viacfarebných obrázkov nám môže pomôcť prevod do menej farebných obrázkov kde sa nám niektoré odtiene stratia a farebnosť zjednoduší. Tu ale treba mať už isté  skúsenosti aby sa nám nestratila aj časť farieb - plochy ktorú budeme potrebovať Nakoniec takto vzniknutý obrázok uložíme ako 256 farebnú bitmapu pod novým názvom napríklad zabradlie_alfa.

Ak vlastníte a používate profesionálny grafický program máte to jednoduchšie v tom, že tie obvykle majú niekoľko nástrojov na tvorbu alfa kanálov. Výhoda je hlavne u zložitejších objektov. Postup je rôzny a záleží od samotného obrázku napríklad kabínku žeriavu môžeme spraviť aj nasledovne

Vyberieme si obrázok a zvolíme kanály
Označíme si prvé okno
a masku uložíme ako alfa kanál 1 Vyberieme teraz druhé okno a masku pripočítame ku kanálu 1
To isté spravíme aj s tretím oknom
Máme teraz spolu všetky 3 masky ktoré uložíme na disk ako nový súbor obrázku.

Na obrázku prevedieme inverziu a dostaneme tak alfa kanál k plnofarebnej textúre. Samozrejme že je možné postupovať aj naopak, že ako masku vyberieme okolie okien a tak túto inverziu nemusíme prevádzať. Zaleží to od textúry.


Tento postup je samozrejme iba ukážkou jednej z mnoho možností pri členitom objekte s niekoľko oknami. Záleží to skutočne od objektu, použitého software a jeho možností.  V helpe grafického editora popísaný postup totiž tiež nemusí a ani nieje jediný spôsob ako niečo dosiahnuť. Pointa je vždy v dosiahnutí cieľa čo najjednoduchším spôsobom s čo najmenej krokmi.
Špecialitou je alfa kanál kde má časť ostať polopriepustná. Napríklad u koľajníc alebo ciest na ich okrajoch, a hlavne u vegetácie aby tak bol zabespečený prechod do okolia.
Túto polopriepustnosť si vytvoríte v bežnom editore inverziou a znížením počtu farieb na 256, najlepšie až na 16.  Potom prevediete obrázok do formátu odtieňov šedej a časti kde má byť plnofarebné zobrazenie vyfarbite bielou a časti kde má byť priesvitná časť vyfarbite čiernou. Pritom sa snažte vytvoriť plynulý prechod z jedného do druhého cez odtiene šedej. Nakoniec obrázok uložíte ako 256 farebnú bitmapu alfa kanálu.
Ak vlastníte kvalitný grafický editor máte to omnoho ľahšie. Pretože ten má v sebe zabudovaných mnoho nástrojov na odfiltrovanie odtieňov ba aj priamo vytvorenie prechodov.



 


2.3. Ako si nadefinovať alfa kanál v gmax.

V editore materiálov si vyberieme nový, standart
dáme mu do políčka NAME meno a cez tlačítko DIFUZE  a BITMAP načítame základnú plnofarebnú bitmapu
Teraz si v okienku NAME zvolíme náš material a načítame k nemu cez tlačítko OPACITY rovnako alfa textúru.
V spodnej časti môžeme nastaviť percentuálny podiel oboch bitmap. Môžeme takto dosiahnuť plnú, alebo čiastočnú  priehľadnosť, alebo rôzne efekty hlavne u skla, ktoré celú scénu ešte vylepšia. Treba ale dávať pozor pri textúrach kde je aj plná plocha. Priehľadnosť a jej intenzita sa totiž vzťahuje na celú bitmapu.
Na objekt potom namapujeme textúru tak, že si označíme objekt (alebo jeho časť),  v materiál editore označíme modro-bielu kocku na zobrazenie mapovanej textúry aj na objekte a klikneme na APPLY V materiál editore je malé políčko označené ako 2-SIDET. Jeho zaškrtnutím sa alfa kanál (aj akákoľvek iná textúra) bude zobrazovať na oboch stranách plochy kam bola namapovaná.  
Inak sa zobrazuje iba na jednej čelnej strane a druhá je prázdna V TRS však zobrazovanie alfa kanálov je trocha problémové a tak je vhodnejšie vytvoriť samostatne vonkajšiu a vnútornú stranu a každú aj samostatne otextúrovať alfa textúrou pričom tá vnútorná by mala byť o niečo tmavšia pre krajšie a realistickejšie zobrazenie zatieneného vnútra objektu

K alfa textúram ešte treba spomenúť aj alfa textúry ktoré sú zložené z plnofarebnej bitmapy a skutočného jej negatívu. Používa sa to ojedinele, ale dá sa tak pekne modelovať to kde to chce plynulé a veľmi jemne zobrazovanie a prechody k okoliu, alebo aj v nočnom móde slabšie osvetlené verandy či vôbec jemnejšie kresby.
U svetla je použitý ešte jeden iný variant a to použitie zdvojeného alfa kanálu. Teda alfa kanálu ktorý je sám sebou resp kde plnofarebná i alfa textúra je tá istá bitmapa. Samozrejme v oboch prípadoch sa musí jednať o odtiene šedej resp s logikou alfa bitmáp. Modeluje sa tak napríklad svetlo okolo žiarovky pre nočný mód
.

Textúra hornej časti lampy kde plnofarebný i
alfa kanál je tá istá bitmapa
Výsledok

Ďalšou špecialitou alfa kanálov je tvorba svetelných kužeľov (a iné podobné), ktorá sa používa pre nočný mód na stenách. Nebudem teraz hovoriť o nočnom móde ako takom, ktorý je dobre popísaný v tútoriale o paneláku, ale o vytvorení efektu lampou osvetlenej časti budovy.

  
Plnofarebná bitmapa
Príslušná alfa kanalová bitmapa



Pointa tvorby je v čiernej vrstve k plnofarebnej bitmape osvetlenej s efektom svetiel tak aby vznikol kužeľ ktorý osvetľuje stenu z mysleného zdroja svetla. Táto čierna vrstva sa vlastne stáva potom alfa kanálom k pôvodnému podkladu steny.




Častou chybou alfa kanálov je presvitanie resp rušenie jedného druhým. Najviditeľnejšie to je pri otáčaní objektom a prejavuje sa prechádzaním jednej plochy do druhej ba až stratou celej strany v pohľade z určitej strany.



Dôvodov môže byť viac a sú spôsobené problémovým zobrazovaním alfa kanálov v TRS a aj nesprávnym textúrovaním.  Obvykle to nemá iné riešenie ako cele otextúrovať a často aj vymodelovať znova. V zásade ale platí že:
1.
Plocha ktorá sa textúruje s alfa kanálom by sa mala textúrovať ako posledná.
2.
Je lepšie ak je pre objekt ako celok iba jedna alfa textúra a tá by mala byt každopádne samostatnou bitmapou a teda nie súčasťou inej bitmapy.
3.
Ak má objekt aj vnútorný pohľad, resp dve za sebou ležiace plochy s alfa kanálom  je lepšie nepoužívať obojstranný alfa kanál, ale vymodelovať samostatnú vnútornú stranu a tu otextúrovať samostatne alfa kanálovým materiálom.
4.
Ak je možné pri oknách a vôbec priehľadných plochách je vhodnejšie pre alfa textúru použiť iba plochu skla a ostatnú časť okolo otextúrovať normálnou plnofarebnou textúrou aj za cenu viac polygónov.
5.
Pri modelovaní ploch a časti kde sa bude používať alfa kanál, k modelovaniu  používať radšej štandartné objekty ako blok, valec a pod. miesto kriviek
6.
Je lepšie nastaviť odtieň bielej o stupeň niššie. Podobne aj u čiernej vyžšie a zvlášt vtedy ak sa používa viac alfa materiálov, alebo viac objektov.
7.
Za určitých okolností je lepšie pri viacerých plochách s alfa kanálovou textúrou, ak každá plocha má svoj vlastný alfa materiál (vytvorený aj z tej istej bitmapy) a aj teda samostatný pridelený kanál.
8.
Je lepšie ak je povrch textúrovaný alfa textúrou oddelený od objektu a ak tak až na konci po dokončení pripojený k celku.
9.
Pamätajte, že nielen pre alfa textúru je vždy lepšie objekt počas modelovania priebežne zálohovať a skúšať aj v TRS aby ste vždy mali možnosť sa vrátiť a skúsiť inú metódu modelovania, úpravu, mapovanie či aj textúru.

Záverom ešte akurát spomeniem, že ďalšou úpravou vlastností materiálu je možné dosiahnuť zaujímavé efekty hlavne u skla kde sa dá simulovať sčasti aj lesk, zaprášenie na skle, praskliny, tiene a mnohé ďalšie. Je to už vec skúšania a experimentovania. Nie všetko ale zvláda TRS k spokojnosti autora a ak tak to občas chce zachovať špeciálne postupy, poradia či úpravy nastavenia a pod, ktoré sú sčasti popísané v iných tútorialoch.



Ak máte nejaké otázky pošlite mi ich emailom. V tomto tútoriále bol so súhlasom použitý aj material od autora Paces.