View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# throwing something in a arche patern

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

3 replies to this topic

### #1Anddos  Members

Posted 01 September 2012 - 06:23 AM

I want to make grenade in my fps game, how do you make it go outwards in a arche...

### #2Jason Z  Members

Posted 02 September 2012 - 03:41 PM

It is typically done by using a rigid body dynamics simulation with either a physics engine, or possibly just a simplification of those equations.

Jason Zink :: DirectX MVP

Direct3D 11 engine on CodePlex: Hieroglyph 3

Games: Lunar Rift

### #3Tom KQT  Members

Posted 03 September 2012 - 01:39 AM

The arch trajectory is incredibly simple to programm (*), but things get MUCH more complicated when you want the grenade to properly collide with other static or even moving objects in your scene and bounce on contact. Then you really need some kind of physics engine (albeit a very simple one).

(*) All you need is your initial velocity vector v (magnitude = how strongly you throw; orientation = which direction and under what angle you throw), initial position vector p (the grenade position in the player's hand) and a constant gravity acceleration vector g. Then each frame you just update the velocity and position vectors:
v += g * dt
p += v * dt
where dt is the time span between frames and the operations are vector operations.

Edited by Tom KQT, 03 September 2012 - 01:39 AM.

### #4Bacterius  Members

Posted 03 September 2012 - 07:18 AM

(*) All you need is your initial velocity vector v (magnitude = how strongly you throw; orientation = which direction and under what angle you throw), initial position vector p (the grenade position in the player's hand) and a constant gravity acceleration vector g. Then each frame you just update the velocity and position vectors:
v += g * dt
p += v * dt
where dt is the time span between frames and the operations are vector operations.

Gravity only affects the vertical component of velocity. Haha sorry my bad, I thought you defined g as a scalar. I must be tired - mods feel free to delete this post.

Edited by Bacterius, 03 September 2012 - 07:24 AM.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.