Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Játékfejlesztés.

Hasonló előadás


Az előadások a következő témára: "Játékfejlesztés."— Előadás másolata:

1 Játékfejlesztés

2 Időpontok !!!MINDEN HÉTEN!!! Kedd 16:15-17:00 IL407
Szerda 14:15-15:45 IL407 ???

3 Követelmények Órák látogatása Házi feladat Vizsga
Ebből kettőt kell teljesíteni…

4 Honlap

5 Miről lesz szó? Modellezés - Blender Textúrázás - GIMP
Animáció - Blender Grafika - Ogre3D Fizika – PhysX ??? GUI ??? ??? Hálózat ??? ??? Hangok ???

6 Miről lesz szó? Árnyalás, textúrázás, light map, árnyékok, bump map, shaderek (Cg) Csontváz animáció (sw / hw??) Arc animáció (sw / hw)?? Merevtest fizika (ragdoll??) Részecskerendszerek Speciális effektek…

7 Speciális Effektek

8 Történelem

9 Történelem 1973 1981

10 1991, Wolfenstein3D

11 1993, Doom

12 1996, Quake

13 1997, Quake 2 I(x,V)=ILightMap+Ie(x,V)+ S I(L) fr(L,x,V) cos’

14 1999 Quake 3, Unreal Tournament

15 2004 Doom3 I(x,V)=Ie(x,V)+ S I(L) h(x, L) fr(L,x,V) cos’

16 2004 Half-Life 2 I(x,w)=Ie(x,w)+I(h(x,-w’),w’) fr(’,x,) cos’dw’

17 Játékfejlesztés szereplői
Design Programozói részleg Művészeti részleg Hang részleg Menedzsment Minőség biztosítás Üzleti részleg Utóélet...

18 Design Vezető designer (Lead Designer) Játékmenet tervező
Pálya/küldetés tervező Történet és párbeszéd tervező A játékot legelőször is meg kell tervezni. Ha a kiadó felvet egy ötletet, a fejlesztő cégnek egy vezető designert kell felmutatnia. Ez gyakran a fejlesztő cég vezetője, alapítója. Koordinálja a tervezőket, olyan mint egy rendező, nem kell az egész játékot neki megtervezni. Ő feladata, hogy eldöntse mi tartozik bele a játékba és mi nem. Játékmenet designer: általában programozói tapasztalata van. Lead designer, programozók és a pálya tervezők között helyezkedik el, koordinál. Pályatervező: a játékok kis talányok, megoldandó feladatok sorozatai. Ezek a tervezők gyakran programozók, scriptelők. Néha művészek, térképdarabokkal babrálva. Valamikor csak szövegesen terveznek. Történet és dialógus: egészen más, mint novellát írni. A játékok interaktív alkalmazások. Vezető designerrel sokat kell egyeztetni, hogy merre fusson a történet fonala, és a küldetés tervezőkkel is rengeteget kell egyeztetni, hogy mit lehet és mit nem, mit enged meg a technológia (pálytervező szoftver, scriptek stb.). Ezek a feladatkörök természetesen nem feltétlenül egy emberhez tartoznak, egy designer több részterület munkáját is lefedheti.

19 Programozói részleg Vezető programozó
Játék mechanika/játékmenet programozó 3D grafikai programozó AI programozó GUI programozó Fizika Audio Eszköz programozó Pályaszerkesztő programozás Hálózat programozás Sokak szerint az igazi tervezők mégiscsak a programozók és a művészek. A tervezők tervezgetnek, de a végső játék mégiscsak úgy néz ki ahogy azt a programozók és a művészek megcsinálják. A végső kép a designerek, programozók és művészek kollektív látomásaiból alakul ki. A programozók feladata a játék kódjának elkészítése: 3d motor, hálózat, ai stb. Általában a kódolási munkák miatt csúsznak a projektek. Ez jellemző a szoftverfejlesztésre általában. Nincs elég biztonságos kódolási struktúra. Ez persze folyamatosan fejlődik... Vezető programozó: általában a legtapasztaltabb programozó, a legnagyobb kihívást jelentő programozási feladatokkal birkóznak meg. Általában ők a projekt hősei (John Carmack). Általában sok programozó dolgozik egy projekten, akár 25 ember. Valakinek át kell látnia ezeknek az embereknek a munkáját és jelenteni tud a projekt vezetőség felé. Ezek az emberek a technical director-ok. Általában kevesebbet kódolnak, többet menedzselnek. A technikal director lehet a vezető programozó is, de előfordul, hogy külön embert igényel (a vezető programozó túl elfoglalt, nem érdekli a menedzsment v. alkalmatlan a menedzsmentre). Játék mechanika: a tervezők által megálmodott mechanikát önti kód formájába. Ez a játék nagy vonalú lényegét jelenti, mi történik a játékvilágban, milyen objektumok, fegyverek vannak, mit lehet csinálni a játékban. (Játékmenet programozás). Közép szintű programozást jelent. Általában a designerekkel gyakran érintkezik, ő rakja bele a „játékot” a játékba. Szórakoztató munka lehet. 3D: legmegbecsültebb poszt, erős programozói, matematikai tudást igényel. Erről sokat tudnánk még beszélni, de találkoztunk már és találkozni is fogunk vele a tanulmányaink során. Mesterséges intelligencia programozás: folyamatosan erősödik, fejlődik. Script szerű működéstől a tanuló algoritmusokig. Az igény nagyban függ a játék műfajától. GUI: panelek, HUD elemek, menuk. GUI könyvtárak ismerete szükséges (ez lehet saját fejlesztésű). Sok gyakorlatot igényel, nehéz jól csinálni. Audio. Viszonylag kis volumenű munka a jól használható könyvtáraknak köszönhetően. Eszköz: (akár 50%-a a programozási feladatoknak ez lehet).

20 Művészeti részleg Art director Concept artist
2D artist/interface designer 3D modellező Karakter modellező Textúrázó Animáció / MOCAP Forgatókönyvezés Kezdetben a programozó és a művész egy ember volt. Később ezek a szerepek elváltak. Manapság igen nagy mennyiségű digitális tartalomra van szükség egy játék elkészítéséhez. A különböző művészek képességei, tudása, szerepe alapján a következőképpen csoportosíthatók: Art director: a művészeti részleg vezetője. Függőségeket átlátja, felel a megfelelő időzítésért. Másik még fontosabb feladata az, hogy biztosítsa, hogy minden egyes elkészült alkotás egy egységes egész szerves része lehessen, minőségben, stílusban. A legtöbb tapasztalattal, megbecsüléssel rendelkező művész a csapatban, aki tud bánni az emberekkel. Concept artist: régen egy-két vázlat elég volt ahhoz hogy érzékeltessük a fő karaktereket, helyszíneket. Manapság, amikor egy-egy hibás művészeti alkotás (modell- háttér, textúra) súlyos pénzeket és erőforrásokat jelent, egyre nagyobb hangsúlyt fektetnek a látványtervekre. A fekete fehér rajzokat kiszínezik, és felküldik egyeztetésre az art direktorok, designerek, producerek felé jóváhagyásra. Ha ez megvan, kezdődhet a tényleges „gyártás”. 2D: klasszikus rajz és festészeti tudással bír. Hátterek, portrék, plakátok, website grafika, install grafika, marketing grafika stb... (Photoshop) Interface: tapasztalt 2D grafikus, néha programozó v. designer. Nagyon fontos szerep. Az egész játék arculatát meghatározza. 3D modellező: programozó-művész hibrid jelent meg, aki megbirkózott a technikai feladatokkal amit a modellezés jelent. Régebben nagyon nehéz volt jó ilyen munkaerőt szerezni (átcsábítani a filmiparból v. kiképezni), manapság a tanfolyamoknak és a modellező programok egyszerűsödésének köszönhetően már jobb a helyzet, de továbbra is fontos részét képezik a művészeti részlegnek. Karakter: speciális 3D modellező, akinek jó érzéke van ehhez. Textúrázó: 2x-3x lassabb folyamat a modellezésnél. Az elkészült modellt kell kifesteni. Animáció: karakter és egyéb animáció. Az egyéb egyszerű (pl. szélmalomkerék). Karakterek: kulcskeret animáció vagy/és MOCAP. Lassú folyamat, nagy gyakorlatot igényel. Storyboarder: kisfilmek (cinematik) készítésénél játszanak szerepet, sokszor concept artist-ok.

