VR Tower Defense játék (TecTacTD)

2016. november 14. 20:17 - tectactd

Pathfinding és Bullet mozgatás tapasztalatok

Mennyire kellemes meglepetés is az, mikor egy nagyon bonyolult és erőforrás igényes scriptet le tudsz cserélni egy engine által beépítetten támogatott megoldásra. Az elmúlt napokban két oldalról is történt ilyen esemény és most röviden ezeket szeretném megosztani veletek.

Útkeresés

Korábban a Simple A* Pathfinding-ot használtam. Azt pedig kijelenthetem, hogy ez nem volt életem legjobb döntése. Nagyon számításigényes volt minden egyes útvonal kiszámítása és limitált volt a távolság, ameddig képes volt minderre. Egy ponton túl, ha növeltem keresési távolságot használhatatlan mértékre nőtt a számítási igény. Ezért különböző waypointokkal oldottam meg, hogy ha egyet elért, váltott a következőre. Kényelmetlen volt és lassú, de végül is működött, így nem piszkáltam.

Amiért elkezdtem másik megoldást keresni, hogy nagyon rosszul reagált a script arra, ha egy enemyt találat ér. Ilyenkor a model nagyon csúnyán felpattant időnként. Igaz a script azonnal visszarántotta a földre a karaktert, de nem mutatott túl jól.

navmesh.png

Ezután jött a megvilágosodás, mikor egy kollégától meghallottam a varázsszót: NavMesh. Nem fogok részletesen belemenni a használatába, hiszen nagyon magától értetődő a használata és ha nem megy valami, a youtube tele van mindenre kiterjedő tutorialokkal ezzel kapcsolatban.
Szóval néhány kattintásból és komponens cseréjéből lett egy sokkal folyamatosabb mozgású és a hardvert kevésbé terhelő pathfindingom.

Több olyan elemmel tudom most ennek segítségével kiegészíteni a játékot ami nagyon macerás lett volna az előző megoldással:

  • Megállnak a shrine előtt és elkezdik lőni. így egy AOE fegyverrel egész kellemes móka lesz közéjük lőni
  • Fel tudnak torlódni egy-egy belassított enemy mögött, így megint csak az AOE fegyver értelmet nyer és a lassítás is sokkal fontosabb elem lesz.
  • Ha elzárod teljesen az útjukat, rombolhatják a falat. Ezt még nem tudom pontosan, hogy hogyan kerül be, vagy bekerül-e végül. Minden esetre a lehetőség adott.

 

Fizika vs. Scriptelt mozgás

A player fegyvere a korábbi verzióban ugye már tudta azt, hogy egy lövedék megy A-ból B-be és nem volt elég csak rákattintani az enemyre. A legnagyobb problémám az volt vele, hogy ezt ki szerettem volna egészíteni maximális lőtávolsággal. Azaz, egy bizonyos távolság után essen a földre a lövedék.


2-3 óra számolgatás után meg is volt a megfelelő ív, de nem mutatott olyan jól mint reméltem és láthatóan ette a frameket. Szóval ki lett próbálva, hogy minden egyes lövedékről lekerült minden script, csupán egy AddForce fut le Start-nál és kapott egy RigidBody-t. Az eredmény gyors és jól konfigolható a későbbi több típusú fegyverhez.

Szólj hozzá!

A bejegyzés trackback címe:

https://tectactd.blog.hu/api/trackback/id/tr3511959675

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
VR Tower Defense játék (TecTacTD)