Zobrazit předchozí téma :: Zobrazit následující téma |
Časový krok (který používám) |
ODE - konstantní |
|
5% |
[ 1 ] |
ODE - proměnný |
|
0% |
[ 0 ] |
Vlastní fyz. engine - konstantní |
|
40% |
[ 8 ] |
Vlastní fyz. engine - proměnný |
|
10% |
[ 2 ] |
Jiný fyz. engine (Bullet, ...) - konstantní |
|
20% |
[ 4 ] |
Jiný fyz. engine (Bullet, ...) - proměnný |
|
10% |
[ 2 ] |
Fyziku neřeším ;) nebo nevím (třeba Blender GE, kdoví, jak to tam je) |
|
15% |
[ 3 ] |
|
Celkem hlasů : 20 |
|
Autor |
Zpráva |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 31. květen 2008, 08:01:15 Předmět: |
|
|
To Ladis i kerekes: Oba jste to výborně napsali. S kerekesem musím souhlasit v tom, že třeba MMORPG nepořebují nějakou extra fyziku(třeba kolize se zemí jsou fake), avšak já jsem zastáncem 60 fps a fyziky 30 fps(on si toho nikdo nevšimne) tak jako tvůrci Dooma a kdyžtak se kolize a grafika zpomalují v poměru 2:1. Obecně člověk, co vidí hru na 15 fps si moc nezahraje... Zapomínáte na to, že u OGL se dá "mimochodem" zhrubšit vykreslování...
P.S.:Nejlepší počiny ID software byly Wolfenstein 3D a Unreal(ten prvni) To jsou hry, ktere pametnici znaji  |
|
Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 31. květen 2008, 08:10:38 Předmět: |
|
|
citace: |
Nejlepší počiny ID software byly Wolfenstein 3D a Unreal |
lol, Unreal není dílem iD  _________________ Mám strach |
|
Návrat nahoru |
|
 |
pcmaster

Založen: 28. 07. 2007 Příspěvky: 1827
|
Zaslal: 31. květen 2008, 14:53:06 Předmět: |
|
|
if.then napsal: |
P.S.:Nejlepší počiny ID software byly Wolfenstein 3D a Unreal(ten prvni) To jsou hry, ktere pametnici znaji  |
Jasne, pan herny expert, ktoreho vkus a nevodomost su to prave orechove  _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 31. květen 2008, 17:55:42 Předmět: |
|
|
pcmaster napsal: |
if.then napsal: |
P.S.:Nejlepší počiny ID software byly Wolfenstein 3D a Unreal(ten prvni) To jsou hry, ktere pametnici znaji  |
Jasne, pan herny expert, ktoreho vkus a nevodomost su to prave orechove  |
Aha tak sry jsem herni expert z druhe strany  |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 1. červen 2008, 14:49:15 Předmět: |
|
|
30 Fps fyziky je málo. Představte si auto jedoucí rychlostí 100km/h. To je 27.8 m/s. 30 snímků za seknudu říká, že za jeden snímek se auto posune o cca. 1 m ! (27.8 / 30). To už může lecos fungovat blbě. A ve hrách je 100 km/h málo, auta jezdí tak 150-200 :). A co teprve projektil vystřelený z toho auta jako zbraň, který poletí třeba 300 km/h, to už proletí takřka vším.
Testy kolizí můžet provádět častěji, ale vzhledem k tomu, že jsou na fyzice to nejnáročnější, tak už se vyplatí rovnou zvednout framerate celý fyzice.
Ad. proměnlivý časový krok: proč ne, můžete třeba testovat hodnotu akcelerace jednotlivých objektů a s rostoucí maximální akcelerací (ať už lineární nebo úhlovou) snižovat časový krok (zvýšit fps). Protože s větší akcelerací roste chyba (křivka pohybu se mění rychleji).
(A mimochodem, největší počin firmy SleepTeam labs. jsou Bulánci :-D) _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 2. červen 2008, 09:22:23 Předmět: |
|
|
Jak by se dalo v ODE řešit to, že některé těleso je potřeba počítat přesněji (většinou to rychlejší), když nechci používat proměnný časový krok? Jinými slovy jak skloubit simulaci, ve které se některá tělesa počítají s frekvencí 40 fps a jiná třeba 200 fps? |
|
Návrat nahoru |
|
 |
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 2. červen 2008, 09:55:42 Předmět: |
|
|
frca napsal: |
Jak by se dalo v ODE řešit to, že některé těleso je potřeba počítat přesněji (většinou to rychlejší), když nechci používat proměnný časový krok? Jinými slovy jak skloubit simulaci, ve které se některá tělesa počítají s frekvencí 40 fps a jiná třeba 200 fps? |
co si u kazdeho telesa drzet nejaky "zpomalovac pocitani" - int zpomalovac;
treba pro auto int zpomalovac = 2; a pro strelu int zpomalovac = 1;
a vypocet pro dany objekt provest pokud if((krok_vypoctu % zpomalovac) == 0) ? |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 2. červen 2008, 10:48:09 Předmět: |
|
|
Problém je, že v ODE se krok výpočtu řeší pro všechna tělesa jedním voláním funkce. Jak to skloubit dohromady? |
|
Návrat nahoru |
|
 |
