Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula
O método OverlapBox, da biblioteca Physics2D, utiliza quatro parâmetros para definir a área procurada. O primeiro parâmetro indica a posição em que a caixa (box) será definida. Utilizamos a posição do nosso objeto GroundCheck (groundCheck.position). Em seguida, definimos o tamanho da caixa. Isso tem de ser um pouco experimental. Após alguns testes, chegamos ao tamanho (1.3, 0.2). Esse tamanho é definido através de um Vector2. Depois, temos o ângulo no qual a caixa deve ser criada. Utilizamos zero para esse parâmetro, a fim de a caixa estar sem qualquer rotação. Por fim, definimos a camada de interesse para a qual a caixa deve reportar quando houver colisão. Nesse caso, utilizamos a camada ground, representada pela mesma LayerMask que já utilizávamos anteriormente.
Com isso, o nosso personagem agora busca o chão em uma pequena área quadrada ao redor do GroundCheck, e não mais utilizando apenas uma linha. Esse método é um pouco mais caro, computacionalmente, mas também produz um melhor resultado visual, como podemos notar na Figura 6.
Perceba que há uma pequena diferença entre o colisor e a plataforma. Essa diferença pode ser ajustada alterando o tamanho do colisor, alterando o tamanho da caixa de detecção do chão ou mesmo o tipo de colisor o qual estamos utilizando. Vamos a essa última opção, como mais uma modificação a fazer no personagem.
Em nossas primeiras aulas, resolvemos utilizar dois colisores para cobrir todo o corpo do personagem - um Box Collider 2D e um Circle Collider 2D. No entanto, esses dois colisores podem ser também representados por um Capsule Collider 2D, que vimos na aula de física, anteriormente. Vamos fazer essa alteração em nosso personagem como último elemento antes de partir para as novas adições do nível!
Primeiramente, selecione o personagem em nossa Hierarchy e remova os dois Colliders já existentes no Inspector. Para isso, basta clicar na engrenagem que há ao lado do nome de cada collider e selecionar a opção RemoveComponent. Em seguida, adicione um novo componente pelo botão Add Component -> Physics 2D -> Capsule Collider 2D. Configure o novo componente para os valores adequados, como visto na Figura 07, a seguir:
Caso ainda ache que o personagem está se comportando de maneira estranha em relação às colisões, fique à vontade para alterar o colisor e chegar a valores que julgue mais adequados! Se encontrar algum valor mais legal, passa lá no fórum e fala para todo mundo!
Versão 5.3 - Todos os Direitos reservados