Unidade - Entendendo Colisões
As colisões no Unity são separadas do próprio Sprite real, anexadas como componentes separados e são calculadas por conta própria. Vamos agora aprender a causa por trás disso.
Everythingem seu jogo é um GameObject. Mesmo as peças individuais que compõem seu nível são GameObjects por si mesmas.
Quando consideramos cada componente como um GameObject, percebemos que pode haver thousandsde GameObjects em uma cena, interagindo uns com os outros de alguma forma. Você pode imaginar que, se o Unity adicionasse colisões a cada GameObject, seria impraticável para o mecanismo calcular as colisões para cada um deles.
Seguiremos em frente e adicionaremos uma “parede” simples contra a qual nosso personagem jogador possa colidir. Para fazer isso, crie outro sprite e aumente-o usando a ferramenta Rect. Também daremos uma cor vermelha por meio doColor propriedade no componente Sprite Renderer.
Agora vá para Add Componentno Inspetor e digite “Box Collider 2D”. Clique no primeiro componente que aparece e um novo componente deve aparecer.
Você verá uma linha verde brilhante no perímetro do seu GameObject. Isto é ocollision boundary. É o que define o realshape dos objetos colidíveis.
Repita o mesmo com nosso GameObject móvel também.
Claro, as colisões no Unity não se limitam a simplesmente caixas. Eles podem variar em uma variedade de formas e tamanhos e não são necessariamente réplicas dos parâmetros do objeto.
Eles também podem assumir formas poligonais.
Não é incomum ver desenvolvedores e designers usarem approximateformas em seus limites de colisão para simplificar seus colisores e evitar cálculos desnecessários para o motor. Aprenderemos como criar diferentes formas e tamanhos com nossos aceleradores em breve.
Agora que temos nossos limites de colisão no lugar, clique em reproduzir e veja em ação.
Você notará que nosso objeto móvel não está se comportando normalmente. Discutiremos o comportamento do objeto em nosso capítulo subsequente.