Да, всё верно.
Rigidbody отвечает как бы за физический компонент объекта. Если его включен - объекты бьются друг о друга, а если отключить - будут проходить насквозь. Чтобы исключить нежелательные эффекты взаимодействия, тут нужно мудрить с кодом - например, отключать движение врага, когда он касается игрока.
Я не так давно занимаюсь, может что не правильно написал, но в консоле пишет что упомянутый скрипт в этом поведение отсутствует(в старте написал так: "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, то все заработает.
Спасибо большое!
Все работает, только я сейчас вспомнил почему компонент r-body отключил..враг, если накинуть на него коллайдер круга отлетает от меня словно мяч, если коллайдер убрать, то враг заходит под текстуры игрока
Я не так давно занимаюсь, может что не правильно написал, но в консоле пишет что упомянутый скрипт в этом поведение отсутствует(в старте написал так: "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)" Но ведь условия есть