removing a direction from movement.

im not sure if this is a stupid question yet, but ive been having trouble with it, hoping someone here can help!

I have a player object that has 3D movement, when it hits a surface i need the (visual)object to not pass through the surface, but i need the position values to continue through the surface so i get a reading of how far ‘through’ the surface the player is (the distance from the position to the surface the visual object stopped at). This all works fine and i get the distance reading i need. what i cant get working is that i need the visual object to move accross the surface of whatever it collided with in relation to the position ‘through’ the surface.

I hope you can see what im getting at from that! basically i think what i need to do is remove any movement in the direction of the normal (out the back of the surface hit) from the object…

thanks in advance for any advice!

I’m a little confused by your question, because you state that you want the visual object to not move through the surface, but later you say you do want it to move through the surface.

Perhaps if you explained your game mechanic specifically, and what needs to happen, we could help out with some suggestions!