21 Hang részleg Szinkron Hang effektek Zene
Kezdetben csak hang effektek voltak: sípolás, prüttyögés, brummolás.... Manapság már 5.1-es dolby surround hangzás, fimliparban is tevékenykedő zeneszerzők művei, és hivatásos szinkronszínészek szólalnak meg. A jó szinkron fontos része egy játéknak, életet lehel bele. Szinkronrendezővel érdemes dolgozni, tudni fogja honnan szerezze be a megfelelő színészeket, gondoskodik arról, hogy minden időben és a megfelelő formátumban, minőségben kerüljön a fejlesztőkhöz. A hengeffektekért felelős hangmérnökök igazi varázslói annak, hogy mely hangmintákat kell hogyan torzítani, nyújtani, csavarni, hogy pontosan olyan hangot kapjunk, mint amilyet szerettünk volna. Tipikus outsourcing lehetőség. Zene: fontos érzelmi hátteret ad. Akár egy ember is elvégezheti a synthy zenét... Outsourcing

22 Management Line producer Associate producer Studio Head
A legkritikusabb komponens. Hatalmas fejlesztési feladat egy játék elkészítése. Általában a vezetés megoszlik több ember között, akiknek megvan a saját területük. Line producer: apró feladatok tömkelegét végzi, a dokumentumok összeállításától, elküldésétől akár az ételrendelésig... Associate producer: a studio vezető alatt helyezkedik el a hierarchiában. Egy csapatot koordinál, határidőkre figyel, jelentéseket ír ilyesmi.. Head: azért felel, hogy a projekt profit-orientáltan fusson, ennek megfelelően tervezi és irányítja. Szinte kivétel nélkül veteránok, alapítók, akik egyszerre játék tervezők, szoftver fejlesztők és üzletemberek.

23 Minőségbiztosítás Kiadó minőségbiztosítási részlege Béta tesztelés
Vezető Fő csapat Multiplayer csapat Friss csapat Kompatibilitási csapat Lokalizáció (pl. magyarítás) Béta tesztelés Béta tesztelő Béta tesztelő program manager Kritikus komponens. A legtöbb cégnek saját módszere van. Csak nagy cégeknél van értelme teljes munkaidőben foglalkoztatni ilyen embereket. Kis cégeknél gyakran a line és associate producereknak juthat ez a szerep. Minden jelentősebb játék átesik a kiadó saját belső tesztelési fázisain. Megfelelően rendezett hiba listát továbbítanak a fejlesztők felé. QA vezető: egy korábbi tesztelő, aki megfelelő képességekkel és tapasztalattal rendelkezik, ahhoz, hogy a tesztelési folyamatot irányítsa. Begyűjti a hibalistákat, rendszerezi, szortírozza, visszaküldi pontosításra. Fő csapat: elejétől a végéig jelen van. Friss csapat: szükség van friss szemekre, főleg a játék kiadása előtt. Béta teszt: fizetetlen vállalkozók, rajongók tesztje. Masszív multiplayer esetén különösen indokolt. Program manager: általában egy line v. associate producer veszi fel ezt a szerepet. A tesztelőkkel kommunikálni kell, stresszes munka.

24 Üzleti részleg Üzletfejlesztés Licenszelés Eladás/Marketing Kézikönyv
Üzletfejlesztési igazgató(business developement executive) Studió vezető Ügyvédek Licenszelés Eladás/Marketing Kézikönyv Gyártás A játékfejlesztés nagy üzlet. Több bevétel származik belőle, mint a filmiparból, annak ellenére, hogy a fejlesztések nagy része nem nyereséges. Biz. Dev.: figyeli mi történik az iparban, melyek fejlesztés alatt álló játékok (melyek esetleg kiadót keresnek). Gyártás: CD sokszorosítás, nyomtatás, dobozolás

25 Egyébb Hardver gyártók Utóélet
Hardver gyártók: folyamatos kapcsolat kell a hardver gyártókkal pl. NVidia Utóélet: javítások, forumok, support. MMO: folyamatos felügyelet, új tartalom, frissítések, külön fejlesztő csapatot igényel.

26 Ismétlés

27 Számítógépes grafika feladata
illúzió modellezés számok Virtuális világ modell képszintézis

28 Modellezés feladatai Geometria megadása Transzformációk
pont, görbe, terület, felület, test, fraktálok Transzformációk lokális modellezési és világkoordináta rendszer Színek, felületi optikai tulajdonságok

