Гайд Самонаводящееся оружие на врага(Наводка на цель)

Начинающий
Статус
Оффлайн
Регистрация
25 Авг 2019
Сообщения
292
Реакции[?]
15
Поинты[?]
1K
C#:
    [SerializeField] private Transform target;
    [SerializeField] GameObject[] _enemy;
    private int targetId;

    void Update()
    {
        if (Input.GetKeyUp("e"))
        {
            ChangeTarget();
        }

        float distance = Vector3.Distance(transform.position, target.position);
        if (distance <= 10) // дистанция обнаружения
        {
            var dir = target.position - transform.position;
            var euler = transform.eulerAngles;
            euler.z = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
            transform.eulerAngles = euler;
            euler.z = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - 90.0f;
        }

    }

    public void ChangeTarget() // сменить цель наводки
    {
        _enemy = GameObject.FindGameObjectsWithTag("Enemy");
        ++targetId;
        if (targetId >= _enemy.Length)
        {
            targetId = 0;
        }
        target = _enemy[targetId].transform;
    }
 
Последнее редактирование:
Сверху Снизу