Kik vagyunk mi? Magdics Milán Umenhoffer Tamás cg.iit.bme.hu.

Slides:



Advertisements
Hasonló előadás
Első tapasztalatok az NIIFI-nél üzemelő infrastruktúra cloud szolgáltatással kapcsolatban Stefán Péter NIIFI RICOMNET Miskolc.
Advertisements

Web2 és a blogok. Mi az a web2? 1.Filozófia (tartalom) szabadság nyitottság közösség 2.Eszköz(készlet) egyszerűség integráció kompatibilitás mobilitás.
Bevezetés Előadó: Tóth István számítástechnika tanár
A könyvtári digitalizálás kézikönyve és honlapja
BSP-fák használata játék- engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez Előadó: Boromissza Gergely Konzulens: dr. Szirmay-Kalos.
Iratkezelő rendszer fejlesztése WPF alapokon
Tanuló (projekt)szervezet a Magyar Nemzeti Bankban
Farkas Bálint Az előadásban... Pár szó a játékok világáról Fejlesztés játékosan Elméleti alapok gyorstalpalója Fejlesztés.
Librarians az oktató játék. A játékról  Fejlesztők: Harmat Balázs webprogramozó Horváth Alexandra grafikus  Műfaj: labirintus játék  Környezet: Windows.
Agy-számítógép interfész virtuális terekben
Számítógépes grafika Szirmay-Kalos László
Digitális képanalízis
Bevezetés.  A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja  Teljesítménykövetelmények:  Animáció: néhány nsec.
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
Python script/ GUI (töltőre navigálás) Kinect/ROS/ Linux Interface ROS Linux – Apache web statisztikák Lehetséges feladatok.
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
A CAD/CAM modellezés alapjai
INFORMATIKA E-management E-business E-gyártás. Információ alapú gazdálkodás E-management E-business E-gyártás – E-minőségirányítás.
OAIS. Megőrzés feladatai Viability –Meg kell őrizni a bitfüzér változatlanságát és olvashatóságát a tároló eszközön Rendbebility –Meg kell őrizni a bitfüzér.
Mesterséges Intelligencia Alapjai II. beadandó Orosz György – Vörös Gyula – Zsiák Gergő Pál.
Mesterséges Intelligencia Alapjai II. beadandó Orosz György – Vörös Gyula – Zsiák Gergő Pál.
Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT.
 Tervünk egy játékprogam és ahhoz egy pályaszerkesztő megírása, amit az Enigma nevű játék inspirált.Enigma  Mind az eredeti és mind a mi játékunk alapja.
Számítógépes grafika 3. gyakorlat.
4.7. Textúra A felület anyagszerűsége Sík-képek ráborítása a felületre
Magas szintű hardware szintézis
Szervezeti viselkedés Bevezetés
Waldseemüller 1507 glóbuszának digitális rekonstrukciója Balázs János 2008.
Játékfejlesztés.
Számítógépes grafika Bevezetés
Project Domino Marczin Tamás Tóth Tamás IAR2008. Tartalom 1.A célkitűzés 2.Kutatások 3.Felépítése A szoftver A hardver 4.Szoftver 5.Hardver 6.Működése.
Automatika Az automatizálás célja gép, együttműködő gépcsoport, berendezés, eszköz, műszer, részegység minél kevesebb emberi beavatkozással történő, balesetmentes.
A szoftver, szoftvertípusok
Fejlett grafikai algoritmusok Megvilágítás SZTE, 2010.
Máté István Multimédia fejlesztő Máté István
Játékfejlesztés, 2008 április 1. Kovács Máté 1 Számítógépes játékfejlesztés TTK-s Est Előadó: Kovács Máté
Funkciós blokkok A funkciós blokkok áttekintése Az alkalmazás előnyei.
RAD Studio XE5: menük felépítése
Fotorealisztikus képszintézis valós időben Szirmay-Kalos László, Csébfalvi Balázs BME IIT.
Szabályzó tervezése intelligens kamerával
Automatika Az automatizálás célja gép, együttműködő gépcsoport, berendezés, eszköz, műszer, részegység minél kevesebb emberi beavatkozással történő, balesetmentes.
Menetrend optimalizálása genetikus algoritmussal
Webfejlesztés, Internet Explorer 10 Komjáthy Szabolcs
MTT MA Mérnöktanár mesterszak Elektronikus tanulás 2. konferencia.
Könczöl Tamás igazgató Sulinet Digitális Tudásbázis.
Kommunikáció-technológia specializáció
2. Operációs rendszerek.
Alkalmazott nyelvészet I.
Piramis klaszter rendszer
Farkas Zoltán mérnök informatikus Konzulens tanár: Seres Iván 2013.
Készítette: Kokrák Mihály Konzulens: Smid László
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
GPU alapú fotontranszport nagyfelbontású heterogén közegben BME IIT Szirmay-Kalos László Magdics Milán Tóth Balázs.
Vizuális programozás Előadó: Csapó Gábor.
Assoc. Prof. Ján Gunčaga, PhD. Faculty of Education Catholic University in Ružomberok Nyílt forráskódú szoftverek és IKT az oktatásban.
Analogical and Neural Computing Laboratory, Hungarian Academy of Sciences, Budapest 1 MATLAB u Hatékony, interaktív, tudományos és műszaki számítások,
OpenCV CV = Computer Vision
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM TÁVKÖZLÉSI ÉS MÉDIAINFORMATIKAI TANSZÉK Építsünk IP telefont! Moldován István
Realtime 3D rendszerek, Unity 3D Témalabor, 2016.
Gábor Dénes Számítástechnikai Emlékverseny
Sprite animáció, kamera követés, háttér mozgás
Játékfejlesztés.
(Iskolai) Beléptető rendszer Raspberry Pi 2-vel.
„Designer-barát” játéklogika
Az informatikus képzés és az ipari kapcsolatok jövője a SZE-n
Vizualizáció és képszintézis
A programozható mikrokontroller
Mesterséges intelligencia
Kooperatív Képzés - Avaya
C/C++, hobbi játékprogramozás
Előadás másolata:

