• 2 odgovora
  • 3.530 pregleda
Kinematika i dinamika u igrama 16.08.2004. u 20:47 · pre 270 meseci #1
Radio sam u 2D i u 3D, programiranje mi id OK, znam solidno dinamiku ( i kinematiku 3. godina Masinskog u KG), ali imam jedno pitanje. Kako izvesti na najbolji nacin dinamiku u igrama.

Pitanje o silama:

NPR: Na svakog lika u igri deluje gravitacija, ona je konstantna i to je velika olaksica i lako se koristi u proracunima.

Skakanje igraca:

Init()
{
float fGravity = -0.981;
float fJumpVel = 10;
float fPosY= 0; // na primer
}

.......................

Update()
{

fJumpVel+= fGravity;
fPosY += fJumpVel;
}

Ovaj kod radi idealno ( Hitac navise u dinamici. Dobro, ne koristim bas originalni obrazac ali je i ovo dovoljno za igru)

Ali sta ako na igraca deluje vise sila. NPR sila opruge koja je u funkciji pozicije igraca (Fo = -cX za Xosu, c = const ). Takodje je moguce delovanje otpora vazduha koje je u funkciji brzine. Da li neko zna nacin kako ukomponovati dinamiku u igru da bi se koristila na jednostavniji nacin.

CIgrac * pIgrac = bla bla;
pIgrac->AddForce(pWind);
pIgrac->AddForce(pSpring);

Sto se tice proracuna, bazira se na diferencijalim jednacinama. Da li se sve ovo moze resiti nekim trikom ( ne mora da bude 100% realno ).

Pixel po Pixel ... Out of Memory

Potpis
EOF
Re: Kinematika i dinamika u igrama 11.12.2004. u 14:26 · pre 266 meseci #2
Hej, slucajno sam nabasao na ovaj post.

Naajbolje ti je da uzmes neki od free physics/dynamics bibioteka (ODE, Tokamak 1, etc) i da proucavas primere i igras se sa njima.

Citat:
Sto se tice proracuna, bazira se na diferencijalim jednacinama. Da li se sve ovo moze resiti nekim trikom ( ne mora da bude 100% realno ).


Simulacija fizike je obimna oblast, u kojoj se uvek balansira izmedju preciznosti, funkcionalnosti i brzine - u zavisnosti od potrebe. Ne znam detalje (samo sam koristio, nisam zalazio u dubinu), ali primecujem da je core svakog od tih sistema resavac dif. jedn., i najcesce se pominje Runge-Kutta integrator.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme