Zuzka 

  Napsal: Peter Levius, www.3d.sk

  

Vždy ste chceli modelovať postavy, ale mysleli ste si že je to zložité? Tie časy sú preč. Modelovacia technika o ktorej som sníval počas hodín premárnenej práce s NURBS-ami je tu. Volá sa Surface Tools.
Surface Tools sa nachádza štandardne v 3D studiu MAX R3, prípadne ako plugin pre staršie verzie www.digimation.com.

Tento tutorial sa zaoberá modelovaním LowPolygon postavy pre počítačovú hru ale rovnako dobre sa dá podľa neho postupovať pri modelovaní postavy určenej k renderovaniu.

Pozn.: Děkujeme českému zastoupení Autodesk za zapůjčení programu 3D Studio Max R3.

Príprava
Modelovanie
Tvorba textúry
Záver
Zpět

Go 

PRÍPRAVA

Prvé čo budeme potrebovať je referencia. Ja som mal k dispozícii Zuzku (vážnym záujemcom poskytnem telefónne číslo :) ) a digitálny fotoaparát. Pre tých ktorý nemajú k dispozícii ani Zuzku ani fotoaparát postačí vlastná kresba prípadne fotky stiahnuté z internetu. Odporúčam : www.hol.gr/mirror/magic/femmes . Na tejto adrese nájdete množstvo fotografií najkrajších žien z celého sveta. Ja som tam našiel predlohu pre "LostConnection" obrázok (Verili by ste že to bola Naomi Campbel?)

Takže: máme dve fotografie jednu spredu a jednu z profilu. Začneme s hlavou. Je dôležité upraviť si obidva obrázky tak aby mali rovnakú výšku. Otvoríme si naše obľúbené MAX-ko, klikneme na okno FRONT, a stlačíme ALT-B. Cez tlačítko "Files.." vyhľadáme obrázok hlavy spredu a zaškrtneme : "Match Bitmap", "Display Background" a " Lock Zoom/Pan". Ak nám zavadzia mriežka v týchto oknách klikneme pravým tlačítkom na nápis v ľavom hornom rohu (Front) a odškrtneme "Show Grid". Save-neme si scénu. Odporúčam save-ovať po každom úspešnom kroku aby ste sa mohli kedykoľvek vrátiť späť keď sa vám niečo nepodarí. V MAX-ku existuje veľmi praktický nástroj a to konkrétne "Save as" kde stačí len stlačiť "+" a scéna sa vám save-ne s ďalším poradovým číslom. Ja osobne som zatiaľ skončil pri ZUZKA175TEX49.max.

Podobne postupujeme aj v okne RIGHT. Naša pracovná plocha by mala teraz vyzerať približne takto.

obrazok2.jpg (34090 bytes)

Go 

MODELOVANIE

Surface Tools je nástroj ktorý je založený na práci so SPLINE-ami. Predpokladám že s nimi máte všetci bohaté skúsenosti, ale aj napriek tomu bude tento návod stavaný tak aby ho mohli využiť aj začiatočníci.

Takže ideme na vec: Zmaximalizujeme si okno RIGHT a klikneme na ikonky Create>Shapes>Line. Nakreslíme čiaru ktorá bude čo možno najlepšie kopírovať tvar našej referencie. Snažíme sa použiť čo najmenej vertexov (bodov) s tým že na dôležitých miestach ako sú napríklad pery bude ich hustota vyššia. Ak plánujeme modelovať LowPolygon model doporučujem použiť maximálne 20 vertexov. Ak zamýšľame vytvoriť model pre render postačí nám ešte menší počet. V tomto prípade zmeníme vertex-i na bezier a to tak že ich označíme (Modify>Subobject>Vertex), klikneme na ne pravým tlačítkom a vyberieme položku Bezier .

Keď máme nakreslenú linku ktorá nám uspokojivo kopíruje profil hlavy, nakreslíme si na pravo od nej (približne v polovici obrázku) rovnú vertikálnu linku ktorá bude mať rovnaký počet vertexov v rovnakej výške ako prvá. Túto potom použijeme v okne FRONT na vytvorenie obrysu hlavy spredu. Zmaximalizujeme si okno TOP a nastavíme obidve linky tak aby sa koncami dotýkali. Nakreslíme linku ktorá nám bude plynulo spájať dve už vytvorené a bude mať približne 6 vertexov.

