Unity C# Tutorial Gratis | Como detectar Colisão com tags programando em C#

 
Unity C# Tutorial Gratis | Como detectar Colisão com tags programando em C# 

Aprenda a Criar Jogos Completos em 2D e 3D ! https://go.hotmart.com/X56981214Q

Vamos supor que você quer detectar Colisão de um Objeto com outro e executar uma determinada ação quando isso ocorrer.

Bom fazer isso em unity é super simples, vou assumir que você sabe o basico de interface da ferramenta, porem caso tenha alguma duvida  comente no campo abaixo de comentarios que responderei ! 

Bom Vamos supor que temos 2 objetos um será o objeto Player, o objeto Player vai colidir com o objeto Bola, mas como vamos detectar isso ? 

Simples, porem será necessario adicionar alguns componentes de fisica nos dois objetos para  a Unity entender o que está acontecendo ! 

No Objeto Player Adicione o seguinte : 
Box Collider ou outros como Mesh Collider e marque a opção Is Trigger
Adicione tambem um Rigid Body, desmarque a opção Gravity e marque a is Kinematic 

Faça a mesma coisa no Objeto Bola...
Alem de adicionar a Fsica e o Collider adicione uma TAG e coloque o nome da TAG de bola.

Para adicionar uma TAG é só selecionar o objeto desejado, e olhar par ao canto superior direito no inspector e buscar por tag, clique no campo e irá aparecer uma lista, no final da lista tem a opção de ADD TAG, clique ali, crie uma nova TAG e depois selecione a tag no Objeto ! 

Feito isso vamos ao Codigo Unity c#

Vou explicar linha por linha para você entender detalhadamente ! 



void OnTriggerEnter(Collider other){ // nessa função conseguimos detectar colisão
//Vamos usar esse codigo no Player para detectar a Bola
// Isso diz basicamente se a colisão aconteceu com o outro objeto...
//  porem agora precisamos dizer que outro objeto é esse ! 

 

        if (other.gameObject.CompareTag("bola")){// aqui vamos determinar quem é o outro...
// se outro objeto foi tocado, verificamos a TAG dele, se for a tag bola, algo deve acontecer abaixo 

           Debug.Log("Tocamos na .... eu não vou dizer isso klkkkkk");
           // se tocamos no objeto e a tag foir aquela  ent]ao vamos exibir um texto no Console

        }

} /* Vou explicar agora como verificar que uma colisão foi desfeita na Unity usando C#, sabemos que um objeto tocou no outro usando OnTriggerEnter, agora para ver se deixamos de tocar, vamos usar OnTriggerExit, temos tambem a opção OnTriggerStay para ver se estamos colidindo continuamente, ou seja se continuamos colidindo ! 

*/

  void OnTriggerExit(Collider other){
// Olha que simples verificar se deixamos de colidir, basta usar a mesma estrutura mudando apenas para Exit

        if (other.gameObject.CompareTag("bola")){
// se deixamos de colidir com outro objeto e esse outro objeto é a bola, algo acontece 
// você deve programar tudo o que quiser aqui dentro 

        }

}

Bom coloque com cuidado a TAG e os componente de fisica e colisão, sempre ficam duvidas então use o campo de comentarios, considere curtir a nossa pagina, e seguir nosso blog para mais artigos, dicas e tutoriais de unity engine C# .

Aprenda a programar  em PHP agora mesmo com esse curso, participe ! 

Comentários