játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5462
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2524

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2192
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
3DS MAX - 4. rész - UnwrapUV, Lightmap, Textúrázás 2006.08.21 05:09


3DS MAX - 4. rész - UnwrapUV, Lightmap, Textúrázás

Ahhoz hogy egy modell felvegye a végleges formáját, anyagtulajdonságokkal kell felruháznunk. Ehhez pedig az UnwrapUV módosítót hívjuk segítségül, amivel ki fogjuk teríteni a modell hálóját 2D-be.

Először is egy segédmapot hívunk rá a modellre, amivel tudjuk ellenőrizni az Unwrap helyességét.

Nyissuk meg a material editort:

A koordinátáknál a Tiling U és V értékeit állítsuk magasabbra. Én most 3-3-ra állítottam. Ha ez megvan húzzuk rá a segédmapot a modellünkre. A legjobb tesztmateriált mellékelem:

UNWRAP HELPER

Látszik egyből, hogy nagy gondok vannak az Unwrappal. Az ilyen modellre textúrát húzni kiterítés nélkül kész gyötrelem. Jelöljük ki az objektumunkat, és a Modify panelen adjunk hozzá egy UnwrapUV módosítót. Az Edit gombra kattintva látni fogjuk a háló kuszaságát. Segédletként töltsétek le az UnwrapTools 1.4-es verzióját. (macroscript) Ezzel kaptok egy új kiegészítő panelt az UnwrapUV módosító mellé, ami igen hasznos lesz a későbbiekben.

UnwrapTools telepítése: Az mcr fájlt másoljátok a MAX UI/MacroScripts könyvtárába (írjátok felül), és az ikont (uvtools_24i.tga) pedig az UI/Icons könyvtárba rakjátok, valamint a uvtools_24i.bmp fájlt (már ha van ilyen) nevezzétek át valamire (mondjuk uvtools_24i.bmx-re)

Az unwrap panelján ugyanúgy mozoghatunk ahogy MAX-ban. A középső gomb lenyomásával tudjuk mozgatni a képernyőt, és a görgővel zoomolhatunk. Jelöljük ki az összes felületet, majd a Mapping menüpont Flattern mapping... opciójával terítsük ki a hálót. Sokszor célravezető ez a módszer, ám vannak bonyolultabb objektumok, ahol előtte célszerű UVW Map módosítót használni.
Szépen látszik, hogy a tesztmap szépen kisimult a modellen, de még mindig sok a szétszórt darab, így szerkesztenünk kell az Unwrapot.

A jobb gomb lenyomásával egy gyorsmenünk elérhetjük a legfontosabb opciókat. A Stitch Selected (összehegesztés), Break (szétválasztás), és a mozgatás, forgatás, egyéb szerkesztési funkciókat.

A szerkesztés alatt folyamatosan nyomon követhetjük a modellen is a változásokat.

A szerkesztés után szépen látszik a végeredmény mennyivel másabb, mint a kezdeti Unwrap.

Célszerű azokra a területekre több pixelt hagyni, amelyek jobban ki lesznek dolgozva. (nagyítani kell a háló egy részét, és akkor több pixel jut arra a felületre)

Az elrendezés után ezt fogjuk kapni, ami már megfelelő ahhoz hogy textúrázzunk:

 
A pontos hálókimentés a maxban eléggé körülményes lenne (nagy hiba a fejlesztők oldaláról) ezért ténylegesen most jön az UnwrapTools előnye. A DumpMap opcióval egyszerűen exportálhatjuk ki a hálót képbe, ami pixelre pontos is lesz. Mivel én egy 1024*1024-es mapot akarok rárakni (ez meglehetősen nagy) ezért a méretét 1024x1024-re állítom, majd Wire (háló) kapcsolót úgy hagyva kiexportálom a DumpMapot, illetve el is mentem a kimenetet.
Photoshopba (illetve más szerkesztőprogramba) behívva a Dumpot (én mindig felül hagyom a Dump layert, hogy mindig lássam a hálót, csak a végleges mentésnél veszem le), először az alapvető materiálokat kiosztjuk. Fát a fának, fémet a fémnek, stb...

Az alapmateriálok után jöhet a koszolás, karcolások, realizálás, utóállítás. Figyeljünk arra, hogy a textúránk megfelelően sharpos legyen.

