Tudo em nossos jogos, giram em torno das colisões entre os diferentes objetos em cena.
E é extremamente importante, todos os desenvolvedores entenderem como funciona esse sistema.
Pois, só assim é possível entender e manipular as colisões do jogo, e adapta-las para o que precisamos.
A ilusão dos gráficos
Umas das grandes verdades escondidas dentro dos jogos, é a que aqueles gráficos belos que vemos, não passam de ilusão.
Pois, seria extremamente chato para qualquer pessoa jogar e enxergar na tela apenas formas geométricas diferentes.
E que estão constantemente interagindo entre si, recebendo forças, impulsos, colidindo, e se destruindo.
Mas no fim das contas, por baixo dos gráficos, é exatamente assim que funcionam os jogos, pois, estes são os colisores.
E através dos colisores e suas interações é que definimos os acontecimentos durante a gameplay.
Como funcionam os Colisores?
Na Unity podemos escolher entre diferentes formas geométricas de colisão e até algumas que podemos manipular.
E então todo objeto que terá colisão, precisamos escolher qual colisor melhor se ajusta ao seu formato e necessidade.
E quando isso é definido, usamos métodos para diferenciar cada gameobject, que são as tags e Layers.
E as tags seriam como etiquetas que descrevem o que o objeto é, e as layers, separam em grupos vários objetos.
Pois, somado isso ao sistema de física e através dos scripts, conseguimos detectar e gerenciar as colisões.
E definir qual será o resultado e consequência de cada colisão, se é destruído, se libera uma próxima mecânica, etc.
Tags e Layers
Com as tags, é possível através de código, usando as funções OnTrigger e OnCollision, identificar cada objeto colidido.
E escolher se faz algo ou não, e definir até coisas diferentes para cada tag diferente detectada.
E as Layers funcionam igualmente, mas podemos até manipular quais Layers podem colidir entre si.
E indo em Edit > Project Settings > Physics 2D , teremos o Collision Matrix contendo todas as layers do jogo.
E a grande vantagem aqui é que podemos ativar e desativar determinadas colisões entre layers.
Por exemplo, uma layer Enemy não colidirá com objetos nessas mesma layer, e você pode ajustar isso em todas.
E com isso ataques do Player acertam apenas inimigos, e ataques de inimigos apenas o player, etc.
Em resumo, é muito importante entender como esse sistema funciona, para poder aproveitar 100%.
Pois, ter um jogo com uma boa física pode ser até mais importante que ter um game com gráficos magníficos.
Abaixo deixaremos uma playlist criando um jogo de plataforma, onde você poderá praticar e entender mais as colisões:
Seja o primeiro a comentar.