.[ ČeskéHry.cz ].
Pohyb NPC postaviček

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



Založen: 28. 07. 2009
Příspěvky: 834

PříspěvekZaslal: 27. prosinec 2016, 17:05:03    Předmět: Pohyb NPC postaviček Odpovědět s citátem

Přesunul jsem se na tvorbu pohybu nepřátel a jiných NPC. Udělal jsem si A* hledání cesty v grafu volného prostoru (tzn. tam kde nestojí baráky), mám sadu bodů přes které vede cesta. Nicméně teď jsem se mírně seknul Smile

Jak reálně pohybovat postavičkou. Problém je, že potřebuju i nějaké kolize, protože a) postavičky nemůžou chodit skrz sebe b) nějaké další dynamické objekty jako třeba krabice apod můžou být v cestě.

1) Mám proložit body splinem a počítat pozici podle dt a natočení podle derivace v bodě? Tohle mi celkem funguje, ale zase to pak ignoruje fyzikální/kolizní engine (používám Bullet).

2) Když to chci řídit pomocí "sil", tak se zase seknu s tím, že nevím jak spočítat síly a rotace aby mi postavička nechodila bokem, neběhala jako formule, nezpolamlovala během chůze apod. Obecně jsem nikdy nějak řízení pohybu přes síly dohromady nedal :/

Ideálně nějaká kombinace 1+2 ale moc nevím Smile
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
VODA



Založen: 29. 07. 2007
Příspěvky: 1639
Bydliště: Plzeň

PříspěvekZaslal: 28. prosinec 2016, 19:38:49    Předmět: Odpovědět s citátem

Mně se osvědčilo nepočítat celou cestu, ale jen následující bod navigace. Postavu tedy pošlu směrem k tomuto bodu. Během tohoto pohybu mohu aplikovat i jiné pohybové "síly", které mi simulují právě ten vyhlazený pohyb, uhýbání před statickými/dynamickými překážkami a cokoliv dalšího.

Je pak také možné směr natočení modelu postavy interpolovat s vypočteným směrem pohybu a výsledný "interpolovaný" vektor pak lze použít pro pohyb.
Tím se dá pak jemně simulovat vyhlazený pohyb (tedy pokud se interpolovaný směr natočení použije místo vypočteného pohybového), ale musí se dávat bacha, aby postava moc "nekroužila"...


Samozřejmě že také závisí na tom, jak moc realisticky má pohyb vypadat...
_________________
Opravdovost se pojí s trýzní.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
perry



Založen: 28. 07. 2009
Příspěvky: 834

PříspěvekZaslal: 30. prosinec 2016, 11:01:14    Předmět: Odpovědět s citátem

Díky... ještě jsem googlil a připomíná mi to "Steering Behaviors". Je to ono?
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Radis



Založen: 29. 03. 2014
Příspěvky: 174

PříspěvekZaslal: 30. prosinec 2016, 12:50:02    Předmět: Odpovědět s citátem

Steering Behaviors jsou extremne jednoduchy na implementaci, ale na to, co potrebujes, nejsou IMHO uplne dobry.

Podivej se spis na Reciprocal Velocity Obstacles (http://gamma.cs.unc.edu/RVO/icra2008.pdf)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 834

PříspěvekZaslal: 30. prosinec 2016, 16:29:50    Předmět: Odpovědět s citátem

Díky... Podle videí to vypadá dobře Smile

V tomhle oboru se vůbec nevyznám. Víceméně je to poprvé, co něco podobného dělám (doteď jsem dělal rendering), takže sice nacházím tunu materiálů, ale netuším co je více OK a co méně... a zase tolik času na projití všeho nemám Smile
_________________
Perry.cz
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 -> AI Č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