Fény renderelése a Darkspore-ban 
- Mythbuster
- —
- 2010-08-11 16:33:56
Arra gondoltam srácok, hogy kicsit bemutatom nektek a renderelést (főképp a fénykezelést). A Darkspore egy úgynevezett "alkalmazkodott renredelőt" használ, ami meglehetősen új és eléggé különbözik a Spore-tól, de sokkal jobban beválik a közelgő játéknál.
Megpróbálom elmagyarázni, hogy is működik az alkalmazkodott renderelő úgy, hogy (remélhetőleg) mindenki megértse. Eközben szeretnék megmutatni néhány dolgot, hogy hogyan is rajzoljuk meg a környezetet a Darkspore-ban. Minden kép, amit látni fogtok a játék éppen futó hibakereső változatából valók (ez péntek éjjel, mielőtt hazamentem a hétvégére - mert olyan lelkes voltam :D). Készen álltok?
Na nézzünk körbe kicsit a környezeten, a Zelem's Nexus-on, a szerkesztőben. Ez a környezet már látható volt a demókban (elég régen), tehát már bepillantást nyerhettünk az eddig elkészült helyszínre.
De nem úgy, ahogy most! Ez egy madártávlati nézete a játékszint kezdőhelyének. Ezt így a játékban te nem fogod látni, de nekem kézenfekvő, hogy megmutassam a fényeket, a világítást. Nézzük meg a hibakeresőt úgy, hogy a fényforrások hatáskörét bekapcsolom:
Minden dróthálós labda egy "pont fény" - ha nem ismered azt a kifejezést, akkor gondolj úgy rájuk mint fénygömbökre, amiknek a fénye egyetlen pontból jön és minden irányba terjed (hatásuk a körülhatárolt területeken van). Ők csak a fények egyik típusa azok közül, amit használunk. A többi helyi fényhatás közé tartozik a reflektorfény, a vonalfény, és van olyan is amit globális fénynek nevezünk, de maradjunk egyszerűek.
Most nézzük a zöld világítást az energiahíd tetején.
Látod azt a zöld fényt a földön, ami úgy néz ki, mintha az energia hídból jönne? Ez abból a fényforrásból jön, amit bekarikáztam a madártávlatból - a fényforrást a mi grafikusaink helyezték el. Ők helyezik el az ilyen fényforrások százait ezen a szinten, ezzel adva finom és drámai megvilágítást a jelenethez. Most nézzük, hogyan járul hozzá a fény a jelenethez:
Ezen a képernyőképen látható a szétterjedt fény. Gondolj erre, mint egy képre ami csak a fényt mutatja, semmi mást (mindenféle objektum nélkül - egyfajta "fény felszín"). Láthatod ahogy a fény megvilágítja a talajt. A fény most sokkal fényesebbnek látszik mint a fentebb a képeken, ez azért van mert itt szabályozva/modulálva van (meg van szorozva), a fenti objektumok színe által (pl.: amelyek sötétebbek és még is visszaverik a fényt, azoknak láthatóan csökken a szerepe).
Ez egy másik típusú megvilágítás - a tükröződő fény. Nézd csak meg:
Itt egy kép, amin csak a tükröződő fény látható. Mint láthatod, csak azok a megcsillanó részek láthatók, amik visszaverik a fényt. Ezek a fajta fények hozzá lettek adva a jelenethez. Most lássuk, hogyan is dolgoznak a fények. Először is, szükségünk van úgynevezett "normálokra". Nézd csak meg ezt:
Színes, akár a cukorka - he?
Most egy kis matek. Ez itt srácok három komponens vektor (x, y, z), lényegében ezek merőlegesek minden pixelre az objektumok felületén.
Képzeld el ezt úgy, hogy ezek kis nyílhegyek a felületről indulnak, és a felület durvaságát követik.
Elég nehéz a nyilak százezreit figyelni, ezért színek formájában ábrázoljuk őket, a piros az x, a zöld az y, és a kék a z. Szóval például ahol pirosat látsz, ott a nyilak hegyei sokáig pozitív irányba mutatnak az X tengely mentén.
Oké, még egy dolgot szeretnék nektek mutatni, és utána beszélek arról, hogyan kalkuláljuk ki a világítást, ezekkel a vicces normálokkal.
Ezt úgy hívjuk, hogy "mélység csiszoló". Azok a dolgok amiket sötétnek látsz, közel vannak hozzád, amiket világosnak azok távolabb. Arra használjuk mindegyik pixel mélységét és képernyő-koordinátáját, hogy a felszín pixelei alatt lévő felszín pozícióját megtalálják. Szükségünk van erre a pozícióra a fény kiszámításához.
Oké, na lássuk, hogyan is kalkuláljuk ki a fényt ezen normálok és pozíciók segítségével. De először is figyelmeztetlek - nem vagyok művész. Szóval kérlek bocsásd meg nekem ezt az egyszerű diagramot:
Oké, most képzeld el, hogy a fekete vonal a felület és a zöld nyíl a merőleges (merőleges a felületre abban a pontban). A másik vicces fekete dolog ami úgy néz ki, mint egy rakétahajó, valójában egy szemgolyó az én verziómban. A szemgolyó lefele néz a sötét lila nyíl mentén, ahhoz a ponthoz amit meg akarunk világítani. A kék nyíl hegye a fény felé mutat (a sárga vonalak a napra emlékeztetnek), a halvány lila nyíl reprezentálja a sötét lila nyíl visszapattanását, mint ha kipattant volna a felületről, akár csak egy biliárdgolyó.
Megvan? Oké - a kék nyíl (ami a fényfele mutat) és a zöld nyíl (a merőleges) távolságától függően, a fény sokkal ragyogóbb lesz. Ha a közeli fény a felületre mutat, fényesebb lesz tőle. Végül, ha egy erősebb fény (mondj 100 wattos villanykörtét negyven helyett) mutat a felületre, az világosabb lesz annak hatására. Ezek mind belekerülnek a kalkulációba, ami elkészítette a "szétszórt fény együttműködése" képet.
Most nézzük a kék és a halvány lila nyilat, amik közelségétől függően kerül bizonyos mennyiségű és nagyságú fény a "szembe". Kombináld ezt azzal, hogy milyen csillogó a felület, ezek segítségével készítettük a "tükröződő fény" képet fentebb.
Itt látható, milyen csillogóvá tették a dolgokat a grafikusok a Zelem's Nexus-on:
A fehér részek a képen, a fényesebb részek. Nézd meg a "tükröződő fény" képet megint és fogadok, hogy látni fogod a kapcsolatot.
Oké, itt ez a kép megint de most kikapcsoltam a globális világítást, szóval láthatod a szétszórt és a tükröződő fények közreműködését tisztán, csak a lokális pontfénnyel megvilágítva:
Most kérdezhetnél magáról az energiahíd testéről is. Az is világít nem? Nos nem. Egyszerűen csak meg lett rajzolva, és ekkor hozzá adták a ragyogás. Itt látható a ragyogás csiszolva, mielőtt elmostuk és visszaadtuk a jelenethez:
Most tisztán látod a hidat, szóval tényleg ragyog. Ezzel értük el, hogy úgy nézzen ki, ahogy kinéz.
Figyelmeztettelek, hogy amiket az imént mutattam neked, azok nem lettek rögzítve. Amióta ez a jelenet kész, a változásoknak nincs hatása a fényekre, és nincsenek új információk beírva a fények csiszolásához.
Úgy vélem, ez egy kis ízelítő volt. Nagyon sok dolog zajlik a színfalak mögött, mint például fénytervezés, fényhatások, árnyékok, árnyék válogatta fények, animált fények ... stb. de hagyunk egy kis meglepetést a következő alkalomra is!
Köszönet az olvasásért, remélem tetszett!
-dls (aka MaxisDave)"
| « vissza a főoldalra |
|---|
A hozzászóláshoz be kell jelentkezned. Ha még nincs azonosítód, regisztrálj oldalunkon!
| Hozzászólások4 |
|---|
2010-08-17 17:08:55 [1]
Bocsánat, a néhány helyen előforduló furcsa fordításért. Két hete fordítom, igyekeztem minél érthetőbb lenni, de néha még én is belegabalyodtam, hogy miről is van szó. 
Adatlap
Legfrissebb hírek
Sporehungary nyereményjáték !!! Frissítve 3.!!! |
Videó teszt hamarosan |
Már kapható a boltokban, de... |
Szerkesztő kerestetik! |
Béta április 22.-ig |
Legfrissebb letöltések
Mai top játékok
A hónap legnépszerűbb hírei
Szerkesztő kerestetik! |
Növénylabor |
A Darkspore lényei UPDATE! |
Lénylaborok |
Regisztrációs hiba! |
Már kapható a boltokban, de... |
Új Spore a láthatáron! |
Új Spore? |

