Collision response
I have one vector for the surface where the object has collided, and one vector that is the movement vector (current pos - last pos).
I want to be able to "slide" by that surface, how do I do it?
if your object is a point:
move the current position in the direction of the normal, until it''s on the plane. so:
distance = DotProduct(curPos - plane.pivot,plane.normal);
curPos -= plane.normal * distance;
if it''s a sphere, just subtract the radius of the sphere from distance:
distance = DotProduct(curPos - plane.pivot,plane.normal);
curPos -= plane.normal * (distance - radius);
My Site
move the current position in the direction of the normal, until it''s on the plane. so:
distance = DotProduct(curPos - plane.pivot,plane.normal);
curPos -= plane.normal * distance;
if it''s a sphere, just subtract the radius of the sphere from distance:
distance = DotProduct(curPos - plane.pivot,plane.normal);
curPos -= plane.normal * (distance - radius);
My Site
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement