.[ ČeskéHry.cz ].
Unity - pathfinding

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
abuki



Založen: 31. 07. 2012
Příspěvky: 504
Bydliště: Praha

PříspěvekZaslal: 19. květen 2014, 13:20:19    Předmět: Unity - pathfinding Odpovědět s citátem

Ahoj,

posledně sem tady dostal pár dobrejch typů do Unity, tak třeba by napadlo někoho i něco dobrýho i v tomto případě.
Asi bych si to nějak napsal sám, ale jestli existuje nějaké předpřipravené řešení co mi ušetří čas a námahu, tak po něm rád sáhnu.

Mám takovouhle scénu:


A chci aby ta myška chodila po těch chodbičkách. Takže si natahat nějaký cesty a uzly. Pak ta myška musí umět dojít sama z jednoho libovolnýho bodu do druhýho. Je na to nějakej systém nebo si to musim vytvořit a udělat sám? Taky tam budu muset dodělat nějaký triggery na změnu animací myšky, která někde bude lézt po čtyřech, někde chodit po dvou apod.
Chtěl bych systém co mi pak umožní jednoduše nastavovat i další scény, prostě si natahat cestičky a triggery. Nějak takhle:


_________________
Twitter @abukac
www.circusatos.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Dlaha



Založen: 30. 07. 2007
Příspěvky: 598
Bydliště: Olomouc

PříspěvekZaslal: 19. květen 2014, 16:06:59    Předmět: Odpovědět s citátem

To je jednoduché hledání cest v grafech. Existuje na to více algoritmů, většinou se to dá napsat za pár chvil. Bude se graf postupně měnit? Určité cesty mohou být zablokovány a zase uvolněny během hry?

Přímo do Unity žádnou knihovnu bohužel neznám.
_________________
Other Inside
Greenlitnuto!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
saarix



Založen: 09. 08. 2012
Příspěvky: 32

PříspěvekZaslal: 19. květen 2014, 18:22:11    Předmět: Waypoint Odpovědět s citátem

V Unity sem zatím dělal pouze jednoduchý waypoint systém cest NPC, ale funguje 100%. Taky jsem hledal, ale zatím nic takového jako jsi měl na tom obrázku nenašel Sad
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
abuki



Založen: 31. 07. 2012
Příspěvky: 504
Bydliště: Praha

PříspěvekZaslal: 19. květen 2014, 19:18:02    Předmět: Odpovědět s citátem

Dlaha: hledání cest v grafech si pamatuju rámcově z gymplu, ale nemohl bys mě případně navést na vhodný algoritmus jaký použít a kde se inspirovat?

Cesty se asi měnit částečně budou - například do určitého místa se půjde dostat jen výtahem ale tím se spíš myš přesune do nového grafu. Ale je možné, že bude prostředí v dalších scénách částečně proměnlivé.
_________________
Twitter @abukac
www.circusatos.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Houp



Založen: 28. 07. 2007
Příspěvky: 671

PříspěvekZaslal: 19. květen 2014, 19:46:26    Předmět: Odpovědět s citátem

Myslím, že je u tohohle zbytečné na to hledat nějaký plugin, tohle zvládneš.

Použít můžeš třeba http://cs.wikipedia.org/wiki/Dijkstr%C5%AFv_algoritmus, http://cs.wikipedia.org/wiki/A*

Pak ti bude pro začátek stačit najít nejbližší uzel k té myši a k její cílové pozici. Najít mezi těmito dvěma uzly nejkratší cestu a následně udělat malou optimalizaci, jestli se náhodou nevyplatí první a poslední uzel přeskočit a jít rovnou na druhý/respektive předposlední. (aby se nestávalo, že myška nejdřív jde od cíle k nejbližšímu uzlu, a pak zpět)
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Dlaha



Založen: 30. 07. 2007
Příspěvky: 598
Bydliště: Olomouc

PříspěvekZaslal: 19. květen 2014, 20:25:16    Předmět: Odpovědět s citátem

abuki: Houp už je postnul Smile Hlavně A* je pěkný, dá se s ním skvěle vyhrát. Ale tobě bude podle mě bohatě stačit Dijkstr, nevypadá to, že by jsi měl přehršel uzlů.
_________________
Other Inside
Greenlitnuto!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
abuki



Založen: 31. 07. 2012
Příspěvky: 504
Bydliště: Praha

PříspěvekZaslal: 20. květen 2014, 08:09:29    Předmět: Odpovědět s citátem

Jo asi si to napíšu sám, protože to fakt bude jednoduchá věc.
Díky moc!
_________________
Twitter @abukac
www.circusatos.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Rampage



Založen: 30. 08. 2012
Příspěvky: 23

PříspěvekZaslal: 22. květen 2014, 08:34:02    Předmět: Odpovědět s citátem

jestli bys potreboval neco uz hotovyho v unity
tak staci si koupit tohle
http://forum.unity3d.com/threads/115086-Simple-Waypoint-System-%28SWS%29-RELEASED
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
abuki



Založen: 31. 07. 2012
Příspěvky: 504
Bydliště: Praha

PříspěvekZaslal: 23. květen 2014, 17:40:01    Předmět: Odpovědět s citátem

Tak napsat si to zrovna v tomhle případě fakt nebyl problém. Použil jsem Dijkstr.
Měl jsem to za chvíli a musim se pochlubit výsledkem.

Editor:


Funkční test: http://circusatos.com/projekty/knizka/test-pohyb-kamera/index.html

Díky všem!
_________________
Twitter @abukac
www.circusatos.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1482
Bydliště: Telč

PříspěvekZaslal: 26. květen 2014, 09:51:36    Předmět: Odpovědět s citátem

Je to radost, napsat si něco sám! :-)
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1782

PříspěvekZaslal: 26. květen 2014, 11:22:41    Předmět: Odpovědět s citátem

Beha to Smile Pekne. Este do Dijkstru zapoj heuristiku (zmen cenovu funkciu) a mas A* a hotovo.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 758
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 26. květen 2014, 19:15:39    Předmět: Odpovědět s citátem

pcmaster napsal:
Beha to Smile Pekne. Este do Dijkstru zapoj heuristiku (zmen cenovu funkciu) a mas A* a hotovo.



...ale pokud mas vždy méně než 100 bodů, jako na obrázku, tak se heuristikami netrap.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna