Colliders

Colliders são geometrias especiais que podem ser adicionadas a qualquer GameObject no Unity e adicionam o recurso de colisão física nesses objetos. São componentes invisíveis e não precisam ter o mesmo formato que o objeto ao qual ele está adicionado, ou seja, um objeto no formato de uma caneca de café (como a da aula passada), por exemplo, pode ter um Collider no formato de um simples cubo (Box Collider), fazendo com que ele, para todos os efeitos de interações físicas, comporte-se como um cubo. Isso parece estranho, mas na verdade é uma ótima solução para questões de performance do seu jogo, já que calcular interações físicas com Colliders simples (como o Box Collider) é mais rápido do que considerar todos os detalhes de um objeto como uma caneca no processamento da física do jogo.

Os Colliders mais simples são chamados de primitive colliders (Colisores Primitivos), e em 3D os disponíveis são:

  • Box Collider: Colisor em formato de uma caixa (com 6 faces).
  • Sphere Collider: Colisor em formato de uma esfera.
  • Capsule Collider: Colisor em formato de uma cápsula.

Outros tipos comuns de Colliders, entretanto com menor performance (maior uso de processador durante o jogo), são:

  • Mesh Collider: Colisor mais genérico que pode ter qualquer formato geométrico, bastando associá-lo a um Mesh 3D qualquer.
  • Wheel Collider: Colisor especial utilizado para rodas de veículos.
  • Terrain Collider: Colisor especial para uso com elevação de terrenos.

Na Figura 1 você pode ver os tipos de colliders (menos o Wheel Collider) aplicados no modelo 3D utilizado no nosso projeto passado (caneca). Observe que ao selecionar os objetos o seu Collider é exibido na Scene View como uma geometria de linhas verdes ao redor do objeto.

Quatro tipos de Colliders aplicados em um modelo 3D.

No Unity não existe um Collider primitivo com o formato de um cilindro. Assim, se você adicionar um GameObject do tipo Cylinder o componente colisor que vem associado com esse objeto é um Capsule Collider. Esse tipo de deficiência é causado pelo fato do Unity utilizar um motor de física chamado PhysX que não suporta colisores em formato de cilindro. No entanto isso não impede que utilize um Mesh Collider nos seus objetos e escolha uma geometria em formato cilíndrico (ou qualquer outro formato) para ele. A única diferença é que você não estará se beneficiando das melhorias de performance por utilizar um primitive collider.

Versão 5.3 - Todos os Direitos reservados