A simulação de fluídos é construída com 2 elementos fundamentais e 1 terceiro de grande utilidade: o fluído, o domínio e os obstáculos. O fluído é a malha que vai constituir o líquido (ou seja, se quisermos um líquido vermelho, é o objeto ao qual atribuímos um material de cor vermelha), o domínio é a malha que vai delimitar a área onde existe o líquido, os obstáculos são os objetos que não são atravessados pelo o líquido (por exemplo: um copo, etc.).
1- Aumente o cubo inicial (Cubo1) de modo a ocupar uma larga área do enquadramento da câmara.
2- Introduza um novo cubo (Cubo2), diminua o seu tamanho e coloque-o totalmente dentro do Cubo1, perto do topo.
3- Selecione o Cubo2, ative o painel de Physics, ative o Fluid e selecione o Type Inflow. Atribua valor 0.200 na Inflow Velocity no eixo X ou Y (depende da sua cena) para o líquido não cair na vertical e descrever um arco (repare nas imagens em cima).
4- Selecione o Cubo1, repita os passos mas atribua o Type Domain.
5- No painel de configuração do Domain, altere o valor de End para 10 segundos e clique em Bake para calcular a animação do líquido.
6- Depois de concluído o processo de Bake, pode fazer ALT+A para ver a animação.
7- Deverá ter surgido uma nova malha (o líquido), selecione-a e atribua-lhe um material. Aplique um Smooth (painel de Ferramentas/Tools). Renderize para ver o aspeto.
8- No painel de configuração do Domain, pode melhorar a resolução final do líquido subindo o respetivo valor (inicialmente deverá estar definido para 65) mas tenha em atenção a memória necessária para o cálculo. Se alterar a resolução, faça novo Bake.
9- Depois de estar satisfeito com o fluído, se já não vai fazer um novo Bake, pode enviar o Cubo2 para outro layer, para este não ser visível durante a renderização.
10- Pode renderizar a animação.
a) Crie uma animação seguindo o processo atrás descrito. Depois, na configuração do Domain, ative a opção Reverse Frames e renderize uma nova animação.
b) Altere o Cubo2 de Inflow para Fluid, faça novo Bake e renderize animação. Depois, pode utilizar novamente o Reverse Frames e voltar a renderizar.
c) Na configuração do Domain, experimente outros tipos de viscosidade e alterar a dimensão da simulação (dimensão do cubo que serve de Domain) para obter resultados diferentes.
d) Introduza outros objetos de Type Obstacle dentro do Domain para interferir com o líquido.
1- Se fizer alterações que afetem a simulação (i.e. introduzir novos obstáculos, redimensionar o domain, etc.) , tem de fazer Bake novamente. Imagine que depois de fazer um Bake decide que afinal pretende um copo mais alto ou cúbico, se alterar a forma do copo e não fizer novo Bake o líquido vai continuar com o mesmo comportamento e ignora a nova forma. É claro que, por vezes, esta possibilidade pode ser útil para criar um efeito especial qualquer. Imagine que coloca um cubo Obstacle que faz com que o líquido altere o seu percurso durante o Bake, se, antes de renderizar, apagar o Obstacle, o líquido vai continuar a comportar-se da mesma maneira, como se chocasse contra um obstáculo invisível...
2- Geralmente, o processo de construção de uma simulação de fluidos segue estes passos:
Criar os objetos e a cena;
Definir o Domain da simulação, onde o fluído existe;
Definir a função dos vários elementos da cena: obstáculos, etc.;
Criar a origem do fluído e suas características;
Bake: calcular a simulação;
Rever e Bake final;
Renderiza animação.
3- Principais parâmetros de configuração:
O painel Fluid define os limites da existência da simulação do fluído.
A simulação pode ser visível em 3 modos: Final, Preview e Geometry. É possível escolher que modo pretende ver quando renderiza e que modo está visível na janela de 3D. Geralmente, quando renderiza pretende ver a simulação com a qualidade final e na janela de 3D é suficiente ver em qualidade Preview.
A resolução é o principal atributo que define a qualidade (e tempo que demora!) da simulação. Pode definir uma resolução para o Final e para o Preview.
O modo Geometry mostra o líquido representado por uma caixa virtual com 6 lados que representa a extensão máxima do objeto.
Time: o tempo de início e fim da simulação. O Start define o início do tempo (em segundos) da simulação na primeira frame, O End especifica o tempo (em segundos) da simulação na última frame.
Se o Start estiver no 0 e o End no 4, se a primeira frame for a 1 e a última a 100, se estiver a trabalhar com 25 Frames Per Second, a sua simulação durará 4 segundos.
Se definir o Start para 2 segundos, o conteúdo da primeira frame da simulação será igual ao que surgiria se a simulação já tivesse começado há 2 segundos. Se definir o Start para 2 (segundos) e o End para 5 (segundos) e a sua animação estiver configurada para durar 250 frames e 25 FPS, a animação que irá obter será equivalente a 3 segundos de simulação em 10 segundos de tempo. Ou seja, o líquido irá comportar-se como se estivesse a ser filmado em câmara lenta.
Reverse Frames: inverte a ordem das frames. Se já fez Bake e ativar esta opção, quando renderizar a animação o líquido “anda para trás”.
Path: pasta onde irá armazenar os ficheiros de Bake (necessários para renderizar a animação). Estes ficheiros não são eliminados automaticamente mas não os apague antes de renderizar ou terá de voltar a fazer Bake.
No painel Fluid World pode definir valores para a gravidade (terá de desbloquear estes valores no painel de Scene) se não quiser utilizar os valores que correspondem à gravidade do planeta Terra.
Ainda neste painel, pode definir o tipo de viscosidade do liquido (existem alguns líquidos pré-definidos mas é possível definir valores personalizados) e a dimensão em metros do Domain (até um máximo de 10 metros).
No painel Fluid Boundary pode definir o tipo de Slip: No Slip (o limite tem resistência, é “pegajoso”), Free Slip (o limite permite ao fluído mover-se livremente, sem resistência) e Partial Slip (mistura dos outros dois tipos e pode definir o Amount, sendo que 0 é igual a No Slip e 1 é igual a Free Slip).
Neste painel pode ainda definir valores para Subdivisions (permite criar superfícies de líquido com alta resolução e é um valor necessário se quiser gerar partículas) e Smoothing (quantidade de Smooth a aplicar na face do fluído).
No painel Fluid Particles pode definir valores para:
Tracer particles: nº de partículas a inserir no início da simulação (para mostrar estas partículas tem de ter outro objeto do tipo Particle). Pense na espuma de uma onda.
Generate Particles: nº de partículas do fluído (0 = desligado; 1= normal; >1 = mais).
Object Fluid: as partes deste objeto que estiverem dentro do Domain serão o fluído.
Volume: funciona só quando a mesh é fechada, o interior do objeto é o fluído.
Shell: funciona também quando o objeto é aberto, as faces são líquido.
Both: funciona só quando a mesh é fechada, combina as anteriores.
Initial Velocity: velocidade do fluído no início da simulação.
Object Obstacle: objeto será utilizado como obstáculo.
Volume, Shell e Both: ver objeto Fluid.
No Slip, Free Slip e Partial Slip: ver acima Domain Boundary.
Impact factor: impacto dos objetos animados (só se aplica a objetos em movimento) no fluído quando colidem.
Object Inflow: Objecto gera fluído (é uma “torneira”).
Object Outflow: Objecto absorve fluído (“ralo” da banheira).
Object Particle e Control serão abordados noutro tutorial.
Para facilitar a configuração básica de diversos efeitos (i.e. Smoke/Fumo, Fluid/Fluído, Explode/Explosão e Fur/Pêlo), foram criados Quick Effects Operators.
a) Selecione o objeto que irá servir de fluído e clique na Barra de Espaços.
b) Escreva Quick Fluid e clique no Enter.