Calculating a circle or sphere along a vector

Posted by Sparky on Game Development See other posts from Game Development or by Sparky
Published on 2012-04-04T03:48:30Z Indexed on 2012/04/04 5:41 UTC
Read the original article Hit count: 193

Filed under:

Updated this post and the one at Math SE (http://math.stackexchange.com/questions/127866/calculating-a-circle-or-sphere-along-a-vector), hope this makes more sense.

I previously posted a question (about half an hour ago) involving computations along line segments, but the question and discussion were really off track and not what I was trying to get at. I am trying to work with an FPS engine I am attempting to build in Java.

The problem I am encountering is with hitboxing. I am trying to calculate whether or not a "shot" is valid.

I am working with several approaches and any insight would be helpful. I am not a native speaker of English nor skilled in Math so please bear with me.

Player position is at P0 = (x0,y0,z0), Enemy is at P1 = (x1,y1,z1). I can of course compute the distance between them easily. The target needs a "hitbox" object, which is basically a square/rectangle/mesh either in front of, in, or behind them.

Here are the solutions I am considering:

  1. I have ruled this out...doesn't seem practical. [Place a "hitbox" a small distance in front of the target. Then I would be able to find the distance between the player and the hitbox, and the hitbox and the target. It is my understanding that you can compute a circle with this information, and I could simply consider any shot within that circle a "hit". However this seems not to be an optimal solution, because it requires you to perform a lot of calculations and is not fully accurate.]

  2. Input, please! Place the hitbox "in" the player. This seems like the better solution. In this case what I need is a way to calculate a circle along the vector, at whatever position I wish (in this case, the distance between the two objects). Then I can pick some radius that encompasses the whole player, and count anything within this area a "hit".

  3. I am open to your suggestions. I'm trying to do this on paper and have no familiarity with game engines. If any software folk out there think I'm doing this the hard way, I'm open to help!

Also - Anyone with JOGL/LWJGL experience, please chime in.

Is this making sense?

© Game Development or respective owner

Related posts about graphics