Making custom 3D Elastic Collision Physic?

When I showcased a feature (drafting) I added to my kart project in discord server (shown below), one of members suggested me adding kart ricochet physic. At first, I had no ideas what to deal with that until another person told me to use kind of mathematical formula, Elastic Collision, to achieve it.


Interested in suggestion, I did a search around this site, but found nothing about it. Even I searched on google, only just found 2d stuffs, not 3d ones. I listed things below to see if anyone knows how to implement it

Thing I used for custom collision (not elastic):

  • Raycast (surrounding ring with 8 rays)

Example video from YouTube:

Note: I don’t want CustomPhysicsProperties for this

3 Likes

You can amplify the collision by using BasePart | Roblox Creator Documentation on the part that was touched from the other cart. The maths do not have to be too intricate, since it is ment for a game. Some function that is dependent on the velocity of both carts should already suffice.

Hmm, it does look the same as assembly velocity i am supposed to apply with. but what are the differences between them?

Anyhow, since this elastic collision was heavily suggested by Fezezen and i have raycast, i just need some sort of math that calculates velocities between two karts from collision

Edit: I have solved the problem by tweaking displacement between two points and dot product. Still, it is not perfect but gets the job done