Neste tutorial, veremos como preencher um recipiente com objetos usando a simulação Rigid Body do Blender.



Transcrição do vídeo

Olá a todos!

Neste tutorial, veremos como preencher um recipiente com objetos usando a simulação Rigid Body do Blender.

Estou gravando este tutorial com a versão 3.3 do Blender e, para mostrar um exemplo prático, usarei um dos meus assets chamado Pharma capsule pills and bottle.

Você pode assistir ao tutorial e aprender mesmo sem esse modelo específico.

O importante é entender a técnica, que pode ser útil para posicionar muitos objetos de uma maneira aleatória, mas crível, não apenas dentro de recipientes, mas também em superfícies. Os princípios são os mesmos e você pode aplicá-los a pílulas, doces, moedas de ouro ou qualquer outra coisa!

O modelo 3D que estou usando é, na verdade, composto por vários objetos que estão relacionados entre si.

Não precisamos da tampa, então podemos esconder ou removê-la, como estou fazendo.

Temos três objetos: o recipiente, o rótulo e um objeto que representa todas as pílulas, que foram fundidas em um único objeto. Podemos examiná-los mais de perto ocultando temporariamente o recipiente e o rótulo.

Para criar a simulação, precisamos isolar uma pílula e dar a ela um componente físico Rigid Body, e então duplicar o protótipo da pílula e iniciar a simulação da queda.

Com o objeto Pills selecionado, troco para o modo Edit, depois seleciono uma pílula colocando o cursor do mouse sobre um vértice de uma pílula e pressionando L (ou seja: Linked), e seleciono todos os elementos conectados ao que está próximo ao cursor do mouse.

Então, inverto a seleção com CTRL I e deleto todas as outras pílulas com X e Vertices.

De volta ao modo Object, percebo que a Origin do objeto Pills não está posicionada no centro da única pílula restante. Corrijo imediatamente com um clique direito, Set Origin e Origin to Geometry.

Também me certifico de que as transformações de escala são aplicadas. É fácil verificar, porque os valores Scale XYZ do objeto no painel Transform estão todos definidos como 1. Se não estivessem, precisaríamos aplicá-los com CTRL A e Apply Scale.

Agora, torno o recipiente visível novamente porque quero verificar se a pílula está posicionada de forma que possa passar pela abertura do recipiente. Tentarei soltar as pílulas dentro dele a partir de cima.

De fato, nesta posição, a pílula não pode cair dentro do recipiente, então a movo manualmente para que, na vista superior, ela esteja dentro da abertura.

A linha pontilhada que conecta a pílula ao recipiente indica que a pílula é um filho do recipiente. Isso poderia ser um problema com as cópias da pílula e a simulação física, então desvinculo os dois objetos mantendo a posição e outras características da pílula. Para fazer isso, seleciono a pílula, pressiono ALT P e escolho Clear and keep transform no menu Clear Parent.

A pílula agora é um objeto separado.

Antes de criar as cópias, preciso dar à pílula um componente de simulação Rigid Body para que ela já esteja pronta nas cópias que farei mais tarde.

Para adicionar o Rigid Body, simplesmente clico em Rigid Body no painel Physics Properties, como acabei de mostrar.

O Rigid Body recém-criado será do tipo Active por padrão, o que é bom porque o objeto precisa reagir à gravidade.

Para observar a simulação física neste ponto, definimos o quadro de animação para 1 na Timeline e pressionamos Play. A pílula cai e passa pelo recipiente porque ainda não faz parte da simulação física da cena.

Para fazer o recipiente pegar a pílula, precisamos dar a ele um componente Rigid Body como fizemos para a pílula, mas desta vez precisamos imediatamente alterar seu tipo para Passive, porque ele não deve cair no vazio, mas apenas interagir com os outros objetos.

Para iniciar a simulação física com as alterações que acabamos de fazer, precisamos voltar ao primeiro quadro da animação na Timeline e clicar no botão Play novamente.

Imediatamente notamos que a pílula cai e, de certa forma, interage com o recipiente, mas de uma maneira que não esperávamos: ela fica presa na abertura, suspensa no ar, como se a abertura estivesse fechada.

Isso ocorre porque a forma usada pelo Blender para calcular as colisões do recipiente no painel Rigid Body é a padrão, que é Convex Hull: uma caixa fechada usada para simplificar os cálculos do motor de simulação física.

Para resolver esse problema, altero o valor do parâmetro Shape de Convex Hull para Mesh: o Blender agora aproximará a forma das colisões à do recipiente.
 
Como você pode imaginar, esse modo consome bastante recursos e deve ser usado com moderação. Neste caso, a cena não é muito complexa, então está tudo bem, mas em outras situações, você pode precisar avaliar se usará as outras opções disponíveis no menu Shape do Rigid Body.
 
Em relação à pílula, você pode escolher, por exemplo, a forma Capsule, que a aproxima muito bem... de qualquer forma, aqui estou deixando a opção padrão, que é Convex Hull.
 
Vamos voltar ao primeiro quadro da Timeline, clicar em Play e observar o resultado: desta vez a pílula cai dentro do recipiente e quica algumas vezes no fundo antes de parar.
 

Note que a simulação começa a desacelerar quando a pílula toca o fundo do recipiente. Isso ocorre porque o Blender está calculando as colisões.

