blender3d.cz
http://www.blender3d.cz/forum/

Pohyb nepriateľov po mape
http://www.blender3d.cz/forum/viewtopic.php?f=10&t=7385
Stránka 11

Autor:  zgerbiak [ pon led 25, 2010 11:32 pm ]
Předmět příspěvku:  Pohyb nepriateľov po mape

Tak toto nadväzuje na problém spomenutý v inom topicu, kráčanie nepriaťeľov do steny. :-)
Po prvom neúspešnom blende, ktorý väčšina ľudí nerozchodila a po zistení že to riešenie je vlastne nepoužitelné, pricházdam s ďalším pokusom.
Je to spomínané tretie riešenie.
Nepriateľ narazí do steny, nájde najbližší bod seba, aj hráča.
Nájde sa cesta(sled bodov) a nepriateľ sa pohybuje po ceste.

Tieto body sú rozložené po mape a každý bod má svojich susedov.
Editácia je ručná. Je treba premenovať Empty a zadať mu jeho susedov.
Celý skript je v rozpacovanom štádiu.
Hľadanie cesty je robené rekurziou. Mala by sa nájsť najkratšia cesta.
Mala by, ale ja som to blbo napísal tak nie. :-D
Tiež to mánejaké chybi ako napríklad, keď je bod blízko steny, do ktorej nepriateľ narazí, a ten bod je k nemu najbližšie, stane sa to že nepriateľ začne kráčať do steny. :lol:
Samozrejme dá sa to spraviť tým, že sa budú hľadať len najbližšie viditeľné body.
takže má to ešte zopár múch tak to berte s rezervou. (Hlavne rekurziu, to som fakt blbo napísal a budem to prepisovať)

Blend robení vo verzii 2.49b

Přílohy:
Poznámka: AI_2
AI_2.zip [53.69 KiB]
170 krát

Autor:  zgerbiak [ stř led 27, 2010 11:18 pm ]
Předmět příspěvku:  Re: Pohyb nepriateľov po mape

Vytvoril som skript pre generovanie waipointov.
Body sa generujú z meshu objektu.
Vertexi zastupujú jednotlivé waipointy a hrany(edges) medzi nimi značia v akom sú vzťahu(susedia).
Takto si vztvoríte sieť z vertexov a edges. Je to jednoduchá a veľmi rýchla editáca.
Určite rýchlejšia ako pridávať waipointy ručne a zapisovať im ručne susedov.
Keď už túto sieť máme, stačí spustiť(ak už spustení nieje) skript a kliknúť na generuj(objekt musí byť označený).
Vygenerujú sa nám už hotové waiponty, ktoré sa už budú používať v BGE.
Pred zatlačením tlačítka generuj je potrebné vymazať všetky waipointy, inak sa tam vygenerujú chybné waipointy.
Mazanie tradične v 3DView XX, alebo Delete. Pre zjednodušenie som pridal do skriptu tlačítko oznac waipointy.
Toto tlačítko vám označí všetky waipointy, a všetky iné objekty odznačí, takže bez obáv hneď môžete vymazať.
Lepšie si to vyskúšať. :-D
Mazanie som nespravil automatické. Nenašiel som v api ako na to. Ak by niekto vedel, nechám si rád poradiť.

Přílohy:
Poznámka: WaipointGenerator
WaypointGenerator.zip [36.31 KiB]
158 krát

Autor:  zgerbiak [ stř led 27, 2010 11:40 pm ]
Předmět příspěvku:  Re: Pohyb nepriateľov po mape

Snáď len dodám že tieto vygenerované waipointy niesu kompatibilné s predošlím skriptom hľadania cesty.
Ten stále vylepšujem, už mám hotové nájdenie najkratšej cesty a skript je použiteľní pre viacero nepriaťeľov.
Stále mi však chýba hľadanie viditeľných waipointov. To sa dorobí + ďalšie veci ktoré mám na pláne. :-)

Autor:  zgerbiak [ pát led 29, 2010 10:12 pm ]
Předmět příspěvku:  Re: Pohyb nepriateľov po mape

Mám tu ďalšiu verziu.
Nepriatelia si už hľadajú len body, ktoré sú nimi viditeľné.
Pridal som premennú Zrange. To pre prípad poschodí, ale kedže sa hľadajú len viditeľné body, tak je asi zbytočná.
AI je už prispôsobená generátoru waipointov.
Prikladám blend na ukážku.
Váš panák je modrý, nepriatelia sú červeý, prekážky sú sivé a priechodná plocha zelená.
Môžte si skúsiť ako dlho ste schopní unikať. :-)
Nájdu vás všade, čiže asi by som skonštatoval, že som dosiahol to o čo mi šlo :-D
Ešte sa to dá samozrejme vylepšovať. Napríklad nepriateľ nevidí priekopu medzi ním a vami, čiže pokiaľ by tam bola nejaká jama(v tomto blende nieje), tak sa do nej spadne. :-D
Toto vyriešim snáď v ďalšom blende :wink:
A tiež by ste mi aj mohli napísať čo si o tom myslíte.

Přílohy:
Poznámka: kompatibilné s 2.49b
AI_3.zip [64.54 KiB]
170 krát

Autor:  Kapo [ pát led 29, 2010 10:32 pm ]
Předmět příspěvku:  Re: Pohyb nepriateľov po mape

no mne sa to velmi paci, len niekedy chodia trochu nelogicky...po isty moment ich JA mozem doslova nahanat, potom sa zbadaju, akoze ma uvidia a otocia sa...ja som bol napriklad vpravo dole od toho najvacsieho siveho komplexu a nejaky bot vliezol do tej malej kadibudky vlavo hore (podobnej tej, v ktorej sa rodia boti)...ale inak sa mi to strasne paci, sak ty si normalka macher!!!

Autor:  zgerbiak [ pát led 29, 2010 10:47 pm ]
Předmět příspěvku:  Re: Pohyb nepriateľov po mape

Divne sa niekedy pohybujú za tie waypointy.
Nepriatel najde najbliysi a ide k nemu, aj ked je v opacnom smere ako ty.
A to ich nahánanie. To je spôsobené tým, že najskôr sa nájde cesta, a nepriateľ po nej ide, aj keď ty si už svoju poziciu zmenil.
Nehľadá každý frame najkratšiu cestu k tebe, ale len raz, keď narazí na stenu.
Potom sleduje nájdenú cestu. On ťa nevidí, takže ide na tvoju poslednú známu pozíciu.

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/