[ ksrele @ 19.04.2009. 22:59 ] @
Pozdrav svima.
Pravim igricu i potreban mi je skok na odredjenu lokaciju.
Naime u engine (Truevision3D 6.5) sam ucitao animirani objekat (animacija je samo vertikalni skok) i preostalo mi je samo da taj objekat pomeram u X Z prostoru (dakle samo horizontalno pomeranje).
Nekako mi je stao mozak i nikako da skontam kako to matematicki da odradim.
Znaci, imam pocetne koordinate objekta, 3Dvector, i imam krajnje kordinate gde treba da se nalazi. Zeleo bih da mi se objekat fino (glatko) pomeri do tog odredista.
Pomeranje vrsim sa funkciom koja se nalazi u glavnoj petlji i radi samo kada je bMoving = True i kada stigne na odredista trebalo bi da se bMoving postavi na FALSE i onda pomeranje staje.
ALI
Ja nikako da nadjem nacin da pomerim objekat skroz najkracom putanjom (dijagonalno). Uvek mi prvo stigne X osa pa onda Z ili obrnuto.
Tacke destinacije se stalno menjaju. Pa je ponekad potrebno i oduzimati koordinate a ne dodavati.
Ukoliko je moguce, zeleo bih i da mi objekat uvek za isto vreme stigne na destinaciju, bez obzira koliko je ona udaljena (mada ovo i nije presudno, ali da bude zbog animacije skoka koja je uvek iste trajnosti).
Dakle, po mojoj logici, trebalo bi odrediti udaljenost do destinacije (ima ugradjena funkcija u enginu) i onda odrediti koliki parcijalni sabirci treba da se dodaju pocetnim kordinatama, nezavisno X i Z da bi taj skok uvek bio iste trajnosti (znaci da isto traje i po X i po Z osi).
Ja sam ovo mislio da radim cisto ovako matematicki i peske, ali engine ima neko pravljenje putanja i pomeranja objekata po tim putanjama sa odredjenom brzinom.
Ja zaista ne znam kako se ovo koristi i nigde na netu ne nadjem podatak. Engine je zaista super ali ima jako slabu dokumentaciju.

Da napomenem da ja radim u VB6 ali nije mi problem da shvatim i kada neko objasni u pseudo ili C-like kodu.

Hvala vam unapred.
[ reject @ 20.04.2009. 06:58 ] @
http://en.wikipedia.org/wiki/Linear_interpolation
http://www.gamedev.net/community/forums/topic.asp?topic_id=466031
[ ksrele @ 20.04.2009. 11:33 ] @
Hvala ti druze.
Na brzaka sam preleteo drugi link i vec shvatam pola stvari, znaci ako se malo jos udubim skontacu sve. :)
Mada i ja sam bio blizu ovog resenja ali... matematika mi i nije bas najjaca strana :)