En tercera persona, la cámara normalmente orbita alrededor del jugador manteniendo cierta distancia.

Concepto

Jugador
    ↓ objetivo

Cámara
    ↺ gira alrededor

Variables básicas

[SerializeField]
private Transform objetivo;

[SerializeField]
private float distancia = 5f;

[SerializeField]
private float altura = 2f;

private float yaw;
private float pitch;

Rotación

Vector2 look =
    lookAction.action.ReadValue<Vector2>();

yaw += look.x;
pitch -= look.y;

pitch = Mathf.Clamp(
    pitch,
    -30f,
    70f
);

Calcular rotación

Quaternion rotacion =
    Quaternion.Euler(
        pitch,
        yaw,
        0f
    );

Posición

Vector3 offset =
    rotacion *
    new Vector3(
        0f,
        altura,
        -distancia
    );

transform.position =
    objetivo.position + offset;

Mirar al jugador

transform.LookAt(
    objetivo.position +
    Vector3.up * altura
);

Resumen rápido