Although it doesn't turn out to be a step-by-step tutorial, I hope those pointers may help along:
3rd person view means that the camera is centered on the actor character as it is moving through the world.
The main concerns are, in that order
- That the actor doesn't walk through obstacles
- Have the camera follow the actor
- That the camera view isn't cluttered by some object
The first item on the list should be fairly easy to handle - bind the collider_actor to the acting object in question instead to the camera. Having that done you should come up with a fixed-view camera and the actor moving around the world space respecting any possible collisions.
Next comes the camera movement.
There are different ways to have the camera bound to a certain object. The easiest would be to periodically read the position and bearing of the object, add a certain vector and angle and have the camera position and bearing set with these values.
Last comes the method how to keep the field of view free from any obstacles.
As one could see in different games there are different ways to achieve this goal, ranging from moving the camera nearer to the actor, past the obstacle, rotating the camera around the actor or simply not drawing the obstacle or making it transparent.
The easiest way would be to do a TraceBeam() between the actor and the intended camera position (mind the direction of the beam - actor to camera) - it catches any object which sits right in the middle of the field of view between the camera and the actor as well as the position where the beam hits the first object on its way into the camera. Placing the camera in front of that given position should be a piece of cake in that case.