Hi!You can try something like this:public class Test : MonoBehaviour{ public UISprite FilledSprite; public UISprite MarkSprite; private float _radius; void Start() { _radius = FilledSprite.width / 2f; } void Update() { var amount = 1 - FilledSprite.fillAmount; var angle = 360 * amount; var radAngle = angle * Mathf.Deg2Rad; MarkSprite.transform.localPosition = new Vector3( Mathf.Sin(radAngle) * _radius, Mathf.Cos(radAngle) * _radius, 0f); }}
I'm not sure, but I think, you must calculate your dynamic distance (radius) based on image pixels count for current angle.