Én most elnagyolom gyorsan, de ennél sokkal szebben ki lehet dolgozni egy textúrát. Több kopással, koszolással, feliratokkal, jelekkel, stb. mind bonyolítható. Minnél bonyolultabb egy textúra, annál szebben, reálisabban néz ki a játékban.

Most már csak a Lightmap kiszámolása a dolgunk. És hogy ez miért fontos?

A játékmotorok többsége a selfShadow-t, azaz az objektumok saját magukra vetett árnyékát nem támogatja, vagy ha támogatja is annyira gyenge minőségű, hogy inkább a fejlesztők előre számolt mapot használnak selfShadow helyett (arról nem is beszélve hogy a motorból számolt árnyék mennyire eszi a vasat) Egy egyszerű Baked mapot fogunk készíteni, mégpedig úgy, hogy egy középszürkénél világosabb színű materiált ráhúzunk a modellre (fejlesztők választják meg a szürke RGB árnyalatát, de érdemes mindenhol ugyanazt használni.), majd egy SkyLightot lerakunk bárhová a scene-be. A skylightnak fehér intenzitást adunk. (alapbeállítások megfelelőek)

A Default Scanline renderer tökéletesen megfelelő a baked materiál számolására, de lehetőségünk van Mental Ray Rendererrel is dolgozni. (nagy szívfájdalmam, hogy a kedvenc rendermotorom a Brazil nem képes Baked materialt számolni. Remélem ezt a hiányosságot is pótolják majd. A Brazil mérföldekkel szebb rendercucc.) Válasszuk ki a Rendering / Render to Texture... menüpontot, majd az ablakban megjelenő Rendering Settings-nél a Setup gombra kattintva beállíthatjuk a render-t. Amit muszáj beállítanunk: Advanced lightning, majd válasszuk ki a Light Tracert. Itt beállíthatjuk a lightmap paramétereit. Ami a legfontosabb az Extra ambient és a Color filter, azaz a színezet, és a fényerősség. (az alapbeállítások ezesetben megfelelőek)

A Render to Texture ablakba visszatérve: Az Object to Bake lista mutatja azokat az objektumokat amelyekre Lightmap lesz számolva. A Padding-ot hagyjuk 2-őn, így a lightmapot megfelelő fedéssel fogja a program számolni. Az Output-nál az Add... gombra kattintva válasszuk ki a LightningMap opciót. (persze van lehetőségünk más mapokat is Bake-elni) a Size-ot pedig most 1024-re állítjuk, így 1024x1024-es Lightmapot fog számolni a MAX. Majd bökjünk rá a Render gobra, és várjuk meg míg kiszámolja a bal oldalt látható mapot. A kimentett képet a MAX /images könyvtárába teszi alapból, ha mi mást nem állítottunk be neki.

A kiszámolt lightmapot felülre rakjuk a textúránkban és Multiply Layerre állítjuk. A végleges textúra tehát így néz ki, ahogy a bal oldalt láthatjátok. Amit pedig az Ogre3D motor Ingame produkált a modellből és a textúrából azt alul láthatjátok.

Ezzel kész is van a modellünk. Mehet a karakterünk kezébe, hogy ott élvezetes hentelés eszközévé válljon.

 
 
A LowPoly modellezést ezzel lezárhatjuk, ezzel a technikával már bármit elérhettek. Most sokak kívánságára a következő pár tutorialt a csontozásnak, animálásnak, IK-nak, és esetleg a Reaktor fizikának (ha van rá igény) szentelem. Ezután jöhetnek a kívánságot. Addig is a Solarah legyen veletek, és kerüljétek az összecsapott munkát.
   
  Az ehhez tartozó file:
  lowpoly_AK47_tutor4.rar
   
 
szeki ● SilentVertigo Team
A cikksorozat további részei:
3DS MAX - 1. rész - User Interface
3DS MAX - 2. rész - Lowpoly modellezés
3DS MAX - 3. rész - Optimalizálás, Smoothing Groops, ResetXform
3DS MAX - 4. rész - UnwrapUV, Lightmap, Textúrázás

Értékelés: 10.00

Új hozzászólás
nab          2007.06.15 11:28
Gz szeki, nekem is mondtál újat.
szeki          2006.09.05 05:24
köszönöm, és készítem a folytatást...
Balaage          2006.09.02 01:03
Nekem nagyon tetszik.... Alig várom a folytatást!
kicsy          2006.08.24 11:51
Király
szeki          2006.08.22 23:59
remélem érthető nagyjából...
Seeting          2006.08.22 16:50
Csodás!