29 Koordináta rendszerek
Yh 1 y 1 r f w Xh x Descartes Polár Baricentrikus Homogén

30 Descartes koordináták
x, y, z: tengelyek mentén elmozdulás kitüntetett origó x, y, z irányok Miért hasznos? eltolás: összeadás irány: 1 hosszú vektor közbezárt szög cosinusa: skalárszorzat (dot) merőleges: vektoriális szorzat (cross) y 1 x 1

31 Baricentrikus koordináták
súlypont a, b, c súlyok: pont a síkon kitüntetett 3 csúcs Miért hasznos? mind pozitív: pont a háromszögön belül a súlyok használhatók a csúcsokhoz rendelt értékek közötti interpolációra homogén 2x súly: ugyanaz a pont 1 3 1

32 Felületmodellezők Test = határfelületek gyűjteménye
Topológiai ellenőrzés (Euler tétel): csúcs + lap = él + 2

33 B-rep: Euler operátorok

34 Poligon modellezés Alapelemek modellezési példa1 : házikó
modellezési példa2 : asztal

35 CSG Operátorok Modellezési példa : fogaskerék

36 Szabadformájú görbék Definíció kontrolpontokkal
Polinom: x(t) = S ai ti, y(t) = S bi ti A polinomegyütthatók származtatása: Interpoláció Approximáció

37 Szabadformájú felületek: r(u,v)
Definíció kontrolpontokkal r(u,v) = rv(u) = S Bi (u) ri (v) ri (v) = S Bj(v) ri,j r(u,v) = S S Bi (u) Bj(v) ri,j

38 Szabadformájú felületek
2D kontrolpont sereg: szorzatfelületek r(u,v) = S S Bi,j (u,v) ri, j = S S Bi(u) Bj(v) ri, j Súlyfüggények: Interpoláció, Approximáció

39 2.5 dimenziós módszerek Kihúzás: extrude Forgatás: rotate

40 Elemi affin transzformációk
Eltolás: r = r + p Skálázás: x’= Sx x; y’= Sy y; Forgatás: Sx Sy Fix pont: origó [x’,y’] = [x,y] r’ r cos f sin f -sin f cos f r’ = r Fix pont: origó

41 Összetett transzformáció
Affin transzformáció: r’ = r A + p A: lineáris transzformáció forgatás, skálázás, tükrözés, nyírás, stb. p: eltolás Amíg lineáris transzformáció: konkatenáció r’ = (...(r A1) A2)... An) = r (A1A2... An )

42 Homogén koordináták legyen a 3 pont: [0,0], [0,1] és [1,0] (Descartes koordinátákban megadva) ekkora súlyok kellenek [x,y]-hoz Xh = x Yh = y w = 1 - Xh - Yh ha a súlyösszeg 1, különben ezek valahányszorosa (≠0) Yh w Xh

43 Homogén koordináták w helyett inkább adjuk meg h súlyösszeget
homogén koordináták a síkon [Xh, Yh, h] ugyanez a pont 1 összsúllyal (/h): [Xh/h, Yh/h, 1] Descartesban: [Xh/h, Yh/h]

44 Mennyivel tud többet? szemléletesen h lehet 0 is!
Xh, Yh pont irányában, 1/h-szoros távolságra h lehet 0 is! ideális pont végtelen távol Descartesban nem ábrázolható [0,0,0] pont nincs! eltolás, középpontos vetítés lineáris transzformáció [2. előadás]

45 Homogén koordinátás transzformációk
Eltolás nem fér bele a 2x2-es mátrixba Dolgozzunk 3x3-as mátrixokkal A a11 a a21 a p1 p [r’, 1] = [r, 1] = [r A + p, 1] p [r’,1] = (...([r,1] T1) T2)... Tn) = [r,1] (T1T2... Tn)

46 Képszintézis = valós világ illuziója
Tone mapping pixel Virtuális világ színérzet Valós világ Sugársűrűség = egységnyi látható felület egységnyi térszögbe kisugárzott teljesítménye

47 Irányok, irány halmazok: 2D
2D eset Irány:  szög egy referencia iránytól Irány halmaz: szög [rad] egység kör íve Méret: ívhossz Teljes halmaz: 2

