Move player canvas along with player parent.

I have a player canvas which represents the player name, and this is attached to a 3D sphere which is moving using AddForce.
How can I keep the canvas to always be above the player, regardless of the rotation/position of the parent?

I can stop the canvas from rotating by using the answer from Here
However, the canvas moves in a weird manner.

Attach this script to the canvas that is parented to the player.

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

public class TextOverPlayer : MonoBehaviour
{
    void Update()
    {
        transform.rotation = Quaternion.LookRotation(Camera.main.transform.forward);
    }
}