Focilabda 3D-ben

ekkor: 2013-06-04 · Kategória: 3D-s programok
×A modell elkészítéséhez a 3dsMax 2013-as verziójára lesz szükséged! Korábbi verzióval is szinte ugyanígy működik, minimális eltérések vannak csak a felhasználói felületen.

Adidas Tricolore, a ’98-as francia foci VB hivatalos labdája

A most következő tutorialom során a címben és a poszt képen szereplő labda modellt fogjuk elkészíteni. A realisztikus forma létrehozásához módosítókat alkalmazunk majd, a labda mintájának kialakításához pedig egy meglévő textúrát fogunk alkalmazni a modell síkba kiterített képére.

1. lépés

A 3dsMax indítása után a Customize > Units Setup menüpont alatt állítsuk át a Display Unit Scale értékét Metric-re, azon belül pedig centimétert adjunk meg mértékegységként!

adidas_tricolore_002
Az alapbeállítások után a jobb oldali panelmenü Create füléről válasszuk a Geometry csoportból az Extended Primitives objektumokat, majd innen a Hedra nevűt és hozzunk létre egy alakzatot:

adidas_tricolore_003_1
Ha ez megvan, akkor váltsunk a Modify fülre és és adjuk meg az új objektumunknak a következő paramétereket:

  • Family: Dodec/Icos
  • P: 0,35
  • Radius: 50 cm

adidas_tricolore_003
Ezek után fontos, hogy a tömegközéppontot a koordináta rendszer origo-jához pozicionáljuk. Ehhez az alsó eszközsoron adjunk meg 0-t az X, Y, és Z tengelyekhez tartozóan egyaránt:

adidas_tricolore_005
Most jobb klikk az objektumunkra és válasszuk a Convert To > Convert To Editable Poly opciót:

adidas_tricolore_006
A polygonná alakítást követően jelöljük ki az objektumot és váltsunk él kijelölés módba (“2”) majd jelöljük ki a testet alkotó összes élet:

adidas_tricolore_008
A kijelölés után jobb klikk > Split parancs következik:

adidas_tricolore_009

2. lépés

Ezt követően kattintsunk az objektum ablakban a test nevére (“Editable Poly”), hogy megszüntessük a kijelölését, majd a Modifier List elemei közül alkalmazzuk rá az Unwrap UVW módosítót:

adidas_tricolore_011
Látható, hogy az élek színe zöldre váltott. Ez mutatja, hogy rátettünk egy módosítót, melynek segítségével a térbeli testet kiteríthetjük síkba, hogy mintázatot, vagyis textúrát helyezzünk rá. A zöld vonalak a modell síkba kiterített képének vonalait jelölik. Kattintsunk jobb oldalon az Open UVW Editor gombra (korábbi verziókban “Edit”):

adidas_tricolore_013
Felugrik az Edit UVWs ablak, ahol a modell kiterített képét láthatjuk egy fajta módszer alapján, ahogy a program alapértelmezettként létrehozta azt. Ez azonban nekünk így nem lesz jó:

adidas_tricolore_014
Az Edit UVWs ablakon belül a képen látható módon válasszuk a Polygon kijelölés módot:

adidas_tricolore_015
Ezt követően jelöljük ki az ablakban látható összes polygont, ahogyan a képeken látható. Figyeljük meg, hogy eközben a nézetablakban is láthatjuk, hogy mely polygonok kerültek kijelölésre:

adidas_tricolore_017
Ha ez megvan, akkor válasszuk a Mapping > Flatten Mapping menüpontot az Edit UVWs ablakon belül:

adidas_tricolore_018
A paramétereket hagyjuk alapértelmezetten, majd okézzuk le a párbeszédpanelt:

adidas_tricolore_019
Látható, hogy a Flatten Mapping eljárásnak köszönhetően a program úgy hozott létre számunkra egy kiterített képet, hogy minden egyes polygont külön-külön kiterített síkba, alkotóelemeire “dobálta szét” az objektumot. Ez így nekünk nagyon jó lesz, mert a labda textúráját így a legkönnyebb ráilleszteni:

adidas_tricolore_020

3. lépés

Illesszünk is rá egy textúrát! (Természetesen, ha nincs kész textúra, akkor ezt nekünk kell létrehozni egy 2D grafikus program segítségével, a modell kiterített képe alapján, de most a tutorial során használjuk az általam előre elkészített textúrát.) Nyissuk le az ablak jobb felső sarkában lévő legördülő menüt és onnan válasszuk a Pick Texture opciót:

