Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Colisão por tag não está reconhecendo um objeto

Olá, estava fazendo a aula do Unity 2D, estou na parte 3 já e me deparei com um erro que não sei como resolver. Criei um teto para o jogo, para que os jogadores não passassem do limite da tela e instanciei os obstáculos e o chão com uma tag para que possa reconhecer quando batesse neles e parasse o jogo. Estava funcionando normal e resolvi continuar o curso, porém começou a dar um erro muito estranho onde somente o chão está sendo constado com a tag e o obstáculo não.

A parte do código de colisão

    private void OnCollisionEnter2D(Collision2D colisao)
    {

        if (colisao.gameObject.tag == "obstaculo")
        {

            this.fisica.simulated = false;
            this.aoBater.Invoke();

        }

    }

Colisor com a tag sem o is trigger A imagem do objeto obstáculo com a tag. Os dois estão iguais e o colisor de pontuação também tem outra tag mas está funcionando corretamente com um box collider marcado com is trigger Chão com a tag sem o is trigger Imagem do chão marcado com a tag. Abaixo tem o script do carrossel mas contém somente a velocidade

Abaixo tem o vídeo que mostra o que está ocorrendo. Na primeira tentativa eu mostrei que o colisor do chão está funcionando corretamente e na segunda mostra ele atravessando o obstáculo mesmo sem o is trigger marcado.

https://mega.nz/file/V5lTWLQR#IDNZizgtNCdrOncCUmvgFePsJhNASdoD4sH1p6NAJT0

Se alguém puder ajudar agradeço muito.

1 resposta
solução!

O objeto vazio que continha os obstáculos estava com Rigidbory 2D, o que estava fazendo com que não colidisse por algum motivo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software