Skip to main content
GameDev.net gamedev.net
🔒 Locked

Recoil

Started by BioSquirrel Jan 8, 2002 at 1:32 PM 12 replies 2k views
Original Post
BioSquirrel
BioSquirrel
Does anyone know of a way/formula to find recoil of a bullet after hitting an object depending on size of the bullet, velocity of the bullet, strength of object, etc?
B-Barlow
B-Barlow
Unless you''re shooting at really small objects like soda cans, the effect is really too inconsequential to even bother simulating. Hollywood to the contrary, a 9mm bullet will not knock a person backwards 30 feet or even 30 inches for that matter.
quarnin
quarnin
If I can do this off the top of my head... conservation of energy/momentum...

If the bullet stops inside the man:

MassOfMan*VelocityOfManBeforeStrike + MassofBullet*VelocityofBullet = MassofMan*VelocityofManAfterStrike

Do the algebra to calculate the final velocity... normaly it won't be that much because the bullet is so small compared to the man...





Edited by - quarnin on January 8, 2002 7:24:48 PM
Vlion
Vlion
From my experience hunting and target shooting, I would say that its a small shove backwards: depending on size of the object and mass of the bullet, of course.

Taken from firing a 30-06.
For anything under 100 lbs it will get knocked over/around a bit.
Over 100 lbs, it will stagger, maybe fall if its under 200.

You have 2 masses.
Man and Bullet.

2 veleocities(sp)
Man and Bullet

2 Accels
Man and bullet.

End force of two ideal non-fluid objects hitting each other...
Fone - Ftwo = Fend

My neurons are not firing right at the moment, so I wont work the math, but that, along with quarnin, should get you the right equations.
Have fun !


~V'lionBugle4d
furby100
furby100
Use newton''s third and second laws.
GalaxyQuest
GalaxyQuest
Are you looking to actually calculate this or just "simulate" this action? For example, for a moving humaniod you could momentarily stop his movement. In a game called counter-strike, this is what happens. This can be easily done by stoping or drastcially slowing down velocity.

If not, then go with above ideas, but this will have less cpu calculations.
Vaporisator
Vaporisator
I don''t know what you want to use it for, but if it''s a game that doesn''t have to be superrealistic, you could multiply the momentum of the bullets by a certain factor to let it look much more dramatic (and Hollywood like).
Anyhow, most people (at least where I live) don''t really know how a bullet-hit affects a person (or animal), they only know what they''ve seen in movies, so that''s the way how they expect it to be. So if you did it relly realistic, they would perhaps say your effect is lame...
However, it''s time to educate people


Yesterday we still stood at the verge of the abyss,
today we''re a step onward!
Yesterday we still stood at the verge of the abyss,today we're a step onward! Don't klick me!!!
Vlion
Vlion
Roger that.
(just do with animals, no people, k )
~V'lionBugle4d
Promit
Promit
YOu guys are all working with rigid body physics though. Although the bullet is a rigid body, a person/animal will not be. THe bullet punctures the skin and the flesh absorbs the hit, don''t forget that. Now rubber bullets...hehe they cause double recoil upon hit.

-----------------------------
The sad thing about artificial intelligence is that it lacks artifice and therefore intelligence.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Scarab0
Scarab0
quote:
Original post by quarnin
MassOfMan*VelocityOfManBeforeStrike + MassofBullet*VelocityofBullet = MassofMan*VelocityofManAfterStrike



Shouldn't that be:

MassOfMan*VelocityOfManBeforeStrike + MassofBullet*VelocityofBullet = (MassofMan+MassofBullet)*VelocityofManAfterStrike + LossOfMomentum
?
I know the mass-difference is very small most of the time but the loss-part is because there is no such thing as a completely rigid body.

[EDIT]Hmm, I just considered that I am assuming that the bullet sticks into the person, so perhaps the mass should be MassofMan afterall. [/EDIT]

Edited by - Scarab0 on January 10, 2002 2:47:34 PM
Dirk =[Scarab]= Gerrits
quarnin
quarnin
Naw, you''re right... if the bullet went through then it would equal

= velocity_of_man*mass_of_man + velocity_of_bullet_after_slashing_through_the_mans_flesh*mass_of_bullet

Then you''d have TWO things to calculate...
Although I guess you could just slow the bullet down based on the thickness of the man/object that it punches through... with some info about density (it would slow down more if it was going through a sheet of metal, rather than a man)... but that wouldn''t be much fun, would it? (on second thought... maybe it would...)
Moe
Moe
Just use the conservation of momentum. Conservation of energy might not work because you lose energy in sound/resistance of the air, etc.

Moe''s site
ecuratolo
ecuratolo
For rigid bodies, use then conservation of momentum theorem..

P1+P2=P1''+P2''

P(m1v1)+P(m2v2)=P(m1''v1'')+P(m2''v2'')

m1 = mass of bullet
v1 = velocity of bullet
m2 = mass of object hit
v2 = velocity of object

If bullet remains inside object, the 2 masses would be added before multiplied by the velocity.

I''m doing this off the top of my head, so read into it a bit for better implementation. Check out momentum in some search engine or book, and you''ll get what you need.

Note however, that since the accuracy will get in the way of speed in situations like this, you don''t need exact values but just approximations at best.. think of using a scalar instead of actual formulas for instance..

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.