Kik vagyunk mi? Magdics Milán Umenhoffer Tamás cg.iit.bme.hu

Kik vagytok Ti?

Mi a tárgy célja? Unity alapjainak megismerése Gyakorlati ismeretek Ahol lehet, megfelelő elmélet Alapvető programozási ismeretek C# (szkript) Unity-n belüli használata A félév végére egy egyszerű 2D, oldalnézetes mászkálós/ugrálós játék létrehozása

Milyen témákat érintünk? Unity alapjai 2D grafika alapjai Sprite-ok, sprite animáció 2D fizika kontroll Játékmenet programozás GUI

Értékelés Órák látogatása Házi feladat v. vizsgafeladat Házi feladat: Egyszerű 2D játék Grafika Irányítás Fizika UI Játszható “demo pálya” Vizsga: Unity kezelés és programozási ismeretek mérése gyakorlati feladattal

SPASIM 1974 Maze war 1974

1991, Wolfenstein3D

1993, Doom

1996, Quake

1997, Quake 2 I(x,V)=I LightMap +I e (x,V)+   I(L) f r (L,x,V) cos  ’

1999 Quake 3, Unreal Tournament

2004 Doom3 I(x,V)=I e (x,V)+   I(L) v(x, L  f r (L,x,V) cos  ’

2004 Half-Life 2 I(x,  )=I e (x,  )+   I(h(x,-  ’ ,  ’) f r (  ’,x,  ) cos  ’d  ’

….

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...

Design Vezető designer (Lead Designer) Játékmenet tervező Pálya/küldetés tervező Történet és párbeszéd tervező

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

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

Hang részleg Szinkron Hang effektek Zene

Management Line producer Associate producer Studio Head

Minőségbiztosítás Kiadó minőségbiztosítási részlege 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

Üzleti részleg Üzletfejlesztés Üzletfejlesztési igazgató(business developement executive) Studió vezető Ügyvédek Licenszelés Eladás/Marketing Kézikönyv Gyártás

Egyéb Hardver gyártók Utóélet

Játékmotorok Nagyon összetett, bonyolult szoftvercsomag Jól átgondolt (?), általános, újrahasznosítható szoftverkomponensek Játékobjektumok 2D / 3D modellek Fényforrások stb. Egyéb segédeszközök (tool-ok) Pályaszerkesztő (level editor) Modellező szoftver pluginek stb.

Játékmotorok feladata, elvárt funkciók Rajzolás: Erőforrások kezelése Videokártya vezérlés Grafikai algoritmusok

Játékmotorok feladata, elvárt funkciók Animáció: Fizikai szimulációk Karakter animáció Részecskerendszerek Kamera mozgatás

Játékmotorok feladata, elvárt funkciók Multimédia: Hangok Átvezető videók

Játékmotorok feladata, elvárt funkciók GUI: Menük Eseménykezelés

Játékmotorok feladata, elvárt funkciók Mesterséges intelligencia: Állapotkezelés Útvonaltervezés

Játékmotorok feladata, elvárt funkciók Scriptelés: Játéklogika és objektumok viselkedésének egyszerű szerkesztése

Játékmotorok feladata, elvárt funkciók Többszálúság, párhuzamosság támogatása

Játékmotorok feladata, elvárt funkciók Procedurális tartalomgenerálás Globális illumináció Növényzet Városi környezet Véletlen pályák …

Játékmotorok feladata, elvárt funkciók Hálózati mód

Játékmotorok feladata, elvárt funkciók Multiplatform támogatás

Játékmotorok feladata, elvárt funkciók (Asset store:) Mások által gyártott tartalom könnyű elérhetősége Saját munka könnyű/egységes publikálása

Rajzolás (rendering) – erőforráskezelés Háromszög modellek, textúrák, shaderek betöltése fájlból A fentiek betöltése/törlése a processzor/videokártya memóriájába Erőforrás megosztás játékobjektumok között 200 egyforma orkhoz ne tároljuk a modellt 200-szor Rajzolási „célpontok”: textúrába rajzolás, bufferek

Rajzolás (rendering) – anyagok/shaderek Anyagjellemzőket a kód újrafordítása nélkül tudjuk szerkeszteni Pl. material script Pl. D3D Effects system Anyagok objektumokhoz rendelése Anyagok beállítása kirajzolás előtt

Rajzolás (rendering) – videokártya vezérlés CPU – GPU kommunikáció minimalizálása Rajzoló hívások, állapotváltozások minimalizálása Rajzolás sorok Rendezés material, textúra stb. szerint Példányosítás

Rajzolás (rendering) – láthatóság Ami nem is látszhat a képen, azt ne rajzoljuk ki Grafikai algoritmusok ennek támogatására

Render motor – példák Ogre3D Crystal Space Genesis3D Irrlicht Truevision3D …

Animáció – fizikai animáció Egy virtuális világnak nem csak valószerűen kell kinéznie, úgy is kell viselkednie! Merevtest mechanika Ütközésdetektálás és válasz Csuklók, motorok Ruha szimuláció Folyadék szimuláció Haj szimuláció

Fizikai könyvtárak – példák Bullet ODE – Open Dynamics Engine NVIDIA PhysX Box2D

Animáció – karakter animáció Morphing Bemenet: csúcspont koordináták kulcspontokban Csontváz animáció Bemenet: csont orientáció kulcspontokban Bőrözés Mi vezérli? Motion capture Fizika (pl. rongybaba) Inverz kinematika kombinálás (blending)

Audio Audio fájlok betöltése Lejátszás Hangok keverése Effektek Digitális jelfeldolgozás Távolság szerinti csillapodás, Doppler, visszhang 3D audio! (effektekkel)

Audio könyvtárak - példák OpenAL XAudio2 IrrKlang, FMOD, SDL_sound

GUI Menük, gombok, csúszkák, kijelölőgomb, választó gombok, állapot jelzők stb. Könyvtárak, pl: MyGUI CEGUI

AI Véges állapotgép tétlen/figyel/agresszív/menekül/… Útvonaltervezés Legrövidebb út keresése Formációk, együttműködés Stratégia Bonyolultabb AI algoritmusok

Szkriptelés Magas szintű viselkedés specifikáció Inkább tervezőknek mint programozóknak Interpretált nyelv, nincs előre fordítva Futási időben változtatható Könnyebben olvasható nyelvek Rövid kódrészleteknél ez OK

Szkript nyelvek Lua Egyszerűbb, gyorsabb, kisebb Kiválóan használható konfigurációra, jelenet felépítésre Python Sok funkció Jobb matek, szövegfeldolgozás

Tartalom Generálás Offline eszközök (pályaszerkesztőben) Globális illumináció (fénytérképek - lightmap) Terep generálás (terrain) Növényzet Futási időben Részletességi szintek Véletlen pályaelemek

Hálózat Kommunikáció client/server Adat tömörítás Broadcasting Üzenetek elvesztésének kezelése, sorrendiség Extrapoláció/Predikció Interpoláció Példa könyvtárak: OpenTNL (Torque Network Library) RakNet

Rakjuk őket össze A játékobjektumok minden alrendszerrel kapcsolatban vannak Az objektum reprezentációknak ezeket a funkciókat szét kell tudni választani Könnyebb bővíthetőség Komponens alapú modell (Unity)

Játékmotorok Unreal 4 Grafikailag sokat nyújt Lassabb tanulási görbe Sok beépített szolgáltatás (pl blueprint) Unity 5 Könnyű kezdés Nagy közösség, nagy asset store Plusz szolgáltatások fizetősek Valve Source 2 (stabil, gyors) Nem sok gyakorlati tapasztalatról tudunk CryEngine Grafikailag top Lassu tanulási görbe Korona SDK 2D Saját motor Új technológia Speciális szolgáltatások

Köszönjük a figyelmet!