Camera Follows Characters Face

So I can make the camera follow the player’s rotation and position. but I can’t seem to figure out how to make it look towards the characters face.
here’s what’s happening

and like I said I want it to always look to where the players face is.
my code

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class canrafollow : MonoBehaviour {

    public Transform playertransform;
    private Vector3 cameraOffset;
    [Range(0.01f, 1.0f)]
    public float smoothfactor = 0.5f;
    public bool LookAtPlayer = false;
    // Use this for initialization
    void Start () {
        cameraOffset = transform.position - playertransform.position;

    }
   
    // Update is called once per frame
    void LateUpdate () {
        Vector3 newPos = playertransform.position + cameraOffset;
        transform.position = Vector3.Slerp(transform.position, newPos, smoothfactor);
        if (LookAtPlayer)
            transform.LookAt(playertransform);
    }
}

Do you want the camera to look at the character’s face, or do you want the camera to look at where the character’s face is pointed toward?

look at the charcters face, sorry if that wasn’t made clear.

I don’t really understand the code that’s calculating your camera position (having trouble visualizing), but obviously the camera is still behind the character, where I guess you actually want it to be in front. Off the top of my head, I think you could get a position in front of the character by
playertransform.position + (playertransform.forward)*distance;
Fill in whatever you want for the distance. If you want it pointing right to the face, then instead of the player’s transform, you want the transform of the head bone (unless that’s already what it is).

Although if it were me, I’d be lazy and just parent an empty game object to my player character object to attach the camera to. Then I wouldn’t have to compute where to put the camera at all.

cool thanks i’ll give it a try