blender3d.cz
http://forum.blender3d.cz/

Kolize - Jak zjistit sílu nárazu, zátěž na objektu?
http://forum.blender3d.cz/viewtopic.php?f=11&t=6079
Stránka 11

Autor:  spule [ pon srp 25, 2008 4:47 pm ]
Předmět příspěvku:  Kolize - Jak zjistit sílu nárazu, zátěž na objektu?

Zdravím.

Tak si hraju s Game Enginem a potřebuju poradit. Nevíte někdo, jak zjistit, jak velká výsledná síla působí na určitý objekt? Většinou to totiž ve hrách bývá tak, že když to do hráče moc tříská (třeba spadne z velké výšky nebo na něj působí dvě protichůdné tlakové síly), tak ho to zabije.
Já mám animované objekty, které jezdí tam a zpět, ale když se mezi ně dostane nějaký objekt, tak se fyzika samozřejmě zblázní a objekt vyletí obrovskou rychlostí neurčitým směrem. Potřeboval bych, aby byl takový objekt třeba vymazán ze hry, nebo aby se animace zastavila, aby se tohle nedělo.
U objektu KX_GameObject je funkce getReactionForce(), ale ta funguje jen u Sumo (zastaralá fyzika, dá se zapnout v Buttons Window > Shading > World buttons > Mist, Stars, Physics) - u Bulletu vrací [0, 0, 0]. Dalo by se to zjistit nějak jinak?

Autor:  kracho [ pon srp 25, 2008 5:19 pm ]
Předmět příspěvku: 

Ako vždy by bolo jalepsie, keby si poslel .blend tvojho problemu. Mne uz sa davno nestalo, ze by mi nejake predmety chaoticky odlietavali (naskor ide o zle spracovanie tebou). Ale ak chces aby objekt zmizol, robi sa to pomocou actuatoru "edit object" -> "end object". Respektive mozes u toho objektu na chvilu vypnut fyziku pomocou suspendDynamics a naspat restoreDynamic (v blender 2.47 je to uz ako actuator).

Autor:  spule [ pon srp 25, 2008 5:29 pm ]
Předmět příspěvku: 

kracho píše:
Ako vždy by bolo jalepsie, keby si poslel .blend tvojho problemu. Mne uz sa davno nestalo, ze by mi nejake predmety chaoticky odlietavali (naskor ide o zle spracovanie tebou). Ale ak chces aby objekt zmizol, robi sa to pomocou actuatoru "edit object" -> "end object". Respektive mozes u toho objektu na chvilu vypnut fyziku pomocou suspendDynamics a naspat restoreDynamic (v blender 2.47 je to uz ako actuator).


Dobře, posílám zdroják.
Jak vymazat objekt, to vím. Jde mi o to, jak poznám, kdy ho mám vymazat. Potřebuju vědět, kdy je ta dolní krychle přimáčknutá mezi ten plane a tu horní krychli...

Přílohy:
primacknuti.zip [34.34 KiB]
149 krát

Autor:  kracho [ sob srp 30, 2008 6:14 pm ]
Předmět příspěvku: 

V tom pripade daj hornej krychli material napr "krychla" a zemi napr. "zem" a tej dolnej krychli daj dva sensory typu "touch" do jedneho vedla nastavenia MA: napis "krychla" a do druheho "zem". Oba spoj jednym controllerom "AND" a ten napoj na actuator "end object".

Autor:  spule [ sob srp 30, 2008 10:17 pm ]
Předmět příspěvku: 

No, moc univerzální řešení tohle není. Už proto, že to, že se něco dotýká dvou objektů, neznamená, že je to mezi nimi přimáčknuté (tak jak jsi to popsal, by ho to smázlo i tehdy, kdyby se jich dotýkal jen ze strany).

Autor:  ppk [ stř zář 10, 2008 4:28 pm ]
Předmět příspěvku: 

spule píše:
No, moc univerzální řešení tohle není. Už proto, že to, že se něco dotýká dvou objektů, neznamená, že je to mezi nimi přimáčknuté (tak jak jsi to popsal, by ho to smázlo i tehdy, kdyby se jich dotýkal jen ze strany).


tak skus vzit velocity s obou objektu a odecist ji od hracovy a ziskas neco jako reaction force myslim. jeste to ale musim vyskuset...

Autor:  spule [ stř zář 10, 2008 4:49 pm ]
Předmět příspěvku: 

ppk píše:
spule píše:
No, moc univerzální řešení tohle není. Už proto, že to, že se něco dotýká dvou objektů, neznamená, že je to mezi nimi přimáčknuté (tak jak jsi to popsal, by ho to smázlo i tehdy, kdyby se jich dotýkal jen ze strany).


tak skus vzit velocity s obou objektu a odecist ji od hracovy a ziskas neco jako reaction force myslim. jeste to ale musim vyskuset...


Jo, ale musel bych vzít absolutní hodnoty těch rychlostí (když sečtu dvě protichůdné rychlosti, vyjde 0, ale já jsem mezi tím rozmáčknutej), umocnit je na druhou, vydělit dvěma a vynásobit hmotnostmi. Tak bych získal kinetickou energii... A co potom? To už by bylo ono? No já nevím...

A pokud by jich tam bylo hodně, tak bych je musel všechny po jednom procházet... Ale dík, zkusit to můžu.

Autor:  kracho [ ned zář 14, 2008 8:20 pm ]
Předmět příspěvku: 

spule píše:
No, moc univerzální řešení tohle není. Už proto, že to, že se něco dotýká dvou objektů, neznamená, že je to mezi nimi přimáčknuté (tak jak jsi to popsal, by ho to smázlo i tehdy, kdyby se jich dotýkal jen ze strany).

No z blendu to moc jasne nebolo. Inak to asi nebudes moc riesit "klasickym" fyzikalnym sposobom, ale asi to budes musiet nejak obist. Ale ak chces k tomu poradit, bolo by potreba poznat detaily, napr. za akych uz ma objekt zmiznut a za akych este nie...

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/