Как сделать рисование стрелочек в unity?

В Unity можно сделать рисование стрелочек несколькими способами. Один из наиболее популярных способов - использование функции Debug.DrawRay. Она позволяет рисовать линии и стрелки на сцене во время отладки.

Для начала, вам потребуется пустой объект на сцене, на который вы будете добавлять стрелки. Создайте новый пустой объект, например, назовите его "ArrowManager".

Затем создайте новый скрипт и назовите его "ArrowScript". Откройте его в редакторе кода и добавьте следующий код:

using UnityEngine;

public class ArrowScript : MonoBehaviour
{
    public float arrowLength = 1f;
    public Vector3 arrowDirection = Vector3.forward;

    private void OnDrawGizmos()
    {
        // Определяем начальную и конечную точку стрелки
        Vector3 startPosition = transform.position;
        Vector3 endPosition = transform.position + arrowDirection.normalized * arrowLength;

        // Рисуем линию от начальной точки до конечной
        Debug.DrawLine(startPosition, endPosition, Color.green);

        // Рисуем стрелку в конечной точке
        Vector3 arrowHeadPoint = endPosition - arrowDirection.normalized * 0.1f;
        Vector3 leftArrowPoint = arrowHeadPoint + Quaternion.Euler(0, 45, 0) * arrowDirection.normalized * 0.1f;
        Vector3 rightArrowPoint = arrowHeadPoint + Quaternion.Euler(0, -45, 0) * arrowDirection.normalized * 0.1f;

        Debug.DrawRay(arrowHeadPoint, Quaternion.Euler(0, 45, 0) * arrowDirection.normalized * 0.1f, Color.green);
        Debug.DrawRay(arrowHeadPoint, Quaternion.Euler(0, -45, 0) * arrowDirection.normalized * 0.1f, Color.green);
    }
}

В этом скрипте мы определяем параметры стрелки, такие как длина arrowLength и направление arrowDirection. Например, если arrowDirection равно Vector3.forward, стрелка будет направлена вперед от позиции объекта.

Затем мы используем функцию OnDrawGizmos, которая вызывается Unity во время отрисовки сцены в редакторе. Внутри этой функции мы определяем начальную и конечную точки стрелки и рисуем линию с помощью Debug.DrawLine. Затем мы рисуем стрелку с помощью Debug.DrawRay, используя повороты Quaternion.Euler и вектора направления arrowDirection.

Теперь вернитесь в Unity и присоедините скрипт "ArrowScript" к вашему объекту "ArrowManager". В инспекторе у объекта "ArrowManager" вы увидите параметры arrowLength и arrowDirection, которые можно настроить по вашему усмотрению.

После этого при проигрывании сцены в редакторе вы увидите стрелочки, настроенные вами параметрами, для каждого объекта "ArrowManager" на сцене.

Таким образом, вы можете создавать и рисовать стрелки в Unity с помощью функции Debug.DrawRay. Этот способ является простым и эффективным для быстрого отображения стрелок на сцене во время разработки или отладки.