Quando adicionarmos as outras pílulas, a simulação prosseguirá muito mais lentamente porque, obviamente, haverá mais cálculos a serem realizados.

Vamos voltar ao primeiro quadro da simulação.

Queremos obter uma série de pílulas empilhadas umas sobre as outras para soltá-las dentro do recipiente, deixando o Blender lidar com a tarefa de levar todas as pílulas a uma posição final após calcular as colisões com as paredes do recipiente e entre as pílulas.

Obter as várias cópias da pílula é realmente bem simples: só precisamos adicionar um modificador Array à pílula, definindo o deslocamento relativo como 0 para os eixos X e Y e definindo-o como 2 para o eixo Z relativo.

Não faço ideia de quantas pílulas podem caber dentro do recipiente (não as contei no início do vídeo), então vou tentar com 40 pílulas, inserindo este número no parâmetro Count do modificador Array.

Não podemos aplicar a simulação agora porque este ainda é um modificador que não foi aplicado ainda, então todas as pílulas ainda são instâncias, não objetos separados.

Então, aplico o modificador clicando em Apply no seu painel.

No entanto, as pílulas ainda fazem parte de um único objeto: são geometrias que precisamos tornar independentes.

Para fazer isso, simplesmente precisamos entrar no Edit Mode, selecionar todas as geometrias, pressionar P e escolher By loose parts no menu Separate que aparecerá na tela. Dessa forma, como a dica sugere, obteremos um objeto para cada ilha, ou seja, para cada geometria separada.

Vamos voltar ao modo Object e notar que todas as novas pílulas são, de facto, objetos separados, como também pode ser visto no Outliner.

Estes objetos todos têm o componente Rigid Body configurado como fizemos para a primeira pílula, que serviu de protótipo para todas as outras...

...no entanto, também podemos ver que a Origin de cada cópia ainda está onde a Origin da primeira pílula estava!

Este problema pode ser facilmente resolvido: selecionamos uma das cópias para torná-la o objeto ativo, depois selecionamos todas as outras cópias. Estou fazendo isso com a tecla B e o mouse. Depois, clique com o botão direito na seleção, e escolha Set Origin e Origin to Geometry no menu Object Context que aparece na tela.

Agora todas as pílulas são objetos separados, com as Origins definidas corretamente, e todas têm o componente Rigid Body configurado corretamente.

Podemos então ir ao primeiro quadro da Timeline e iniciar a simulação clicando no botão Play.

Neste caso, a simulação levará vários minutos, então mostrarei o resultado imediatamente.

De fato, talvez 40 pílulas tenham sido poucas para este recipiente!

De qualquer forma, podemos observar a disposição das pílulas interrompendo a reprodução da animação em vários pontos.

Vamos ao último quadro da animação e escondemos temporariamente o recipiente e o rótulo: as pílulas estão em uma posição de repouso plausível, sem espaços vazios ou interseções, então os quadros da animação são suficientes para obter um bom resultado.

A animação é interessante, mas o tutorial ainda não está completo. Se quiséssemos exportar o resultado desta simulação física, com as pílulas dispostas dentro do recipiente como estão no último quadro da animação, precisaríamos de alguma forma tornar a simulação física permanente.

A operação de remover o componente Rigid Body da aba Physics das pílulas NÃO deve ser feita, nem as pílulas devem ser fundidas juntas ou com o recipiente. Essas operações nos fariam perder a simulação física e teríamos que começar tudo de novo!

Em vez disso, devemos nos posicionar no quadro que queremos finalizar, por exemplo, o último, depois selecionar uma pílula, para que tenhamos pelo menos um objeto ativo na seleção, e depois selecionar todas as pílulas. Para fazer essa seleção, podemos usar a tecla B e o mouse.

Com todas as pílulas selecionadas, uma das quais está ativa, devemos procurar por Apply Transformation na caixa de pesquisa do Blender, que no meu caso posso invocar com a barra de espaço, e então escolher a opção sob a seção Rigid Body, já que queremos aplicar as transformações do Rigid Body.

Ainda não terminamos: precisamos abrir novamente a caixa de pesquisa e começar a digitar Remove Rigid Body, pois agora queremos remover o componente Rigid Body de todas as pílulas selecionadas. Devemos selecionar a operação Object Rigid Body Remove.

Agora a simulação é permanente: movendo entre os vários quadros da Timeline, podemos ver que as pílulas não se movem mais e não possuem mais o componente físico Rigid Body.

Neste ponto, este objeto pode ser exportado para ser usado em outros cenários.

As pílulas são malhas individuais, cada uma com a Origin no centro de sua geometria, então cabe a você decidir se vai deixá-las como estão ou agrupá-las, torná-las parentes ou até mesmo mesclá-las juntas; escolha de acordo com suas necessidades.

É isso para este tutorial! Até breve!

Este site tem como único objetivo apresentar alguns dos meus trabalhos, sem qualquer finalidade promocional. Observe que, no momento, não estou procurando - nem responderei a - solicitações de trabalhos personalizados, consultorias ou qualquer outro tipo de colaboração profissional.


INFORMAÇÕES DE POLÍTICA DE PRIVACIDADE AVANÇADAS E USO DOS FICHEIROS DE COOKIES