sábado, 12 de setembro de 2009

Como simular um vidro quebrável no Blender

Vidro quebrando - previsão

Neste tutorial estarei explicando como simular um vidro quebrável através de um projétil, usando partículas e o modificador Explode. Também, estarei explicando como controlar o tamanho dos cacos de vidro.

Primeiro de tudo, adicione um plano, gire-o em 90° no eixo X e, aplique o modificador Subsurf, do tipo Simple, nível 6.

Propriedades de transformação do plano Modificador Subsurf

Após isso, vá ao modo de edição, selecione todas as faces (A), vá para o menu Malha -> Faces -> Convert Quads to Triangles. Isso ajudará as faces se parecerem com cacos de vidro, quando elas se separarem.

Convertendo quadrados para triângulos

Agora vá para a seção Object (F7) -> Particle buttons, e adicione um novo sistema de parículas, do tipo Emitter.

Adicionando um sistema de partículas

Ajuste Amount (quantidade de partículas) para a quantidade de faces no plano ou um número menor (neste caso, 4096 é a metade, já que houve a transformação de quadrados para triângulos, resultando em 8192 faces), Sta e End para 13 (frame anterior a colisão), Life para o último frame da simulação (neste caso, 250). Na área Physics, em Random, deixe 1.000 e, em AccZ, deixe -9.80 (força da gravidade da Terra). Para dar mais realismo, na mesma área, configure Angular v para Spin. Isso permitirá os cacos de vidro girarem enquanto caem.

Configurando partículas do tipo Emitter

Em Visualization, escolha None na lista e clique em Render Emmiter. Isso fará com que as faces se orientem às partículas.

Visualização das partículas Renderizar emissor

Adicione o modificador Explode, e garanta que ele seja sempre o próximo modificador, depois de ParticleInstance, na pilha (conhecida como Stack). Nesse modificador, selecione Split Edges. Isso dará um melhor resultado, subdividindo as faces durante a simulação.

Adicionando o modificador Explode Configurando o modificador Explode

Adicione outro plano, que será o chão. Em Physics buttons, na área Collision, clique no botão Collision. Dê o valor 0.80 para Damping e Friction. Damping evitará que os cacos fiquem pulando infinitamente e, Friction evitará que fiquem tremendo.

Propriedades de transformação do segundo plano Propriedades de colisão

Adicione uma esfera e o ajuste, e ative a colisão, de acordo com os valores das imagens abaixo:

Propriedades de transformação da esfera Propriedades de colisão

Depois, insira uma chave para Loc (i). Mova para o frame 25, mova a esfera para o lado do plano, no eixo X, e insira outra chave para Loc. Isso equivale a 1 segundo, mas pode variar, dependendo do valor escolhido na seção Scene (F10). Volte para o frame 1.

Chave Loc

Inicie a animação (Alt-A). O Plano irá quebrar quando for atingido pela esfera.

Vidro quebrando - previsão

Para cacos maiores, use um valor para Amount, inferior ao número de faces no objeto que quebrará. Para manter realismo nos cacos maiores, deve-se usar um valor para Amount, pelo qual a divisão da quantidade de faces pela quantidade de partículas, resulte em um número real (4096 ÷ 27 = 151,703).

Vidro quebrando (27 cacos)

A quantidade de cacos será igual a quantidade de partículas, se não houver mais partículas do que faces.

Postagens relacionadas

4 comentários:

Unknown disse...

cara como eu uso esse modificador na game engine ?!

Ricardo Veloso disse...

Infelizmente, esse modificador, ainda não é suportado pela game engine; apenas renderizações. Mas você pode improvisar, criando vários cacos e usando a física para simular esse modificador, ou então usando scripts Python.

Anônimo disse...

Belo tutorial. Infelismente, o vidro quebra inteiro em vez de começar pela parte que se chocou com a esfera.

Ricardo Veloso disse...

O tutorial foi feito baseando-se em vidros que se quebram por inteiro (temperados), de uma vez só... Entretanto, para aqueles vidros que não se quebram por inteiro (laminados), pode-se usar as partículas do tipo Reactor. Eu farei outro tutorial abordando esse tipo de vidro.

Postar um comentário