3

TD shooter помогите с противником

Чуваки, выручайте! Тритий день 24/7 не могу сообразить как заставить врага наносить урон игроку..враг бежит и преследует, но не атакует хотя ошибки никакие не выдает

В скрипте ссылка на анимацию есть, в анимации разумеется ссылка на скрипт тоже

TD shooter помогите с противником Visual Studio, Unity, Враг, Controller, Анимация, Gamedev
TD shooter помогите с противником Visual Studio, Unity, Враг, Controller, Анимация, Gamedev
TD shooter помогите с противником Visual Studio, Unity, Враг, Controller, Анимация, Gamedev
0
Автор поста оценил этот комментарий

Да, всё верно.

Rigidbody отвечает как бы за физический компонент объекта. Если его включен - объекты бьются друг о друга, а если отключить - будут проходить насквозь. Чтобы исключить нежелательные эффекты взаимодействия, тут нужно мудрить с кодом - например, отключать движение врага, когда он касается игрока.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Хорошо, спасибо большое!!! Попробую сделать какие-никакие костыли в коде

1
Автор поста оценил этот комментарий
Я не так давно занимаюсь, может что не правильно написал, но в консоле пишет что упомянутый скрипт в этом поведение отсутствует(в старте написал так: "Debug.Log(GetComponent<Enemy>().anim);"

В самом теле триггера, там где у тебя if и else напиши

Debug.Log("триггер работает");


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


Rb на враге не было)) Сейчас в консоле пишет "Parameter 'attack' does not exist.UnityEngine.Animator:SetTrigger (string)Enemy:OnTriggerStay2D (UnityEngine.Collider2D) (at Assets/Enemy.cs:52)" Но ведь условия есть

Ну вот и причина - параметра Attack не существует в Аниматоре.

Насколько я понимаю, ты передаешь аниматору условие "attack", хотя в самом аниматоре у тебя прописано enemyAttack.

По идее, если заменить в коде attack на enemyAttack, то все заработает.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо большое!

Все работает, только я сейчас вспомнил почему компонент r-body отключил..враг, если накинуть на него коллайдер круга отлетает от меня словно мяч, если коллайдер убрать, то враг заходит под текстуры игрока

показать ответы
0
Автор поста оценил этот комментарий

Я не так давно занимаюсь, может что не правильно написал, но в консоле пишет что упомянутый скрипт в этом поведение отсутствует(в старте написал так: "Debug.Log(GetComponent<Enemy>().anim);"

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

Rb на враге не было)) Сейчас в консоле пишет "Parameter 'attack' does not exist.UnityEngine.Animator:SetTrigger (string)Enemy:OnTriggerStay2D (UnityEngine.Collider2D) (at Assets/Enemy.cs:52)" Но ведь условия есть

показать ответы