Unity C# Tutorial Gratis | Como detectar Colisão com tags programando em C#
Aprenda a Criar Jogos Completos em 2D e 3D !
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
Postar um comentário