adidas_tricolore_021
Felugrik egy Material/Map Browser-nek nevezett ablak, ahonnan válasszuk a Maps > Standard > Bitmap opciót. Ezzel egy képfájlt alkalmazhatunk a modellre textúraként. A felugró windows-os tallózó ablakban válasszuk ki az én labda textúrámat, ami letölthető az alábbi linken:

Labda textúra

adidas_tricolore_022
Ebben a tutorialban egyelőre azt szeretném csak bemutatni, hogy hogyan lehet ráhúzni a modellre egy kiterített kép alapján készült textúrát, amely pont ráilleszkedik. A textúrának a létrehozása a kiterített kép alapján egy külön mesét ér, ezért ezt szeretném egy későbbi 3dsMax-os tutorial során bemutatni egy más fajta példán. Most egyelőre maradjunk a kész textúra megnyitásánál.

A textúra kiválasztása után így néz ki az Edit UVWs ablakunk. Látható, hogy a textúra úgy lett létrehozva, hogy a minta passzol a kiterített polygonokhoz:

adidas_tricolore_023
Most nyissuk meg a Material Editor ablakot az “m” gyorsbillentyűvel, majd ezt követően a bal oldalon a Sample Slots ablakban kattintsunk duplán az első nyers anyagmintára, hogy megjelenítsük azt:

adidas_tricolore_025
Most a Scene Materials listából húzzuk a megnyitott anyagmintánk mellé a Map #1 (adidas_tricolore_texture.jpg) nevű mintánkat:

adidas_tricolore_027
A képen látható módon a labda textúráját kössük hozzá az anyagminta Diffuse Color csatornájához. (Korábbi verziókban ez az összekötős módszer nem működik még, hanem az anyagminta tulajdonságai között – melyek ezen a képen is látszanak – a Diffuse melletti kis négyzet kiválasztásával importálhatjuk be a textúrát):

adidas_tricolore_028
A textúra alkalmazása után a képeken látható módon kapcsoljuk be a Matrial Editor felső eszköztárán a Show Shaded Material in Viewport, illetve az Assign Material to Selection opciót, majd zárjuk be a Material Editor-t:

adidas_tricolore_030 adidas_tricolore_031
Ha minden jól ment, ez lesz az eredmény. Látható, hogy a labda mintázata nem éppen úgy néz ki mint ahogyan kellene. Ahhoz, hogy a textúra a megfelelő módon nézzen ki a modellen, állítgatnunk kell az Edit UVWs ablakban a model kiterített képén.

adidas_tricolore_033
Jelöljük ki a nézetablakban a képen látható polygont. Látható, hogy az Edit UVWs ablakban is kijelölésre kerül. Ez egyébként oda-vissza működik, vagyis ha a nézetablakban jelölünk ki egy polygont, élet, vagy pontot, akkor az az Edit UVWs ablakban is kijelölődik és fordítva:

adidas_tricolore_036
A kijelölést követően az Edit UVWs ablak felső eszköztárának Rotate és Freeform Mode eszközeit használva a szerkesztő ablakban mozgassuk és forgassuk a modell kiterített képén a polygont, míg a minta a kellő pozícióba nem kerül:

adidas_tricolore_037 adidas_tricolore_038
A továbbiakban két lehetőségek ajánlok:

  1. Az alábbi képen látható eredmény eléréséhez minden egyes polygonnál játsszuk el az előbb látott forgatást, finomhangolást, hogy a labda mintázata helyes legyen. Ez gyakorlásnak kitűnő.
  2. Ha nem szeretnénk ennyit szöszölni, akkor az alábbi linken letölthető az általam alkalmazott UVW beállítás. Ez a letöltést követően alkalmazható a modell kiterített képére, ha az Edit UVWs ablakban a File > Load UVs menüpontja alól importáljuk azt.

UVW beállítás letöltése (RAR)

4. lépés

A mintázat most már – így, vagy úgy, de – megfelelő, ha eddig jól dolgoztunk. Most alkalmazzuk a modellre a Modifier List elemei közül a MeshSmooth módosítót Iterations: 3 érték használata mellett:

adidas_tricolore_051
Ezt követően válasszuk szintén a Modifier List-ből a Spheriphy módosítót:

adidas_tricolore_052
Ha minden jól ment, akkor ez lesz az eredmény. Most már kezd egész tűrhetően labdára hasonlítani a dolog:

