From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Existem dois tipos diferentes de colisão que você pode utilizar no Blender 3D: colisão entre diferentes Objetos e colisão Interna. Nós somos obrigados a explicar uma coisa logo de cara: os alvos primários da calculação de colisão são os Vértices de um Objeto marcado para simulação como "Soft Body" (Corpo Macio). Portanto, se você possui poucos vértices, muito poucas colisões terão seu lugar. Secundariamente, você pode utilizat "Edges" (Arestas ) e Faces para melhorar a calculação da colisão.

Colisões com outros Objetos

Imagem 1: Configurações para um Objeto de Colisão.

Para que um Objeto marcado como "Soft Body" (Corpo Macio) colida com outro Objeto, existem alguns pré requisitos:

  1. Ambos os Objetos devem compartilhar o mesmo(a) "Layer" (Camada), mas este(a) "Layer" (Camada) não precisa necessariamente ser visível.
  2. Os Objetos que sofrem simulação de "Collision" (Colisão) devem ser Objetos do tipo "Mesh" (Malha).
  3. Você deverá ativar a opção de "Collision" (Colisão) dentro do Painel de "Collision" (Colisão) do sub contexto de "Physics" (Física), veja a (Imagem 1) para o Objeto de Colisão. O Objeto de Colisão também poderá ser marcado como "Soft Body" (Corpo Macio).
  4. caso você utilize Modificadores como "Array" (Matriz) e "Mirror" (Espelho), você deverá ativar a opção de EV.M.Stack ( que leva em conta a pilha de Modificadores ) para garantir que a calculação da Colisão seja baseada no Objeto Modificado e não na Base do mesmo. A sequência de "Modifiers" (Modificadores) não é importante.


Exemplos Motivadores

Imagem 2a: Um Cubo como Soft Body colidindo com um plano.
Imagem 2b: Um Plano como Soft Body colidindo com um Cubo – nenhuma interação como um todo.
Imagem 2c: Colisão com a opção CFace ativada.

Um Objeto Malha do tipo "Cube" (Cubo) colidindo com um plano funciona muito bem (Imagem 2a), mas um plano cai por cima e atravessa o Cubo que supostamente deveria colidir com ele (Imagem 2b). Por que é assim ? Por que o método padrão de calculação somente faz a checagem para saber se os quatro vértices do plano colidem com o Cubo conforme o Plano é empurrado para baixo por causa da gravidade. Você então poderá ativar a opção CFace para habilitar a colisão entre a face do Plano e o Objeto ao invés do método padrão (Imagem 2c), mas este tipo de calculação é muito mais demorado.

Vamos dar uma olhada mais de perto na calculação da Colisão, para que você tenha uma ideia de como podemos otimizá-las.

Calculando as Colisões

Imagem 3a: Visualização da Colisão de um Vértice de Objeto marcado como Soft Body com um Plano.
Imagem 3b: Seis Vértices de Objeto marcado como Soft Body com diferentes velocidades.
Arquivo Blender

A simulação de "Soft Body" (Corpo Macio) é por padrão, feita em uma base per Vértice. Caso os Vértices do Objeto marcado como "Soft Body" (Corpos Macio) não colidam com o Objeto de Colisão, não haverá Interação entre os Objetos.

Dentro da (Imagem 3a), você pode ver um Vértice colidindo com um Plano. Caso um Vértice penetre na Zona que está marcada como para delimitar as partes "Outer" (Externa) e "Inner" (Interna), ele será repulso por uma força na direção da Normal da Face. A posição na qual o Vértice finalmente para ou termina é dependente das forças que agem sobre ele. No exemplo, a gravidade e a força de repulsão são balanceadas. A velocidade na Qual o vértice é empurrado para fora da zona de colisão é influenciado pelo parâmetro "Choke" (Mola) (Imagem 4).

Agora vamos ver o que acontece se fizermos que que os vértices sejam mais pesados e ao mesmo tempo trafegando com uma maior velocidade. Dentro da (Imagem 3b), você pode ver os Vértices viajando em diferentes velocidades. Os dois na parte mais a direita, (os de Número 5 e 6) estão trafegando tão rapidamente que eles passam através da Zona de Colisão (isto é deviso ao fato do padrão de precisão do resolvedor (solver) – o que poderemos consertar mais tarde). Você irá notar que o quarto vértice também trafega bem rápido e pelo fato de ser mais pesado, ele abre brechas na zona mais interna. Os primeiros três vértices tem as suas colisões normais ocorrendo, e estão OK.

Imagem 3d: Também as Arestas (Edges) e Faces (Faces) podem ser utilizadas para a calculação da Colisão.

Você pode configurar a sua Colisão de uma maneira que "Edges" (Arestas) e até "Faces" (Faces) sejam incluídas na calculação da Colisão (Imagem 3d). A Colisão é então calculada diferentemente. Será checado se "Edges" (Arestas) ou "Faces" (Faces) inter-secionam com o Objeto de Colisão, as zonas de Colisão não são utilizadas.

Boas Colisões

Imagem 4: Parâmetros para a calculação de Soft Body.

Caso a colisão que você tenha configurado não esteja tendo um comportamento apropriado, você pode tentar as seguintes opções:

Blender3D FreeTip.gif
A Melhor maneira
Adicione mais "Loop Cuts" (Anéis ou Cortes de Volta) para o seu Objeto marcado como Soft Body em áreas estratégicas que você sabe que estão mais envolvidas com a simulação de Colisão.


  • O Objeto "Soft Body" (Corpo Macio) deve ter mais subdivisões do que o Objeto de Colisão.
  • Cheque a direção das Normais da Face.
  • Caso o Objeto de Colisão possua quinas ou pontas, eles podem penentrar o Objeto marcado como "Soft Body" (Corpo Macio).
  • A Resolução do algoritmo do resolutor (solver) deve bater com a velocidade na qual os Vértices do Objeto marcado como "Soft Body" (Corpo Macio) estão trafegando. Você pode baixar o parâmetro Error Lim e cuidadosamente aumentar o fator de Min S.
  • Os limitadores "Outer" (Externo) e "Inner" (Interno) devem ser largos o suficiente, mas as Zonas de Faces opostas não devem se sobrepor/cruzar, ou então você terá forças em direções opostas.
  • Caso você utilize grandes forças, você deverá utilizar grande zonas.
  • Configure o fator de "Choke" (Mola/Choque) para um valor alto o suficiente (no máximo, totalmente no alto, caso necessário) se você tiver dificuldades com vértices repelidos.
  • A Colisão entre Faces é mais difícil de controlar e necessita grandes tempos de calculação. Tente não utilizá-las.

Muitas vezes, é melhor criar uma Malha simplificada para ser utilizada como o seu Objeto de Colisão, contudo isso pode ser difícil caso você esteja utilizando uma Malha animada.

Fatores de "Self Collision" (Colisão Interna/Consigo)

Bem, isso funciona muito bem se você simplesmente ligar da maneira que está. Veja a documentação da página de Referência para uma explicação detalhada dos parâmetros.