- Home /
Elastic Collisions with Rigidbodies
I have a problem, I wanted to have a perfect elastic collision, for example, between an Sphere and the floor, if the initial velocity of the Sphere is (5.0,-5.0, 0.0) I would expect an after collision velocity of (5.0,5.0, 0.0), having that the incident angle is the same as the reflected angle after the collision, if the ball has no initial spin, but even though it has no initial spin, it would have after the collision, since this is how collision works, but I assumed that using the Rigidbody Constrains on the rotations would make this a perfect elastic collision, this didn't solved it, the angle after the collision was not the same since some of the energy is transformed in rotational energy but since the constrains are on it doesn't show visually but it affects the calculus. Is there anyway to fix this? Or to simulate perfect elastic collisions in Unity?
P.D.: For the simulation I used an Sphere and a plane, the Sphere has a rigidbody, without gravity, friction or drag, it has a Physic Material, which has Bounciness 1, and also no drag or friction whatsoever.
Answer by tanz94 · Dec 29, 2014 at 08:22 AM
Giving bouncy material to rigidbody is not enough . You can record the velocity before collision that can be done through raycasting(OnCollisonEnter would be of no help sine it records zero velocity).Also you have to compute the normal and tangent and take dot product with initial velocity to get the velocity after collision.Follow these vidoes (https://www.youtube.com/channel/UCa0KlT6mWPvUdk-48kFaSUg/videos ) for better understanding.Soon a blog will be written on it.
Your answer
Follow this Question
Related Questions
How to make objects non-penetrable, inelastic 0 Answers
Disable bouncing effect 0 Answers
Apply rigid body force in opposite direction of collider 1 Answer
Sphere sticks to cube 1 Answer
RigidBody controller - Where to start? 0 Answers