Указатель цели в 2d пространстве

Использую указатель цели, как одна из механик игры, в данный момент указатель работает, но бегает четко по границам экрана, хотелось бы сделать отступ и добавить вращение стрелки в зависимости от того где находится цель(низ, верх, право, лево)

        Vector3 targetOnScreen = Camera.main.WorldToViewportPoint(target.GetComponent<Transform>().position);
        targetOnScreen.x = Mathf.Clamp01(targetOnScreen.x);
        targetOnScreen.y = Mathf.Clamp01(targetOnScreen.y);

        if (target.GetComponent<SpriteRenderer>().isVisible)
        {
            arrow.gameObject.SetActive(false);
        }
        else arrow.gameObject.SetActive(true);

        arrow.position = Camera.main.ViewportToWorldPoint(targetOnScreen);

Ответы (0 шт):