48 Irányok, irány halmazok : 3D
, szögek 2 referencia iránytól Irány halmaz: térszög [sr] tartomány az egységgömbön Méret: tartomány területe Teljes halmaz: 4

49 Sugársűrűség (Radiancia): I(x,w)
Egy egységnyi látható felület által egységnyi térszög alatt kibocsátott teljesítmény [Watt/ sr/ m2] w dw dF I(x,w) = dF / (dA cos  dw) dA

50 Fény-felület kölcsönhatás
w dw w’ x Visszaverődés valószínűség sűrűségfüggvénye: w(w’,x,w) dw = Pr{foton w  dw -ba megy | w’-ből jön} w(’,x,) cos  BRDF: fr (’,x,) [1/sr] = fr (’,x,)

51 Rendering egyenlet I(x,w)=Ie(x,w)+I(h(x,-w’),w’) fr(’,x,) cos’dw’ I(h(x,-w),w) h(x,-w) I(x,w) ’ ’ w x fr (’,x,) I = Ie + t I

52 Absztrakt fényforrások
I(x,w)=Ie(x,w)+I(h(x,-w’),w’) fr(’,x,) cos’dw’ mezei jelöléssel Iout=Iin fr cos’dw’ ha csak egy irányból jön be fény, nem kell az integrál pontfényforrás irányfényforrás Iout=Iin fr cos’

53 Mért BRDF adatok reprezentálása
1 2 1 2 BRDF 5-változós függvény: 1 , 1 , 2 , 2 ,  Tábla méret: 100x100x100x100x10 = 109

54 Matematikai BRDF modellek
Anyagcsaládra jellemző matematikai képlet 1 1 2 2 fr , BRDF paraméterek

55 BRDF tulajdonságok 1. Pozitív 2. Szimmetrikus (reciprok) - Helmholtz
3. Energia megmaradást nem sértő: a visszavert energia kisebb mint a beérkező a visszaverési valószínűség 1-nél kisebb fr (’,x,) = fr (,x,’)

56 Diffúz visszaverődés (Lambert)
Radiancia a nézeti iránytól független Helmholtz: BRDF a megvilágítástól is független A BRDF konstans: q’ ’ fr (’,x,) = kd(l)

57 Lambert árnyalás Iout=Iin fr cos’ Iout=Iin kd cos’

58 Ideális visszaverődés
Visszaverődés a tükörirányba A BRDF Dirac-delta: itt nem a fényforrás, hanem a BRDF miatt nem kell integrálni q’ Iout=Ireflect kr q’ w’ wr fr (’,x,) = d(w-wr ) kr /cos’

59 Spekuláris visszaverődés: Phong modell
y q’ q’ = diffúz + Kell egy függvény, ami nagy y=0 -ra és gyorsan csökken Iout=Iin kscosny

60 Diffúz+Phong anyagok diffúz Phong diffúz + Phong n=

61 Árnyalásról még bővebben, később…

62 Textúra interpretációk
kép a memóriában ugyanolyan mint a frame buffer pixel helyett texel adatok tömbje 1D, 2D, 3D tömb pl. RGB rekordok függvény diszkrét mintapontjai rácson rekonstrukció: szűrés függvény a 3D felületi pontok felett? R G B R G B R G B R G B R G B R G B

63 Textúra leképezés 3D felületi pont → 2D textúratérbeli pont
u = T(x) tetszőleges f(x) tárolható textúrában f(x) = f(u) = f(T(x)) megkeressük a pont textúrakoordinátáját értéket kiolvassuk a textúra megfelelő texeléből árnyaláshoz a felületi jellemzőket tárolhatjuk BRDF paraméterek: kd, ks, shininess, kr normálvektor: bump map, normal map

64 Textúra leképezés T(x) legyen könnyen számítható csúcsokban adott
modellezéskor u,v koordinátákat rendelünk a vertexekhez háromszögeken interpoláljuk a felületen NEM a képernyőn

65 Perspektív helyes interpoláció
ha a világban lineáris, akkor a képernyőn nem textúráknál látszik persp. helyes textúrázás de ma már mélység szín

66 Textúrákról még bővebben, később…

67 Ismétlés vége


Letölteni ppt "Játékfejlesztés."

Hasonló előadás


Google Hirdetések