Fila
Založen: 31. 07. 2007 Příspěvky: 853
|
Zaslal: 2. červen 2008, 10:51:07 Předmět: |
|
|
kerekes napsal: |
Nieje jednoduchsie/lepsie pocitat fyziku s premenlivym casovym krokom (cas od predchadzajuceho framu) 1 krat za frame?
Iste vedie to k nepresnostiam, ale pri 3fps mi je jedno ci je ten vypocet realisticky nie? |
Uz to tu psal Ladis, ale je to dulezite, tak to napisi jeste jednou . Fyzika na nizkem FPS nevede k nejake linearni nepresnosti (2x nizsi FPS != 2x nizsi presnost), ale casto vede k nesmyslnemu chovani (projedes zdi) ci nestabilite (rozpadne se budova, autu se rozkmita kolo...). I u her s promenlivym casovym krokem byva nastaveny minimalni framerate fyziky, pokud se system spomali prilis, spomali se i cas uzivatele.
Dulezite je, jak komplexni fyzika je. Pokud dochazi k nejakym narocnejsim kolizim (treba takova kulicka v dulku je pekna mrcha ), nebo mas telesa propojena jointy, urcite musis mit docela vysokou horni hranici casoveho kroku, nad krerou nejdes. |
|
Návrat nahoru |
|
 |
Fila
Založen: 31. 07. 2007 Příspěvky: 853
|
Zaslal: 2. červen 2008, 10:55:27 Předmět: |
|
|
frca napsal: |
Jak by se dalo v ODE řešit to, že některé těleso je potřeba počítat přesněji (většinou to rychlejší), když nechci používat proměnný časový krok? Jinými slovy jak skloubit simulaci, ve které se některá tělesa počítají s frekvencí 40 fps a jiná třeba 200 fps? |
Ja si s tim hral a delal jsem to tak, ze jsem v okamzicich, kdy jsem pocital telesa vyzadujici vetsi presnost vypoctu ostatnim telesum vypnul fyziku a nechal je chovat se jako pevnou geometrii. Pokud bys mel napr. auto updatovane po 1 ms a stromy po 5 ms, tak bys 4 framy pocital auto a stromy by byly staticke objekty (tzn. kolizni jointy mezi nimi a autem by se pripojovaly k autu a k prostredi) a 5. frame by se prepocitalo pusobeni auta na stromy.
Nedokazu do dusledku rict, jak by to fungovalo v pripade takoveto sceny s autem, ja podobny trik pouzival na simulaci zdi z velkeho poctu cihel a tam to fungovalo perfektne. |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 8. červen 2008, 23:09:56 Předmět: |
|
|
Vidím to tak, že dynamika chování těles by se počítala vždycky každý frame, ale kolize jen každý třeba 5. frame, podle maximální dosažitelné rychlosti/požadavku na přesnost. Otázka zní: Je to v ODE možné takto jednoduše řešit, nebo je to potřeba nějak speciálně ošetřit? Nezblázní se simulace?
Díky. |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 9. červen 2008, 07:39:12 Předmět: |
|
|
rozdelovat telesa na rychle a pomale je zbytocnost. staci si uvedomit ze ak je polovica telies rychla tak sa im musia aj tak ratat kolizie z ostatnimi telesami takze by bola takato optimalizaci tu tam. ono toto ODE ani asi nepodporuje. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Fila
Založen: 31. 07. 2007 Příspěvky: 853
|
Zaslal: 9. červen 2008, 07:49:48 Předmět: |
|
|
Jasne ze to jde (proste jen nevolas detekce kolizi a nevytvaris kontaktni jointy), ale je to uplne na draka -- v uvahu by pripadalo pocitat detekce kolizi jednou za 5 framu presne a pak nejak aproximovat, ale rozhodne nemuzes na nejakou dobu kolize vypnout, rozhodne ne u vseho (predstava -- auto jede po zemi, 4 framy se do zeme propada, pak se prepocita detekce kolizi, auto nadskoci na zem a dalsi 4 framy se zase vesele propada). |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
Zaslal: 9. červen 2008, 08:47:43 Předmět: |
|
|
Nj, asi máte pravdu, ale jak teda řešit to, co radil rezna, prakticky? Je na to ODE nějak vybavené? |
|
Návrat nahoru |
|
 |
Fila
Založen: 31. 07. 2007 Příspěvky: 853
|
Zaslal: 9. červen 2008, 09:25:59 Předmět: |
|
|
Ja uz to tu jednou psal -- telesa, ktery se dany frame nepocitaji, by musely vstupovat do hry jako staticka geometrie (tedy jen kolizni obalky, u nichz se nepocita dynamika). Pretrvava tedy narocnost detekce kolizi, ale redukujes narocnost vypoctu dynamiky (vetsinou je vyrazne narocnejsi na kolizi zareagovat, nez ji detekovat). Obecne to ale IMHO ODE nepodporuje (naposledy jsem ale delal s verzi 0.5, je mozne, ze tam mezitim neco pridali), ale neni takovy problem si to doprogramovat.
EDIT: Uz jsem ale taky psal, ze si moc nejsu jisty vysledkem, jestli se to nebude chovat divne, ja to zkousel v mirne odlisnem pripade... |
|
Návrat nahoru |
|
 |
|