Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
perry
Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 27. prosinec 2016, 17:05:03 Předmět: Pohyb NPC postaviček |
|
|
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
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 _________________ Perry.cz |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 28. prosinec 2016, 19:38:49 Předmět: |
|
|
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 |
|
|
perry
Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 30. prosinec 2016, 11:01:14 Předmět: |
|
|
Díky... ještě jsem googlil a připomíná mi to "Steering Behaviors". Je to ono? _________________ Perry.cz |
|
Návrat nahoru |
|
|
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 30. prosinec 2016, 12:50:02 Předmět: |
|
|
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 |
|
|
perry
Založen: 28. 07. 2009 Příspěvky: 879
|
Zaslal: 30. prosinec 2016, 16:29:50 Předmět: |
|
|
Díky... Podle videí to vypadá dobře
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 _________________ Perry.cz |
|
Návrat nahoru |
|
|
|