Camera movement in a Third Person Shooter Game

I limited the camera movement to stop when it hits colliders other than self but it still able to see beyond some slim colliders like terrain, Whats the solution for such a thing? I tried using hitpoint.normal to move the camera away from the collider but the distance needed is big enough that it ruins the camera view. Is there any thing I can do to limit the view and make the camera at-least Black instead of seeing outside the terrain?

I usually put a SphereCollider and kinematic Rigidbody on the Camera with the radius slightly larger than the near plane of the camera, so that when it collides with something I can stop the movement. However, you will have to mitigate for the stuttering that following a physical object causes in the position of the Camera.

Make a raycast form the character to the camera. if the ray hits anything other than the camera (collider required), move the camera to hit.point.