Právě je sob lis 23, 2024 3:29 am

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 
Autor Zpráva
PříspěvekNapsal: pon srp 25, 2008 4:47 pm 
Offline
..
..

Registrován: ned lis 11, 2007 6:39 pm
Příspěvky: 46
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?


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: pon srp 25, 2008 5:19 pm 
Offline
.....
.....

Registrován: sob srp 20, 2005 5:03 pm
Příspěvky: 539
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).


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: pon srp 25, 2008 5:29 pm 
Offline
..
..

Registrován: ned lis 11, 2007 6:39 pm
Příspěvky: 46
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]
147 krát
Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: sob srp 30, 2008 6:14 pm 
Offline
.....
.....

Registrován: sob srp 20, 2005 5:03 pm
Příspěvky: 539
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".


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: sob srp 30, 2008 10:17 pm 
Offline
..
..

Registrován: ned lis 11, 2007 6:39 pm
Příspěvky: 46
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).


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř zář 10, 2008 4:28 pm 
Offline
 ...
 ...
Uživatelský avatar

Registrován: sob dub 26, 2008 7:44 am
Příspěvky: 116
Bydliště: Hrde mesto Krnov
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...


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř zář 10, 2008 4:49 pm 
Offline
..
..

Registrován: ned lis 11, 2007 6:39 pm
Příspěvky: 46
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.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: ned zář 14, 2008 8:20 pm 
Offline
.....
.....

Registrován: sob srp 20, 2005 5:03 pm
Příspěvky: 539
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...


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz