Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula
O Mesh Collider, diferente dos colisores primitivos (Box Collider, Sphere Collider e Capsule Collider), é um colisor especial que não tem um formato geométrico definido, ou seja, ele utiliza um modelo 3D previamente criado como base para o seu formato.
O Mesh Collider é muito útil quando você precisa criar um colisor mais complexo, o qual tenha sua própria geometria. Assim, as interações físicas com o objeto ao qual ele está adicionado serão muito mais realistas, entretanto isso terá um alto custo de performance se o modelo 3D utilizado para o colisor tiver muitas faces e vértices. Use colisores primitivos sempre que possível.
Para adicionar um Mesh Collider, selecione um objeto (a Caneca, por exemplo) e clique no botão Add Componente, logo em seguida, escolhendo a opção Physics -> Mesh Collider. Isso fará com que um componente Mesh Collider apareça no Inspector do objeto. Veja a Figura 14.
As propriedades do Mesh Collider são:
Logo depois de adicionar um Mesh Collider, pode ser que você não veja nenhum contorno verde no objeto representando sua geometria. Para isso, você precisa marcar a opção “Convex” e, em seguida, “Inflate Mesh” (normalmente opcional).
A opção Convex é muito importante, pois cria um colisor baseado no Mesh escolhido (por padrão, o do próprio objeto) e limitado a 255 faces. Isso faz com que, mesmo sendo um colisor de geometria personalizada, o Unity não tenha tanto trabalho calculando sua colisão com outros Colliders. Se essa opção não estiver marcada, o Mesh Collider não entrará em colisão com outros Mesh Colliders, portanto é importante marcá-la.
Marque as opções Convex e Inflate Mesh, conforme o exemplo da Figura 15.
Como já falado, o atributo Mesh já vem com o Mesh do próprio modelo selecionado (no caso da nossa Caneca, esse Mesh tem o nome de Cylinder01). Quando marcamos as opções Convex e Inflate Mesh (esta talvez não seja necessária), um colisor de geometria aproximado ao do escolhido no atributo Mesh será criado e você poderá visualizá-lo no Scene View, como mostra a Figura 16.
Repare que esse procedimento não gera um colisor perfeito, e sim uma aproximação. Na verdade, quando você marca a opção Convex, o Unity apresenta uma mensagem de erro, por meio da qual diz que o Mesh escolhido tem muitas regiões suavizadas e pede para você escolher um Mesh mais simples ou marcar a opção Inflate. O ideal é que o modelador 3D criador do modelo faça duas versões deste, uma para sua exibição e outra para seu Mesh Collider, sendo essa última com o limite máximo de 255 faces. Entretanto, o Unity faz um trabalho normalmente razoável criando esse colisor para você com a opção Inflate.
Versão 5.3 - Todos os Direitos reservados