Olá pessoal, gostaria de saber como faço para inimigos não se colidirem.
A movimentação padrão do inimigo é assim:
(https://i.postimg.cc/9MzSbZ0T/1.gif)
Ele se movimenta de um lado pro outro e quando detecta que não tem chão ele volta.
Porém quando adiciono mais de um inimigo e eles se colidem, acabam ficando parados:
(https://i.postimg.cc/HnX6v2gJ/2.gif)
Se alguém tiver uma ideia de como eu posso desativar a colisão temporariamente somente com inimigos eu agradeço. ;o;
Esses são os componentes que ele usa:
(https://i.gyazo.com/86699cc441a49f80ae4ef0c1e7f25706.png)
A matrix de colisão indica quais Layers interagem com o quê:
(https://unity3d.com/sites/default/files/styles/original/public/learn/physicsbestpractices01.png?itok=zxT6ZzhI)
Você pode acessar ele através do Physics Manager (https://docs.unity3d.com/Manual/class-PhysicsManager.html).
Nesse caso, você pode fazer com que a Layer "Enemy" não interaja com a layer "Enemy". Desta forma inimigos nessa Layer não irão interagir uns com os outros.
Se você fizer isso e quiser que dois inimigos em específico se interajam, você pode utilizar Raycasts.
Eu acabei conseguindo corrigir com:
Physics2D.IgnoreCollision(this.gameObject.GetComponent<BoxCollider2D>(), GameObject.FindGameObjectWithTag("Enemy").GetComponent<BoxCollider2D>());
Mas acredito que seu metodo para um jogo de celular seja melhor.
Valeu. o/
Fazer via código tem sempre suas vantagens haha' Fico feliz que tenha conseguido resolver, qualquer coisa tamo aí o/