O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Desativar colisão de inimigos com inimigos

Iniciado por Aurora, 04/11/2018 às 17:18

04/11/2018 às 17:18 Última edição: 04/11/2018 às 20:48 por Sotelie
Olá pessoal, gostaria de saber como faço para inimigos não se colidirem.

A movimentação padrão do inimigo é assim:


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:


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:

04/11/2018 às 18:27 #1 Última edição: 04/11/2018 às 18:30 por Sotelie
A matrix de colisão indica quais Layers interagem com o quê:

Você pode acessar ele através do Physics Manager.
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/