Jump to content

Recommended Posts

Posted

Entities don't have 'sides' like blocks do.

 

What you could do however, is check the yaw bearing from the player to the target (or vice-versa) yaw to the target that would have been hit.  You can also do this on the y axis to get the pitch to the target.  This can be done using Math.atan2(z,x) to find the yaw, translating x and z to a length and then doing the same for those (Math.atan2(len,y)  (might be (y, len))...

 

From the yaw and pitch you can determine what 'side' was hit.  if yaw from player to target is between 315 <-> 45, you hit the south side, if it is between 45 <-> 135, you hit the east side.  135 <-> 225 north side hit, 225 <-> 315 is west side hit.

 

That gives you a general 'side hit', although it doesn't take care of checking actual hits vs. a bounding box.  For that you would likely need to implement some simple ray-tracing through voxels using an offset from world coordinates (see Bresenham's Algorithm for a start) to see what side you actual impacted on.

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.