Viewmodel/camera rotation when moving

I am creating a first person platformer where the player has full body awareness. The player uses hover skates to move around the map, and I can’t figure out how to get the first person body to rotate to simulate the player leaning forward, backwards, etc., as well as the camera rotating left and right when strafing.

Could someone explain how to do this?

I have a camera as a child of my player, and use this script to control it:

public class CameraFollow : MonoBehaviour {

	public float rotspeed = 10F;
	public float camUD = 0F;
	float rotYold = 0;
	float rotYnew = 0;
	void Update () {
		transform.position = transform.parent.position + new Vector3 (0, 1, 0);		// Keeps camera 1 unit above player
		camUD += Input.GetAxis("Mouse Y") * rotspeed * Time.deltaTime;	// Vertical rotation controlled by mouse up/down
		rotYnew = transform.parent.eulerAngles.y;	// Target horizontal rotation matches player horizontal rotation
		rotYold = transform.eulerAngles.y;	// Get current horizontal rotation
		transform.Rotate(0, rotYnew - rotYold, 0);	// Rotate camera horizontally
		camUD = Mathf.Clamp (camUD, -60, 60);	// Camera can't rotate vertically farther than 60 degrees
		transform.rotation = Quaternion.Euler(-camUD, transform.eulerAngles.y, 0);	// Rotate camera vertically

You should be able to modify this for rotating your player, but let me know if you need help.