Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Вопросы Мои Вопросы

OnTriggerEnter2D срабатывает через раз

UnityC#2D

такая беда
есть враг который имеет несколько состояний.
при состоянии атаки он должен врезаться в игрока и перейти в состояние отступление и по кругу, но это срабатывает через раз.
то есть враг атакует, сталкивается, отступает, снова атакует и на этом моменте триггер на отступление перестает срабатывать и чтобы он снова сработал надо перезайти в него чтобы он снова отлетел.

риджитбади у врага стоит в кинематике, триггер включен

в чем может быть проблема?


private void OnTriggerEnter2D(Collider2D collision)
        {
            Debug.Log(collision);
            if (collision.TryGetComponent<Player>(out Player player))
            {
                IsKicked= true;
                SetState(EnemyBehaviorRetreat);
                IsAttack = false;
                IsRetreat = true;

            }
        }

если надо то могу скинуть код из состояний


Комментарии

3
Name_130 1 год назад

А ты не пробовал обновлять состояния тогда, когда враг покидает зону коллайдера? Может это поможет?

Name_325 1 год назад

Name_130, так проблема в том, что он переходит в атаку и вечно торчит внутри игрока

Name_325 1 год назад

Name_130, ладно беду с входом в коллайдер я исправил и проверка проходит, так что займусь другой проблемой. спасибо

Гости не могут отвечать на вопросы. Войдите на Сайт или Зарегистрируйтесь