bsp f k haszn lata j t k engine fejleszt s ben a nagy kiterjed s z rt terek megjelen t s hez n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
BSP-fák használata játék-engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez PowerPoint Presentation
Download Presentation
BSP-fák használata játék-engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez

Loading in 2 Seconds...

play fullscreen
1 / 28

BSP-fák használata játék-engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez - PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on

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 László. Bevezetés I. BSP-fa használat 1990-es évek: Doom 2000-es évek: Quake 2005: Half-Life 2. Bevezetés II.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'BSP-fák használata játék-engine fejlesztésében a nagy kiterjedésű zárt terek megjelenítéséhez' - calvin-fischer


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
bsp f k haszn lata j t k engine fejleszt s ben a nagy kiterjed s z rt terek megjelen t s hez

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 László

bevezet s i
Bevezetés I.
  • BSP-fa használat
    • 1990-es évek: Doom
    • 2000-es évek: Quake
    • 2005: Half-Life 2
bevezet s ii
Bevezetés II.
  • Videokártyák rohamosfejlődése
    • Több millió háromszögmásodpercenként
  • Felhasználói igények növekedése
    • Élethű környezet (még több háromszög)
    • Dinamikus elemek, árnyékok
    • Minél nagyobb FPS
    • Rövid várakozási/betöltési idő
bevezet s iii
Bevezetés III.

Teljes terep kirajzolása

  • Részletes kidolgozottság
    • Nagyon sok háromszög
    • Lassú megjelenítés (kicsi FPS)
  • Elnagyolt kidolgozottság
    • Gyors megjelenítés
    • Csúnya terek
bevezet s iv
Bevezetés IV.
  • Pálya szétszabdalása
    • Kicsi pályarészek
    • Várakozás az új részekbetöltésére
    • Lineáris játékmenet
    • Dinamikus pályarész betöltés
bevezet s v
Bevezetés V.
  • BSP-fák ötlete
    • Játéktér strukturális felépítése
    • Csak a szükséges méretű játéktér megjelenítése
    • Vizsgálatok (pl. ütközésdetektálás) csak az aktuális térrészben
    • Előfeldolgozási időben számolható
    • Minimális valós-idejű számítási igény
    • Lehet részletesen kidolgozott terep
    • Elfogadható FPS
kd fa
Kd-fa
  • Kd-fa
    • A teret a tengelyekkelpárhuzamos hipersíkokkalosztjuk ketté úgy, hogy…
    • a sík két oldalán közelazonos számú poligon legyen, mindaddig…
    • amíg elegendően kevés poligon nem lesz minden egyes térrészben.
bsp fa
BSP-fa
  • BSP-fa (Kd-fa kiterjesztése)
    • A teret a pálya egy poligonjának síkjával osztjuk ketté úgy, hogy…
    • minél kevesebb poligont vágjunk ketté és…
    • a sík két oldalán közel azonos számú poligon legyen mindaddig…
    • amíg minden egyes térrészben a poligonok által alkotott alakzat konvex nem lesz.
bsp fa haszn lata
BSP-fa használata
  • Különféle vizsgálatokhoz
    • Csak az aktuális térrészben szükséges
  • Megjelenítéshez
    • Aktuális térrész
    • Aktuális térrészből látható térrészek
aktu lis t rr sz keres se
Aktuális térrész keresése
  • Rekurzív algoritmus
    • Induljunk el a gyökértől
    • A vizsgált pont (aktuálispozíció) és a csomópont vágósíkjának viszonya szerint lépjünk tovább a gyerekek felé (front vagy behind)
    • Ismételjük a 2. pontot rekurzívan mindaddig, amíg levélhez nem érünk.
    • A levél reprezentálja a térrészt, amiben aktuálisan tartózkodunk
tj r s a t rr szek k z tt i
Átjárás a térrészek között I.
  • Szükség van rá, mert…
    • nem feltétlenül csak az aktuális térrész látható az aktuális pozícióból, hanem…
    • a szomszédosak is látszódhatnak
  • Módszer
    • A térfelosztás után még előfeldolgozási időben döntsük el minden egyes térrészre, hogy abból mely más térrészek látszódhatnak
    • Tároljuk el ezt is a struktúránkban
tj r s a t rr szek k z tt ii
Átjárás a térrészek között II.
  • Megvalósítás
    • Számoljunk a térrészekhezbefoglaló dobozt
    • Amennyiben a befoglalódobozoknak van közös részük, mondjuk azt, hogy van átjárás a térrészek között
    • Tároljuk ezt az információt egy vektorban, ahol egy bit jelöli az átjáró létét a két térrész között
megjelen t s i
Megjelenítés I.
  • A látható térrészek összegyűjtése
    • Keressük meg, mely térrészben tartózkodunk aktuálisan
    • Gyűjtsük össze az innen látható térrészeket
    • Dobjuk el ezek közül a már vizsgált, és az aktuális kamera beállítások mellett nem látszódó térrészeket (befoglaló dobozos vizsgálat)
    • Végezzük el rekurzívan minden egyes megmaradt térrészre a vizsgálatokat a 2. ponttól kezdődően
megjelen t s ii
Megjelenítés II.
  • Jelenítsük meg az így összegyűjtött látható térrészek összes háromszögét
    • ha az aktuális térrésszel kezdünk, akkor a Z-bufferbe való írások száma jelentősen lecsökken, mert…
    • a jelenleginél közelebbi térrészek, illetve háromszögek nem lehetnek
p lda6
Példa
  • Átjárhatóságok
    • 1-2
    • 2-4
    • 3-4
p lda7
Példa
  • Avatar térrésze
    • 1
  • Látható térrész(ek)
    • 2
  • Valóban látható
    • 2
  • Onnan látható
    • 1; 4
  • Nem vizsgált térrész
    • 4
  • Valóban látható
    • n.a.
  • Összes látható
    • 1; 2
eredm nyeim i
Eredményeim I.
  • BSP készítő program
    • Bemenet: OBJ fájl
      • Háromszögesített
      • Befele néző normálokkal
      • Avatar kezdőpontja a (0; 0; 0)-s koordinátában
      • Elegendően magas mennyezet (avatar szempozíciója 1 egység magasan)
    • Kimenet: BSP fájl
      • Saját készítésű
      • Alapötlet a Quake 3 formátuma alapján
eredm nyeim ii
Eredményeim II.
  • BSP megjelenítő program
    • DirectX 9.0c használata
    • BSP fájlok betöltése
    • Megjelenítés
      • Adott térrész zöld színnel
      • Többi látható térrész pirosból kékbe átmenő árnyalattal
    • Mozgás
      • Felhasználói irányítás (mozgás, ugrás)
      • Minimális fizika (gravitáció, csúszás, ütközés)
tov bbl p s
Továbblépés
  • Anyag jellemzők és textúra használata MTL fájlból
  • Láthatósági feltételek finomítása
    • egyszerűen és gyorsan kezelhető
    • megbízható módszerre
  • Fizikai modell finomítása