Hogy egy kicsit mást is csináljunk Zorrón kívül, ebben a cikkben bemutatjuk, hogyan tudunk sziklákat, sziklafelületeket alkotni, elsősorban videojátékokhoz.
Sokféle módon alkothatunk sziklákat. A sűrűség, a típus és a kor mind meghatározó jellemző a szikladarabnál, így érdemes előre kitalálni, hogy milyen kőtípust szeretnénk megalkotni.
Először szót ejtünk a szobrászkodás lehetőségéről. A Zorró arcán is bemutatott szobrászkodási módszerrel is készíthetünk sziklákat, csak kiindulásként nagyon magas polygonszámú formát kell alkotnunk. Előnye, hogy részletes és a végletekig kidolgozott lehet. Hátránya, hogy a magas polygonszám miatt legtöbbször még normalmap bake-elés és leegyszerűsítés után is túl sok polygon lesz.
Természetesen a megfelelő tervezéssel ez elkerülhető, de ebben a cikkben egy jóval egyszerűbb, stilizált megoldást fogunk bemutatni, amit gond nélkül használhatunk akár tömegével is videojátékokban. A Bisect eszközt fogjuk használni, a munkafolyamat leginkább a krumplipucolásra, héjazásra hasonlít.
Induljunk ki egy egyszerű kockából. Lépjünk a Modifier fülre, és tegyünk a modellre Subdivision Surface modifier-t, úgy 5-6 szoros Subdivision értékkel. Nem gond a magas polygonszám, a folyamat végére nagyon le fogjuk csökkenteni.
Ugorjunk Edit Mode-ba és jelöljük ki az összes felületet Ctrl + [L]-lel. Ezután nyomjunk [Space]-t és gépeljük be a legördülő menübe, hogy Bisect. Kattintsunk a találatra a menüben. Ezzel az eszközzel tiszta vágásokat alkothatunk a modellen, tehát le tudunk csapni belőle teljes darabokat.
Miután rákattintottunk a Bisect-re a menüben, a következő kattintásunk nyomva tartásával a kattintás helyéből egy vektort, sávot húzunk az egér mozgatásával. Amin ez a vonal keresztülmegy, azt levágja a modellről. Nyessünk is bele kicsit a gömbünk oldalába! Első alkalommal csak egy kijelölt csík fog kialakulni a modellen, mert még be kell állítanunk a bal oldali eszköztárban a Bisect tulajdonságait.
Ki kéne töltődnie a levágás szélén levő vertexek közötti lyuknak, tehát a Fill kockát pipáljuk be, és mivel azt szeretnénk, hogy a levágott rész eltűnjön, pipáljuk be a Clear Outer kockáját is. Ezután ha elforgatjuk a modellt, láthatjuk, hogy egy tiszta, éles vágás keletkezett az oldalán.
A célunk az, hogy minél több ilyen vágást alkossunk a modellre, néhol sűrűbben, helyenként ritkábban. Képzeljünk egy egy élesebb sziklát, és próbáljuk annak a formáját eltalálni!
A vágás megismétléséhez jelöljük újra ki az egész modellünket, tehát nyomjunk Ctrl + [L]-t, mivel a Bisect csak a kijelölt felületekből vág. Ezután a [Space] lenyomásánál láthatjuk, hogy a menü a Bisect keresésénél maradt, tehát csak rá kell újra nyomnunk, és máris húzhatjuk a vonalat a vágáshoz.
Sajnos belefuthatunk abba a hibába, hogy mikor a Bisect kiindulópontját megalkotjuk, eltűnik a modellünk, és csak akkor jelenik meg, ha pont az ellentétes irányba forgatjuk a vonalat. Ez a kamera elhelyezkedése miatt történik, jobbára elkerülhetetlen, ne aggódjunk miatta.
Mivel a vágás a kamerához képest történik, forgassuk sokat a kamerát, és mindig keressük a legmegfelelőbb szöget az adott vágás kivitelezéséhez. Haladhatunk körkörösen, vagy véletlenszerűen is a vágásokkal, próbáljuk ne túlságosan összezsugorítani a modellünket, tehát mindenképpen legyen több a kisebb vágásokból, mint a nagyobbakból.
A célunk az, hogy elfogyjanak a sűrű vertexek, tehát akkor vagyunk készen, hogyha az eredeti felület már nem látható. Fontos, hogy a shading a modellünkön Flat legyen, hiszen ehhez a látványhoz az éles élek a legjobbak.
Egy Bevel modifier-t érdemes adni a kész modellhez, így az élek egyenletesebben kanyarodnak, enyhén kerekítve illeszkednek. A Bevel beállításánál kapcsoljuk ki a Clamp Overlap-et és a Width Method-ot állítsuk Width-re. Ezek után a Width paraméterrel finomhangolhatjuk a bevel méreteit. Opcionálisan hozzáadhatunk az élek közti átmenethez extra vágásokat a Segments paraméterrel, mi két szegmenst használtunk. Próbálkozzunk az értékek állítgatásával, döntsük el, hogy néz ki a kavicsunk a legjobban. Matcap-pel előnézhetjük, hogy körülbelül milyen látványt ad az alkotott modellünk.
Természetesen nem szabad megfeledkeznünk a modell UV-jának az elkészítéséről sem. Egy ilyen kevés polygonszámmal és éles élekkel rendelkező modellre teljesen megfelelő egy alap beállításokkal rendelkező SmartUV, amit az [U] gomb lenyomása után legördülő menüből választhatunk ki.
Mindig ellenőrizzük, hogy milyen lett a UV, amit a SmartUV alkotott, mivel sokszor előfordul, hogy túl sok, vagy túl kicsi UV szigetet alkot. Szerencsére beállíthatjuk, hogy milyen szög után szakítsa el a UV-t — ezt esetünkben gond nélkül állíthatjuk 85° körüli értékre.
A UV megalkotása után Apply-olhatjuk a Bevel modifier-t, így a UV megfelelően fog igazodni a modellünk felületéhez.
A megalkotott kőből egy komplett kavicsokkal teleszórt felületet pazarlás lenne a valódi objektum felhasználásával készíteni. Erre a legegyszerűbb megoldás az ismételhető, csempézhető textúraszett alkotása, amit aztán matériaként felhasználhatunk.
Ehhez először állítsuk a kameránkat felső perspektíva nézetbe [num 7], és Object módban a [G] lenyomásával és aztán a Ctrl nyomva tartásával ugrassuk a modell pozícióját az eredetihez képest bal felső pozícióba. Ez lesz a textúránk bal felső sarka, úgy kell terveznünk, hogy ismételhető legyen, tehát egyszerre próbáljunk csak egy oldalt megalkotni.
Még mindig Object módban duplikáljuk a modellt Shift + [D]-vel és helyezzük az eredeti kavicstól kicsit lejjebb az Y tengelyen. Forgassuk el az új modellt, aztán méretezzük kisebbre.
Alapvetően ez a folyamat — kijelölünk egy, vagy több kavicsot, duplikáljuk, arrébb tesszük őket úgy, hogy még érintkezzenek az eddigivel, majd forgatjuk és méretezzük őket. Kétféleképpen tudunk több modellt egyszerre forgatni: egyik a csapatos forgatás, amikor a forgástengely az objektumok közös pozícióján van, a másik az egyedülálló forgatás, ahol mindegyik objektum a saját forgástengelyén mozog, dupla [R] lenyomása után akár teljes térben.
Ezt a két módot a Pivot Point menüből tudjuk kiválasztani a Viewport tálcájáról.
Mind a kettőt érdemes használni, mert az a célunk, hogy ne látszódjon, hogy tulajdonképpen csak egy kavicsmodellt használtunk. Az illúzió érdekében érdemes néhány követ csak egy tengelyen megnövelni és aztán szabadon forgatni.
Töltsük ki a bal oldalát az elképzelt felületünknek kavicsokkal.
Ahhoz, hogy jobban lássuk, mégis mit fogunk renderelni, adjunk egy Plane-t az összes kavicsunk alá a centerbe. A Plane eredeti mérete pont akkora, hogy a legelső kavics középpontját érinti a sarkával. Ez a plane reprezentálja a textúránkat, tehát ezt kell lefednünk teljesen ahhoz, hogy készen legyünk.
Mivel azt szeretnénk, hogy csempézhető, ismételhető legyen a textúra, jelöljük ki a már elkészített oldal szélén levő kavicsokat. Duplikáljuk és mozdítsuk el őket az X tengelyen pontosan 2 értékkel (tehát [G], aztán [X], és utána [2]). Így ami a bal oldal vége volt, most a jobb oldalra került. A két megalkotott oldal kavicsaihoz ez után már nem nyúlhatunk, és a jobb oldalon sem szabad, hogy akármelyik új kavics az oldal széléhez érjen, különben elromlik a csempézhetőség.
Töltsük ki a hiányzó felület közepét és alsó oldalát. Ezek után az alsó oldalt a bal oldalhoz hasonlóan duplikáljuk, csak most az Y tengelyen mozgatjuk 2 egységgel. Töltsük ki az üres helyeket.
Ha megfelelőnek látjuk a munkánkat, alkossunk újra egy Plane-t a centerbe. A frissen megalkotott plane-t emeljük a kavicsok fölé, úgy, hogy pont ne érjen a kavicstömeg tetejéhez. Ezután váltsunk Edit módra és unwrap-eljük a plane-t, ami az alap unwrap parancsra teljesen kitölti az 1:1-es textúra felületét, ez nekünk pont jó.
Térjünk vissza objektum módba, és rejtsük el a most alkotott Plane-t [H]-val. Jelöljünk ki egy kavicsot, majd nyomjunk Ctrl + [I]-t, hogy a kijelölt kavicson kívül minden látható objektumot kijelöljünk. Ezután jelöljük ki az eredeti kavicsot is a többihez.
Hogyha mindegyik kavics és az alattuk levő Plane is ki van jelölve, nyomjunk egy Ctrl + [J]-t, hogy egyesítsük őket. Ellenőrizzük Edit módban, hogy valóban mindegyik egyetlen objektumban van-e.
Amennyiben sikeres volt az egyesítés, térjünk vissza Object módba és nyomjunk Alt +[H]-t, hogy visszahozzuk a rejtésből a Plane-t. Így már minden készen áll az ismétlődő textúra bake-elésére.
Először is győződjünk meg arról, hogy a Blender rendermódja Blender Render. Ezután jelöljük ki a kavicsok fölötti Plane-t, lépjünk be Edit módba, és a UV/Image ablakban alkossunk egy új textúrát. Mi 2048*2048 -as méretű textúrát készítettünk, persze lehet más a méret, csak az a fontos, hogy 1:1 arányban legyen.
Ha kész vagyunk, váltsunk vissza Object módra, és jelöljük ki a kavicsokat, majd a fölöttük levő Plane-t is. A properties ablakban lépjünk át a Render fülre, és ott menjünk a Bake bekezdésre.
Először bake-eljünk magasságmapot. Ehhez állítsuk a Bake Mode-ot Displacement-re. Alatta pipáljuk be a Normalized kockát, és a Selected to Active kockáját is. Ha ez megvan, akkor mehet is a Bake! A UV/Image ablakban láthatjuk, ahogy készül a kép - bár a Displacement általában hamar végez.
A jó displacement/magasság map megfelelően kontrasztos, és nincsen benne hirtelen árnyalatváltás. Ha elégedettek vagyunk, mentsük el a képet.
Hogyha a Displacement megvan, akkor készülhet az Ambient Occlusion map. Állítsuk át a Bake Mode-ot Ambient Occlusion-re, és az eddigi beállításainkkal mehet is a Bake.
Ez általában tovább tart, mint a többi, legyünk türelmesek. A jó eredmény úgy néz ki, mintha valaki kissé körberajzolta volna a kavicsokat. Ha jól néz ki, mentsük is el.
Az utolsó kép, amit sütünk, a Normal map. Állítsuk a Bake Mode-ot Normals-ra, és szintén a jelenlegi beállításokkal mehet is a bakelés! Ha elkészült, ne felejtsük el elmenteni.
Ezek után az elkészített textúrákat már csak a megfelelő módon össze kell raknunk az általunk választott szoftveren belül. Vizuális demonstrációképp Unreal Engine 4-ben összeraktunk a textúrából és az FBX-be kiexportált modellből egy játékra kész asset-et, összetevőt. A kavicsos felületet Parallax Occlusion-el kicsit megspékeltük, hogy még látványosabb legyen.
Egy egyszerű kavics elkészítésével rengeteg elemet adhatunk hozzá egy játéktérhez. Mindenkinek csak ajánlani tudom, hogy próbáljon sajátos módon alkotni, kitalálni egy saját stílust a modelljeihez!