obrazok3.jpg (31857 bytes)

Znovu sa prepneme do okna RIGHT podržíme SHIFT a posunieme linku č.3 smerom dole na rovinu najbližších vertexov v linkách 1 a 2. Takto postupujeme dovtedy kým nemáme obsadené všetky vertexi ďalšími linkami. Tieto následne pomocou Non-uniform Scale (nachádza sa pod ikonkou Select and Uniform Scale) podľa osi x upravíme tak aby sa ich konce dotýkali vertexov na linkách 1 a 2.

obrazok4.jpg (32407 bytes)

Surface Tools funguje tak že nám pokryje každý trojuholník prípadne štvorec vytvorený z liniek. Nám teraz ostáva dorobiť zvyšné linky tak aby sme dodržali toto pravidlo. Najprv selektneme jednu z liniek a zadáme Attach Multiple>All>Attach. Týmto zjednotíme všetky linky do jednej ktorú budeme ďalej editovať.

Páry vertexov ktoré sa dotýkajú zjednotíme funkciou "Fuse". Stlačíme ikonku "3D snap Toggle", následne na ňu klikneme pravým tlačítkom, zaškrtneme "Vertex" a odškrtneme "Grid". Toto nám umožní umiestňovať vertexi ďalších liniek na už existujúce vertexi. Vytvoríme ďalšie vertikálne linky (cez "create line " z menu Modify) tak aby nám vznikla sieť so štvorcovími alebo trojuholníkovými okami.

obrazok5.jpg (23348 bytes)

V paneli Modify klikneme na More>Surface. Nastavíme parameter Steps na 0 (u modelu určeného na render 2 a viac) a zaškrtneme Remove Interior Patches. Ak sme správne postupovali mali by sme v okne uvidieť polovicu tváre. Podmienkou je aby sme mali zapnutý pohľad "Smooth" pripadne "Facets". Toto môžeme overiť tak že klikneme na názov okna tak ako sme to robili pri vypínaní mriežky. Ak sú v objekte diery znamená to buď to že máme v sieti oko s viac ako 4-mi vertexmi, prípadne to že musíme na dotýkajúce sa vertexi v okolí použiť "Fuse".

obrazok6.jpg (27077 bytes)

V Modifier Stack-u sa vrátime na line, opravíme prípadné chyby a ak sme spokojný začneme pridávať oká na miesta kde je potrebný detail (oči, nos pery) a naopak uberať z miest kde to nepotrebujeme. Oká pridávame tak že si najprv pomocou Refine vytvoríme na linkách ďalšie potrebné vertexi a potom zopakujeme procedúru s Create Line a 3D Snap.

Nesmieme pri tom zabúdať na pravidlo o štvorcoch a trojuholníkoch.

Nasleduje fáza ktorá bude rozhodujúca pre vysledný efekt. Použijeme ikonku "Mirror" a zaškrtneme "x" a "instance". Presunieme vzniknutú polovičku tak aby sa okrajom dotýkala pôvodnej. Teraz máme prehľad o tom ako by vyzeral hotový model. Odporúčam venovať dosť času na porovnávanie modelu s predlohou, vždy keď sa vám bude zdať že niečo nesedí vráťte sa späť do line a opravte problémovú linku. Všeobecnou zásadou je aby nová opravená linka pôsobila plynulo z predného aj bočného pohľadu. Ak sme s výsledkom spokojný Attach-neme obe polovičky a Fuse-neme vertexy prechádzajúce stredom.

Prípadne colaps-neme Modifier Stack a ďalej pracujeme s Mesh.

Podobným spôsobom postupujeme pri modelovaní zadnej časti hlavy a vlasov. U vlasov som modeloval 3 objekty, 2 na ofinu a 1 na zvyšok.

obrazok7.jpg (28418 bytes)

Go 

TVORBA TEXTÚRY

V súčasnosti existuje niekoľko spôsobov ako vyrobyť kvalitnú textúru, u vývojárov počítačových hier je najoblúbenejšia "Unwrap UVW" u ostatných užívateľov Painter 3D a podobné programy. Ja osobne dávam prednosť pluginu Texporter v kombinácii s vašim obľúbeným kresliacim programom (Photoshop, Photopaint a pod.). Plugin texporter je free, to zanmená že ho môžete získať a používať úplne zdarma a legálne. Je možné ho stiahnuť napríklad z www.cuneytozdas.com