adidas_tricolore_053
Megint Modifier List, ezúttal az Edit Poly módosítót húzzuk rá a már gömbölyített modellre:

adidas_tricolore_055
Lépjünk polygon kijelölés módba az Edit Poly módosítón belül és jelöljük ki a labdát alkotó összes polygont, valahogy úgy, mint a képen:

adidas_tricolore_056
A kijelölést követően válasszuk a jobb oldali panelről az Extrude parancsot és adjunk meg 0,75 cm-t a kiemelés mértékének:

adidas_tricolore_058
Ha ez megvan, akkor alkalmazzunk ismét egy MeshSmooth módosítót a modellre, ezúttal Iterations: 1 érték mellett és a Subdivision Method típusát állítsuk Quad Output-ra. Ez utóbbi azért kell, hogy a simítást követően ne legyenek lyukak a labdán a simított polygonok csatlakozásainál:

adidas_tricolore_062

5. lépés

Már csak egy apróbb részlet van hátra. Jelenleg a labda felülete teljesen sima. Adjunk most neki egy kis érdességet, hogy a bőr egyenetlenségeinek hatását keltsük. ehhez nyissuk meg a Material Editort és a Maps csoportban lévő Bump csatorna melletti pipát aktiváljuk:

adidas_tricolore_065
Ezt követően kattintsunk a mellette lévő gombon és a felugró ablakból válasszuk a Bitmap lehetőséget, majd tallózást követően nyissuk meg az alább letölthető zaj-textúrát:

adidas_tricolore_067 adidas_tricolore_068
Zaj textúra Bump map-hez

A Bump – vagyis egyenetlenség – textúra lényege, hogy textúra segítségével kelthetünk olyan hatást, mintha egy felület egyenetlen lenne. Tehetjük ezt úgy, hogy ténylegesen a modell struktúrája nem változik, tehát ahol egyenetlenséget tapasztalunk, az kizárólag a textúra miatt van, a modell felületet valójában egyenletes marad. Létrehozható így például szövetek egyenetlensége, emberi bőr számára kölcsönözhető realisztikus hatás, vagy jelen esetben a labda bőrének szimulálására alkalmazhatjuk.

Most a Bump csatorna melletti értékmezőbe írjunk 2-t, hogy finomhangoljuk a textúránkat, majd ezt követően kattintsunk a textúra nevével feliratozott gombra:

adidas_tricolore_071
Most egy szinttel lejjebb vagyunk, a Bump map beállításainál, ez látható is az anyagminta ablakában. Szaggatott vonallal van keretezve a Bump csatornán lévő kép, tehát azt szerkesztjük. A Coordinates csoport Tiling mezőibe mind az U, mind pedig a V sorba adjunk meg egyaránt 2-t, 2-t, ahogy a képen is látszik:

adidas_tricolore_072
Renderelést követően fog látszódni a Bump map hatása, az alábbi képen látható, hogy mi volt a cél:

 

labda_felület_render

Az Android figurás tutorialomban volt szó a rendereléshez szükséges alapbeállításokról, az ott leírtakat nyugodtan alkalmazhatjuk a labda esetében is. Kísérletezzünk és ha minden jól megy, valami nagyon hasonló eredmény fogad majd minket a végén a renderelést követően:

Adidas_Tricolore_render

Jogos lehet a kérdés, hogy miért ilyen látszólag bonyolult úton, szögletes formákból hozunk létre valamit, ami gömb. A válasz igen egyszerű; természetesen a gömböt is ki lehet teríteni, csak a textúra ráfestése és az illesztés finomhangolása lényegesen bonyolultabb, mint a bemutatott módszerrel. Arról pedig nem is beszélve, hogy egy gömbből kiindulva a focilabda “sejtjei” közti mélyedéseket is sokkal macerásabban tudnánk kialakítani, így meg gyakorlatilag már a kiindulás pillanatában adottak is 🙂

Mint ahogy említettem, a közeljövőben szeretnék kitérni a textúra létrehozására és egyéb textúrázási fogásokra is egy folytatásos tutorial keretein belül, hogy ne csak “hozott anyagból” dolgozzunk, hanem sajátból is. Addig is jó kisérletezést a különféle gömb alakzatok létrehozásához, melyekhez úgy kezdhetünk hozzá, hogy gömb gömb alakzathoz hozzá sem nyúlunk 🙂