Health Bar at Player Transform

I know very little about Unity 5 UI systems, but I’ve spend a frustrating couple of hours sorting through answers and the manual on the topic. What I’m trying to do is create a radial UI bar using an Image UI with a circular fill, and have it follow the player transform at his feet. There are a TON of questions on this topic, going all the way back to Unity 3 & 4 GUI systems - but they all have different solutions and tips, and none of them seem to get me anywhere.

I’m at the point that I have a UI canvas (not a child of any object) and can instantiate a prefab UI image. I’ve tried making that instantiated object a child of the player transform, but the UI image just ends up in the middle of nowhere with very random behavior.

Seems like the most widely-accepted answer is to set the RectTransform.anchorPosition to the transform.position in screen space during Update() or OnGUI() - but again the UI image ends up in some random place unrelated to that player transform. A side not (but maybe important?) - that UI image that’s instantiated isn’t even visible in the game view (the actual image texture, that is), I can only find it in the scene view by focusing on its transform.

I’m totally lost - what steps should I take to set up this system? Am I on the right track?

U just need to watch the Tanks tutorial (they have actually added radial health bar under the tank).
link text

Doesn’t answer your question, but an alternative would be to use a textured quad under the players feet and animate the texture.

Have you tried making an object with the canvas set at world coordinates and then just parent that to the object that needs the health?
Once you parent it, just set it’s transform to 0,0,0 and it should go to the pivot point of that object.
And since it’s parented to it you don’t need to have it follow the object through update.

What you could do (assuming you want to instantiate a Health Radial separate from your characters) would be to create a prefab containing a UI WorldSpace canvas with your graphic as a child. Then to create a script on your character GameObject with something like the following:

 public GameObject m_HealthCanvasPrefab;
    
    	void Start () {
            GameObject healthRadial = Instantiate(m_HealthCanvasPrefab);
            healthRadial.transform.SetParent(transform, false);
        }

That snippet would instantiate the prefab and child the prefab to the object at ‘start’ and as we are using the SetParent overload it will keep its original local position.