I think Jiagg already gave the right answer. That's probably how they did it.
1.) Pick an anchor point for you character in 3D space. The point where the feet meet the ground seems like a good choice.
2.) Transform that 3D anchor point into a 2D screen position using the camera's viewprojection matrix.
3.) Draw your sprite in 2D at this 2D anchor point.
This is how you transform a 3D world position into a 2D screen position:
Vector4 worldPos4 = new Vector4(worldPos, 1);
Vector4 screenPos4 = Vector4.Transform(worldPos4, viewProjMatrix);
Vector2 screenPos = new Vector2(screenPos4.X, screenPos4.Y) / screenPos4.W;
screenPos is -1,-1 in the bottom left corner and +1,+1 in the top right corner of the screen. If you want to do your 2D drawing in pixel coordinates, you have to further transform that to pixel space.
Vector2 pixelPos = (new Vector2(screenPos.X, -screenPos.Y) + Vector2.One) / 2 * resolution;