dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

objektu kustības paātrināšana
Goto page Previous  1, 2, 3
 
dev.gamez.lv Forum Index -> Matemātika un fizika
View previous topic :: View next topic  
Author Message
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Wed Nov 21, 2007 8:07 pm    Post subject:

cerams, ka viņš iedos sourci, citādāk es nesaprotu vairs, kāpēc man nesanāk..
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Wed Nov 21, 2007 9:32 pm    Post subject:

Iepriekš sourci neliku, jo domāju, ka ir acīmredzami kādam kodam jābūt. Tak visu laiku to rakstīju, ko es darīju - tik piereizināju speedupu. Viss pārējais fizikas updeits ir visparastākais fizikas dziņa updeits ar fiksētu laika soli. Tajā gaffer lapā tas aprakstīts: http://www.gaffer.org/game-physics/fix-your-timestep/ Man tik bija slinkums to interpolāciju/ekstrapolāciju taisīt - ar to sanāktu gludāka un precīzāka kustība. Bet bez tās arī izskatās ok.

Anyway, reku ir source: http://paste.php.lv/6459?lang=cpp
Ja vajag visu VS2k5 projektu, to arī varu piedāvāt.

Apskaties Update dokumentāciju: http://www.box2d.org/manual.html īpaši "Simulating the World (of Box2D)" daļu.
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Wed Nov 21, 2007 10:09 pm    Post subject:

skatos, ka tomēr nevis samaini to ciparu, bet dari kā es - vairākas reizes izsauc Step funkciju!
Code:

while (delta > STEP)
{
                world.Step(STEP, 10);
                delta -= STEP;
}

citādāk es biju domājis, ka tu vienreiz izsauci Step funkciju ar citādāku "STEP" mainīgo..
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Wed Nov 21, 2007 10:22 pm    Post subject:

Un ko tad tu pats iepriekš teici?
Quote:
ar to, ka, nevis es palielinu timestepu, bet gan updeita call'u skaitu

orly? Tagad saki, ka vienreiz.... Nekādīgi tevi nevar saprast te vairs!

Citā topikā jau tika izrunāts, ka uzsaktu, ka nepieciešams atdalīt fizikas "freimreitu" no renderēšanas "freimreita". Pret ko tu visu laiku iebildi, ka tā nav pareizi. Un kā tev liekas tagad, joprojām tas ir nepareizi?
Back to top
View user's profile Send e-mail
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Wed Nov 21, 2007 10:32 pm    Post subject:

Ieposto jau projektu, man slinkums likt visu tur Very Happy
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Wed Nov 21, 2007 10:41 pm    Post subject:

http://yy.lv/download.php?f=81897
Kompilēt tikai Release konfigurāciju, Debug konfigurāciju neesmu ne sakonfigurējis, ne arī to box2d un glfw uzbuildojis ar debug runtaimu.
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Wed Nov 21, 2007 11:01 pm    Post subject:

bubu wrote:
Un ko tad tu pats iepriekš teici?
Quote:
ar to, ka, nevis es palielinu timestepu, bet gan updeita call'u skaitu

orly? Tagad saki, ka vienreiz.... Nekādīgi tevi nevar saprast te vairs!
nu to es visu laiku saku! Very Happy
nekad neesmu teicis, ka ar viena updeita callu man kkas būtu izdevies..
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Wed Nov 21, 2007 11:53 pm    Post subject:

Laikam nevareesu nokompileet projektu jo esmu instaleejot studijai servisa paku, sabojaajis to xD
Anyway ideja:

Code:

static float gameSpeed = 2.0f;

b2World world(worldAABB, b2Vec2(0.0f, -9.81f * gameSpeed), true);

obj.box.friction = 0.3f * gameSpeed;

objects[i].body->ApplyImpulse(b2Vec2(fx * gameSpeed, fy * gameSpeed), objects[i].body->GetWorldPoint(b2Vec2(0.0f, 0.0f)));
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Nov 22, 2007 12:13 am    Post subject:

A kāpēc tā būtu jādara, ja visdabiskākajā veidā kā paātrināt laiku - tīri pamainot tā vērtību, kas tiek padota fizikas dzinim, pie tam tikai vienā vietā kodā - viss korekti paātrinās?

Un pie tam tava metode nemaz nav tik vienkārša - daudzi lielumi nav lineāri atkarīgi no laika. Citi ir apgriezti atkarīgi, citi atkal kvadrātā - kā spēks piemēram F=ma = [kg*m/s/s] - sekunde kvadrātā tur ir. Tātad būtu nevis -9.81f * gameSpeed, bet gan -9.81f * gameSpeed * gameSpeed. Savukārt berzes koeficients vispār nav atkarīgs no laika, tas nav jāreizina ar gameSpeed. Ķēpa tur sanāk visus fizikālos lielumus korekti skeilot.
Back to top
View user's profile Send e-mail
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Thu Nov 22, 2007 1:14 am    Post subject:

Bet ja dzinim jau ieksaa nav taada lieta, tad naaksies, savaadaaka veida nav taapataas, izskaukt 5x peec kaartas ir vnk smielkiiga performances zagsana. Un saa ir jaadara tikai tapeec, ka dzinim, laikam, nemaz nevar piereguleet update intervaalu, jaaeditee source.
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Nov 22, 2007 1:59 am    Post subject:

Kāpēc lai fizikas dzinim iekšā būtu kautkāda šāda lieta? Neesmu nevienu tādu redzējis.
Well katrā ziņā šis viss ir performance vs precizitāte treidofs. Jo lielāki ātrumi, jo nestabilākas sistēmas sanāks, tas dabiski. Nevar uz prasta PēCē simulēt fiziku 1000x pāatrinātu :)

Bet, ja nevar vispār updeita intervālu, tad tas vispār ir dīvains dzinis. No tāda pa gabalu būtu jāturas, imho. Box2D gan var visu pieregulēt.
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Thu Nov 22, 2007 4:16 pm    Post subject:

Box2D labs man!
bet, ja nevar updeita intervālu pieregulēt, un ja ir dziņa source, tad viss ir labojams Very Happy
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Display posts from previous:   
dev.gamez.lv Forum Index -> Matemātika un fizika All times are GMT + 2 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group