Collision Response and Overlap

Alright, so first time poster, but fairly active coder.

I'm currently working an implementation of simple standard first person / third person style collision response. I've been pretty successfully using JME's collision detection. My collision response implementation is marginally successful, and I am trying to smooth it out.

Movement in my app uses velocity vectors, and currently on collision, I apply the normal of the an impacted triangle as a velocity vector. I've been toying with the length of the vector created by the normal hoping to find a reasonable short cut. Yet my end result is often choppy.

So ultimately to achieve a smooth result, I need to know how much overlap is occuring between two meshes. Does anyone know an effective way of calculating this? or a reasonable estimate? I am currently using OBB's as my bounding volumes.