Pre MAX 3 je to Texporter 3 a logicky pre MAX 2 je to Texporter 2. Postup je takýto: najprv si selektneme objekt ktorý chceme texturovať a potom na neho aplikujeme UVW Map-ing. Zaškrtneme druh mapingu ktorý chceme použiť, ja som na tvár použil Cylindrical. Klikneme na ikonku Utilities (Control Panel), stlačíme More a vyberieme texporter. V Image Size nastavíme veľkosť bitmapy ktorú požadujeme, stlačíme Pick Object a nájdeme v scéne dotyčný objekt.

Texporter nám vygeneruje bitmapu na ktorej vidno jednotlivé polygóny.

obrazok8.jpg (38882 bytes)

Túto bitmapu uložíme a otvoríme v akomkoľvek kresliacom programe. Môžeme na ňu buď priamo kresliť alebo použiť fotografiu ktorú máme k dispozícii. Rovnako odporúčam ukladať si všetky verzie danej bitmapy. Po zhotovení sa znovu prepneme do MAX-ka, otvoríme Material Editor, klikneme na šedý štvorček na pravo od Difuse (nie farbu), dvakrát klikneme na Bitmap a nájdeme cestu k našej textúre. Tento materiál potom aplikujeme na texturovaný objekt.

Je pravdepodobné že na prvý pokus nebudeme s výsledkom spokojný. Drobné nepresnosti je možné vyladiť tak že vo funkcii UVW Map zapneme Subobject a editujeme veľkosť a polohu Gizma. Ale ak nám záleží na dobrom výsledku pravdepodobne sa vrátime spať do externého kresliaceho programu a upravíme našu textúru tak aby nám lepšie vyhovovala. A to opakujeme dovtedy kým sme spokojný, ja som mal napríklad 8 verzií.

obrazok9.jpg (30185 bytes)

U vlasov je to veľmi podobné s tým rozdielom že odporúčam rozdeliť model na niekoľko častí, použiť viac textúr a Planar Maping. Ďaľšou odlišnosťou je to že použijeme ešte textúru na Opacity. Táto textúra nám zabezpečí že niektoré časti vlasov budú presvitať. Čierne miesta budú presvitať a biele naopak. Túto mapu si umiestnime v Material Editore>Maps>Opacity.

obrazok10.jpg (17674 bytes)

Zároveň je dobré skopírovať ju aj do Specular Color aby sa nám priesvitné miesta neleskli.

A takto vyzerá výsledok.(s použitím efektu Film Grain) Ja viem je hranatý a akýsi rozmazaný, ale treba si uvedomiť že táto postavička je určená pre realtimové vykreslovanie počas hry a kôli tomu bolo nutné udržovať čo najmenší počet polygónov. Táto hlava má zatiaľ 649 polygónov. Aktuálny počet polygónov vo vašej scéne si môžete overiť v Toolbars>More>PolygonCounter.

1. Blúzka

bluzka.jpg (41297 bytes)

Začneme ako vždy tým že si v okne FRONT nakreslíme obrys spredu v okne LEFT obrys z boku a v okne TOP si nakreslíme linku ktorá bude predstavovať prierez. Tento potom pomocou shiftu skopírujeme v okne FRONT niekoľko krát nad seba a pomocou Non-uniform scale upravíme tak aby z boku aj s predu sedeli s pozadím. (aha, ja som vám nenapísal že si máte dať do backgroundu predlohu, ale veď to už predsa viete s prvej časti.)

golier.jpg (32846 bytes)

Golier vyzerá na prvý pohľad ako problém, ale je to v podstate jednoduchá záležitosť. Proste si len nakreslite v TOP okne linku ktorá ho reprezentuje, v LEFT ju trochu upravte, 3 krát ju skopírujte a správne umiestnite. (viď obrázok) Teraz to všetko pospájame linkami a aplikujeme Surface Tools.

Vrecká vymodelujeme zvlášť a po colapsnutí do Editable Mesh atachneme k blúzke. Nezabudnite weldnúť horný rad vertexov s tými na blúzke. Po colapsnutí do Meshu si selektneme face-i ktoré tvoria hornú čať goliera a aplikujeme Flip (Surface properties v Modify dialógu).

Na mapovanie odporúčam znovu Texporter a planar UVW map. S tým že pred mapovaním si objekt rozdelíme na niekoľko častí (predná strana, zadná strana, vrecká, golier) a každú z nich namapujeme zvlášť.

Rukávy vytvoríme s niekoľkých šesťuholníkov ktoré nakopírujeme vedľa seba, upravíme ich veľkosť a polohu podľa pozadia, pospájame, aplikujeme Surface Tools, namapujeme a následne attachneme k trupu (nezabudneme weldnúť vertexi).

2. Nohavice

nohavice.jpg (33277 bytes)

Nohavice vytvoríme tak isto ako ruky, len s tým rozdielom že v hornej časti ich spojíme a odstránime vnútorné linky.

3. Topánky

Také ľahké neviete? Jednoducho si nakreslíme obrys z hora, z boku a spredu. Keď to máme, nakopírujeme obrys s predu po dľžke, jednotlivé obrysy upravíme pomocou Non-uniform scale a pospájame linkami.

Aplikujeme Surface tools a 5 minút varíme na silnom plameni.

Podľa potreby optimalizujeme a posolíme.

Minule som vám neuvážene sľúbil že vás naučím používať Unwrap UVW mapovanie, no čo mi už ostáva, použijeme ho aspoň na topánky.

4. Unwrap UVW mapovanie

Ako na to? No to je dobrá otázka, ja to obvykle robím tak že začnem, skúšam, skúšam a keď je to dobré tak to nechám tak, ked nie , hľadám čo som zle nastavil. Ale do tutoriálu by som to mal asi napísať inak. Malý moment, pozriem sa ako sa to robí, hneď som späť.

(o 5 minút neskôr)

Aha, už viem. Takže najprv použijeme UVW mapping, potom objektu priradíme materiál. Následne aplikujeme Unwrap UVW, zapneme subobject, selektneme face-i ktoré chceme namapovať a stlačíme Edit. Vyskočí nám okno v ktorom vidíme v pozadí bitmapu priradeného materiálu a na ňom face-i ktoré sme selectli. Postup je taký že tieto face-i sa snažíme upraviť (zmenšiť, prevrátiť, presunúť) tak aby bola na nich tá časť textúry ktorá tam patrí.

Možno to vyzerá na prvý (aj na druhý) pohľad neprehľadne ale treba si len jednoducho uvedomiť že bitmapa ktorá je vnútry face-u v editačnom okne bude takisto vo vnútry toho istého face-u aj na modeli. Pre začiatok si skúste selektnúť iba jeden face, mente jeho veľkosť a polohu a pozorujte čo to spraví s textúrou vo viewporte. (nezabudnite si pred tým v materiáli zapnúť: "Show Map in Viewport")

5. Ruky

Nooo, pokiaľ ide o ruky tu som si trochu uľahčil prácu a to tak že som ručne optimalizoval už hotový model. Je to metóda ktorú ma naučil môj kolega Vlado M. a som mu za to veľmi vďačný. Robí sa to tak že postupne Weldujete dvojice vertexov tak aby vám ostalo čo najmenej faceov pri zachovaní tvaru. Samého by ma to nikdy nenapadlo, ja som si vytrhal všetky vlasy pri používaní funkcie Optimize. Free model ruky si možete stiahnuť napríklad aj z www.3Dcafe.com.

Ak by ste si predsa len radšej vymodelovali ruku vlastnú, jednoducho si pomocou šesťuholníkov a Surface tools vymodelujete dlaň a prsty a tie následne pospájate.

Go 

ZÁVER

V prípade akýchkoľvek nejasností, dotazov, nadávok, návrhov na spoluprácu a podobne mi môžete písať na adresu redakcie 3D REVUE. Ja už len dúfam že všetko dobre dopadne a koncom budúceho roka budeme mať možnosť zastreliť Zuzku v jednej kvalitnej akčnej hre. Ja si to rozhodne nenechám újsť. :)

Go 


3D REVUE vydává grafické studio VLADO. Žádný článek ani jeho část nesmí být bez souhlasu vydavatele dále šířena. Kontaktujte redakci na adrese vlado@vlado.cz.