Jump to content

[1.16] Need help with ProjectileItemEntity Physics


kiou.23

Recommended Posts

I'm making an projectile item, that when thrown, should bounce around a bit before stopping on the ground. however I'm having a really hard time with the physics of it, I've tried a few things but none of them quite worked.

I tried looking at the code for some other entities, such as the ArrowEntity, but it didn't help either. For making the item bounce, I'd probably need the normal at the hit point to be able to "reflect" it's velocity

How could I make it so the entity would behave more like a physics object?

here's the code for the entity: DSixEntity.java

Link to comment
Share on other sites

For the simplest implementation, whenever the projectile interacts with the surface, you'll get the associated face that the surface interacted with. Then, invert the associated component and multiply it with some number between 0-1 to represent to loss of energy. For example, if the associated motion velocity is <3,-1,2> and the ball hits a face on the Y-axis (either UP or DOWN), it will invert the component to <3,1,2>. Let's say we want to have 80% of the energy conserved, then it would be <3,0.8,2>. Of course, you'll need probably a deadzone for the total motion to deal with ridiculously small numbers. If you want to introduce other factors, then I would suggest looking over some bouncing ball physics.

Link to comment
Share on other sites

1 hour ago, ChampionAsh5357 said:

For the simplest implementation, whenever the projectile interacts with the surface, you'll get the associated face that the surface interacted with.

how do I get the associated face? it doesn't seem that RayTraceResult can tell me that.

note: I was/am about to implement the jBullet engine (I might as well since my projectiles have shapes more complex than a cube)

Link to comment
Share on other sites

13 hours ago, poopoodice said:

thanks for the example! but as I've said, since my entities use some more complicated shapes, I think I'm better off using a third-party physics library

Link to comment
Share on other sites

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.