Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
OnCollisionEnter e OnTriggerEnter | Física no Unity
Unity para Iniciantes
course content

Conteúdo do Curso

Unity para Iniciantes

Unity para Iniciantes

1. Introdução ao Unity
2. Escreva seu Primeiro Script
3. Física no Unity
4. Interface e Sons no Unity
5. Polindo e Exportando seu Jogo

book
OnCollisionEnter e OnTriggerEnter

OnCollisionEnter2D:

Uso: Este método é chamado quando um colisor 2D anexado ao GameObject ao qual este script está anexado colide com outro colisor na cena e pelo menos um dos colidores tem um Rigidbody2D anexado.

Gatilho: Este método é usado principalmente para lidar com colisões físicas, onde os objetos realmente "se chocam" entre si.

Cenário de Exemplo: Imagine que você tem um jogo com um personagem que pula e pousa em plataformas. Quando o personagem pousa em uma plataforma, você pode querer tocar um efeito sonoro de aterrissagem, mudar a animação do personagem ou acionar alguma outra ação. Você usaria OnCollisionEnter2D para detectar quando o colisor do personagem colide com o colisor da plataforma.

OnTriggerEnter2D:

Uso: Este método é chamado quando um colisor 2D anexado ao GameObject ao qual este script está anexado se sobrepõe a outro colisor na cena e pelo menos um dos colidores tem a propriedade "Is Trigger" habilitada.

Gatilho: Ao contrário de OnCollisionEnter2D, este método não se trata de colisões físicas, mas sim de detectar quando um objeto entra no espaço de outro sem necessariamente parar seu movimento. Pense nisso como atravessar uma porta sem empurrá-la fisicamente.

Cenário de Exemplo: Digamos que você tenha um jogo onde o jogador coleta moedas. Quando o personagem do jogador se move sobre uma moeda, você quer aumentar a pontuação do jogador e fazer a moeda desaparecer. Você usaria OnTriggerEnter2D para detectar quando o colisor do jogador se sobrepõe ao colisor da moeda.

O que é uma Tag?

Definição: Uma tag é um valor string que você pode atribuir a um GameObject no Unity.

Propósito: As tags são usadas para categorizar e identificar GameObjects para vários propósitos, como diferenciar entre objetos controlados pelo jogador, inimigos, colecionáveis, obstáculos, etc.

Usos Comuns de Tags:

Identificação de Objetos do Jogo: Tags são comumente usadas para identificar GameObjects importantes na sua cena, como o personagem do jogador, inimigos, colecionáveis, objetivos, etc.

Detecção de Colisão: Tags podem ser usadas para determinar o tipo de GameObjects envolvidos em colisões. Por exemplo, você pode querer verificar se o jogador colidiu com um inimigo ou um colecionável.

Detecção de Trigger: Similar à detecção de colisão, você pode usar tags para identificar GameObjects que entram em zonas de gatilho configuradas na sua cena.

Exemplo:

Este método é chamado sempre que ocorre uma colisão entre o jogador e outro GameObject na cena.

O método recebe um parâmetro de colisão do tipo Collision2D, que contém informações sobre a colisão.

Ele verifica se a tag do colisor envolvido na colisão é igual a "ground".

Se a condição for verdadeira, ele imprime "você perdeu" no Console do Unity usando Debug.Log().

Este método é chamado sempre que ocorre uma sobreposição de gatilho entre o jogador e outro GameObject na cena.

O método recebe um parâmetro de colisão do tipo Collider2D, que contém informações sobre a sobreposição de gatilho.

Ele verifica se a tag do colisor que aciona é igual a "win".

Se a condição for verdadeira, ele imprime "you won" no Console do Unity usando Debug.Log().

1. Ao usar OnTriggerEnter2D, qual propriedade dos coliders deve ser definida como verdadeira para habilitar a detecção de gatilho?
2. Qual método deve ser usado para lidar com a detecção de colisão entre dois coliders que não são gatilhos?
Ao usar OnTriggerEnter2D, qual propriedade dos coliders deve ser definida como verdadeira para habilitar a detecção de gatilho?

Ao usar OnTriggerEnter2D, qual propriedade dos coliders deve ser definida como verdadeira para habilitar a detecção de gatilho?

Selecione a resposta correta

Qual método deve ser usado para lidar com a detecção de colisão entre dois coliders que não são gatilhos?

Qual método deve ser usado para lidar com a detecção de colisão entre dois coliders que não são gatilhos?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4
We're sorry to hear that something went wrong. What happened?
some-alt