Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Ricardo   Montreal - Quebec - Canada - AC
Gaona   Brasil - AC
Marcel 3d   Tatuí - SP
WDDESIGNER   São Paulo - AC
Nabucodonossor   Porto Alegre - RS

Portfólios Ver Mais

pixer3d   Belo Horizonte - MG
belobeto   Salvador-BA - AC
annaluiza   Mairiporã-SP - AC
Zemer   Brasil - AC

Tutoriais - 3ds max avançado

Metaparticles e Dynaflect

Neste tutorial estudaremos o funcionamento dos Dynaflects, Deflectors e MetaParticles. Os Dynaflects foram adicionados no 3D Studio Max 3, para atribuir propriedades físicas nas partículas, os Deflectors existem desde a primeira versão, eles refletem as partículas.

MetaParticles são partículas especiais que se comportam como líquido, se unindo quando estão próximas, usadas para simular qualquer fluído com realismo. Elas estão disponíveis em alguns emissores non-driven do 3ds max, portanto, estudaremos o Super Spray também, os menus e opções são os mesmos em todos os sistemas que tem este recurso.

Para começar, crie um Plane como piso, ou um Box, se você usa uma versão anterior ao 3ds max 4. Faça um Box sobre o piso, como mostra a imagem ao lado.
Vamos fazer rapidamente um objeto para espirrar água, crie a linha de perfil, depois aplique o Modify Lathe, para revolucionar o perfil e gerar o objeto, por fim, aplique um Modify Bend com a opção Limited, para curvar a ponta, como mostra a imagem ao lado. Estas ferramentas já foram explicados em detalhes nos tutoriais básicos de 3ds max aqui no site www.tresd1.com.br. Leia os tutoriais Shapes, Lathe e Modifiers 1, se ainda não conhece essas ferramentas.
Para terminar de montar a cena, coloque o cano que criamos bem na frente da caixa, depois, crie uma esfera em cima dela, coloque uma luz na cena e uma câmera, focando a caixa, a esfera e o cano, como mostram as imagens ao lado.

É muito importante que a malha da esfera não entre dentro da malha da caixa, portanto, coloque em zoom e posicione a esfera um pouco acima dela, deixando um pequeno espaço entre a caixa e a esfera.
Em seguida, vá no painel Creat e entre no item Particle Systems da lista, clique no botão Super Spray e crie este elemento na vista Left, pode ser qualquer outra, mas na vista Left você não terá que rotacionar. A disposição dos botões nas versões mais recentes do 3ds max é diferente, mas o Super Spray está lá entre eles.
Ajuste o tamanho do Gizmo do Super Spray, para ficar adequado com a cena, depois, posicione-o na abertura do cano, deixando a seta do Gizmo apontada para a esfera, como mostra a imagem ao lado. Você pode ler mais sobre o Super Spray e sobre outros sistemas de partículas, como o PArray, aqui na seção Tutoriais do site www.tresd1.com.br.
Arraste a barra de Frames abaixo das Viewports, verá que as particulas são emitidas pelo Super Spray, mas elas saem em linha reta e não reconhecem a esfera, atravessam ela, como mostra a imagem ao lado.
O próximo passo é tornar a esfera \"sólida\" para estas partículas. Vá no painel Creat e clique no icone Space Warps, escolha a opção Deflectors na lista deste painel, como mostra a primeira imagem ao lado. No Max 3 o nome do item é Dynamics Interface, como mostra a segunda imagem ao lado, o Max 2 não contava com este recurso.

Clique no botão UDynaFlect, depois, clique na Viewport e arraste, para criar o Gizmo do Universal Dynamic Deflector. Posicione-o num canto da cena onde não atrapalhe, este objeto não aparece no render, ele é apenas um ícone que indica uma determinada força na cena.
Com o UDynaFlect selecionado, vá no painel Modify e clique no botão Pick Object, em seguida, clique sobre a esfera na Viewport, o nome da esfera aparece logo acima do botão, como mostra a primeira imagem ao lado.

Abaixo, você encontra os parâmetros do UDynaFlect, diminua o Bounce para 0.1, assim, as partículas vão pular menos quando baterem na esfera. Mude o valor de Chaos para 0.1 também, isso criará uma pequena distorção quando as partículas refletirem na esfera. Modifique o valor de Friction para 0,2, atribuindo um pouco de atrito no contato da esfera com as partículas.

Agora, o mais importante, e pode variar conforme o tamanho e a distância dos objetos na cena. É o parâmetro Mass, ele atribui um peso em gramas, kilos ou Libras em cada partícula que colidir com a esfera. Eu usei 30 gramas no meu exemplo, dependendo da sua cena, pode ser necessário aumentar ou diminuir, isso veremos mais adiante.
Todos os Space Warps só atuam sobre as partículas que você lincar, mas não é o Link comum, é o Link próprio de Space Warps.

Clique no ícone Bind to Space Warps, como mostra a primeira imagem ao lado, ele fica à direita do Unlink em todas as versões do 3ds max. Depois, clique no Super Spray e arraste até o UDynaFlect, o cursor muda de forma e quando soltar o mouse, os dois objetos ficam brancos por um momento, assim, o Super Spray foi lincado com o UDynaFlect.

Você pode conferir no painel Modify, o UDynaFlector Binding deve aparecer sobre o Super Spray, como mostra a primeira imagem ao lado. Até o Max 3 você precisa abrir a lista do Edit Stack para ver o Super Spray abaixo, como mostra a terceira imagem ao lado. Se mover a barra de frames, abaixo das Viewports, verá que as partículas estão reconhecendo e colidindo com a esfera, como mostra a última imagem ao lado.
Vamos criar os outros objetos defletores que serão necessários na cena. As partículas precisam reconhecer também a caixa e o piso. Entre no painel do Space Warps e escolha a opção Deflectors na lista, como mostra a primeira imagem ao lado. Até o Max 3 você deve escolher a opção Particles Only, como mostra a segunda imagem ao lado.
Clique no botão UDeflector, depois, clique na Viewport e arraste para criar o Gizmo. Posicione-o num canto da cena onde não atrapalhe, como fizemos com o UDynaFlect. O UDeflector também não aparece no render, ele é apenas o ícone de uma força aplicada na cena.
Clique no botão Pick Object, em seguida, clique na caixa abaixo da esfera, o nome do objeto aparece acima do botão, como mostra a imagem ao lado. Depois, ajuste o Bounce para 0.4, assim, as particulas pulam menos quando colidirem com a caixa. Modifique o valor de Chaos para 0.1, fazendo as partículas se desviarem um pouco quando refletirem na caixa. Modifique o valor de Friction para 0.3, atribuindo um pouco de atrito na colição das partículas com a caixa.
Podemos usar um defletor mais simples no piso, porque é apenas um plano. Ainda no menu Deflectors do Space Warps, clique no botão Deflector. Até o Max 3 você deve acessar a opção Particle Only no Space Warps, como mostra a segunda imagem ao lado.
Clique na Viewport e arraste para criá-lo. Neste caso, o tamanho e a posição do Gizmo é importante, ele é um plano também, e onde ele estiver, as partículas lincadas não passarão. Crie este plano num tamanho que consiga receber todas as partículas, não precisa ser exatamente do tamanho do piso, mas deve ocupar toda a área ao redor da caixa e do cano, pois é onde as partículas irão cair.

Poderia usar apenas o Deflector na caixa também, colocando um na parte de cima e um na frente, pois são as partes onde as partículas vão colidir. Mas o UDeflector é mais prático.
Agora, use o zoom para aproximar bastante na vista Front, posicione o Deflector acima do piso, não coloque na mesma altura, deixe-o um pouco acima, como mostra a imagem ao lado. O Deflector reconhecerá as partículas pelo centro delas, por isso é melhor colocar o defletor um pouco acima. Vá no menu Modify e modifique o valor do Bounce para 0.1, assim, as partículas vão pular menos quando colidirem com o defletor.
Ainda falta uma força importante na cena, a gravidade, ela que fará as partículas cairem no piso.

Entre no painel do Space Warps e escolha o item Forces na lista, é a primeira opção, como mostra a primeira imagem ao lado. Até o Max 3 você deve escolher o item Particles & Dynamics, como mostra a segunda imagem ao lado.

Clique no botão Gravity, depois, clique e arraste na Viewport para criar o Gizmo. Mova-o para um canto da cena onde não atrapalhe, ele também não aparece no render, apenas indica uma força aplicada na cena.
Igualmente fizemos com o UDynaFlect, é necessário lincar estas forças no Super Spray, só assim elas atuarão sobre ele. Clique no ícone do Bind to Space Warp, depois, clique no Super Spray e arraste até o UDeflector, como vimos anteriormente, assim, o Super Spray fica lincado com o UDeflector, aparecendo o UDeflector Binding no Edit Stack do menu Modify. Faça o mesmo para o Deflector e para o Gravity. Os dois também aparecem lincados com o Binding no Modify, como mostra a primeira imagem ao lado. Até o Max 3, é necessário abrir a lista no Edit Stack para ver as forças lincadas no Super Spray, como mostra a última imagem ao lado.
Agora, arraste a barra de frames abaixo das Viewports. Você verá que as partículas refletem na esfera, na caixa e também no piso, como mostra a imagem ao lado. Elas também sofrem a ação da gravidade, fazendo-as cair em vez de seguirem em linha reta, igual acontecia anteriormente. Se as partículas estão caindo antes de atingir a esfera, você pode corrigir aumentando o valor do Speed no Super Spray. Você pode ler mais sobre os detalhes do Super Spray nos tutoriais Água e Fumaça, aqui na seção Tutoriais do site www.tresd1.com.br.
Precisamos ajustar melhor os parâmetros do Super Spray, para dar um aspécto mais real de fluído, deixando-o mais parecido com um jato de água. Selecione o Super Spray e entre no menu Modify, coloque o valor 3 no primeiro Spread e 50 no segundo Spread, como mostra a imagem ao lado. Isso vai aumentar o leque e variar a emissão das partículas. Se você não alinhou perfeitamente o Super Spray com a esfera, pode ajustar a posição do jato no valor de Off Axis.
Mais abaixo você encontra o menu Particle Generation, coloque 8 no campo Use Rate, como mostra a imagem ao lado. Este valor indica a quantidade de partículas que serão emitidas no render. O valor 8 é bom apenas nos testes da cena, para fazer um render rápido e ver o comportamente das MetaParticles. Depois de tudo pronto, quando for renderizar a animação final, você deve aumentar este valor para 20, no mínimo. Nas Viewports são mostradas apenas 10% das partículas, este valor é configurado no menu Basic Parameters, o primeiro do Super Spray. Você pode ler mais sobre os detalhes do Super Spray aqui nos tutoriais do site www.tresd1.com.br.
Se as suas partículas estiverem muito lentas, aumente o valor do Speed no menu Particle Generation. Coloque o valor 10 em Emit Start, para só começar emitir as partículas no quadro 10. Coloque o mesmo número de quadros da sua animação no campo Emit Stop, para o Super Spray emitir partículas até o último quadro da animação. O mesmo vale para Display Until e Life, estes dois parâmetros também devem ter o mesmo número de quadros na animação, para as partículas serem mostradas e durarem até o fim da animação.
Logo abaixo, ainda no menu Particle Generation, coloque o valor 3 em Size, para deixar as partículas maiores. Este valor define o tamanho das MetaParticles que vão gerar o fluído, e depende do tamanho da cena, você precisa ajustar de acordo com a sua. Se for muito baixo, pode nem formar o líquido, e se for muito alto, as partículas aparecerão como bolas. Você poderá ajustar isso melhor depois que renderizar um teste. Coloque 0 em Grow For e Fade For, para que as partículas tenham o mesmo tamanho no inicio e no final da emissão.
Mais abaixo, escolha a opção Meta Particles no menu Particle Type.
Este tipo de partícula é muito pesado e exige bastante memória RAM, máquinas fracas não vão conseguir fazer desta forma, o render vai travar o computador. Se você tem uma máquina fraca, não use este tipo de partículas. Você pode simular de outras formas, mas não ficam tão boas quanto MetaParticles. Leia o tutorial Super Spray - Água, aqui na seção Tutoriais do site www.tresd1.com.br. Outra opção é usar Standard Particles e habilitar a opção Sphere logo abaixo, assim, em vez de fluído, será um monte de bolinhas.

As MetaParticles têm a propriedade de se unirem quando estão próximas, formando um Mesh só e ficando muito bom em líquidos, mas é pesado para o computador calcular, pois esse Mesh é gerado na hora, de acordo com as posições das partículas no Frame.
Você pode ajustar a resolução da malha das MetaParticles no grupo MetaParticles Parameters, logo abaixo, no mesmo menu Particle Type, como mostra a primeira imagem ao lado. Desabilite a opção Automatic Coarseness para disponibilizar os campos acima. No campo Render você define a resolução na hora da renderização, no campo Viewport você define a resolução na vista do programa. Quanto maior este valor, menos resolução terá a malha das MetaParticles, deixando o render mais rápido, mas diminuindo a qualidade do líquido. Como mostram as duas últimas imagens ao lado. Use valores altos se tem uma máquina fraca.
Você só verá as MetaParticles nas Viewports, se habilitar a opção Mesh do grupo Viewport Display, no Menu Basic Parameters, o primeiro do Super Spray, como mostra a segunda imagem ao lado. Logo abaixo, você pode aumentar o número de partículas que serão exibidas na Viewport, se colocar 100, verá todas as partículas, mas vai travar numa máquina fraca. Use valores altos no Viewport do MetaParticles Parameters para exibir a malha com baixa resolução, como mostra a terceira imagem ao lado, assim, poderá mostrar mais partículas na Viewport, mas se o valor for muito alto, não aparece nada, porque a resolução está muito baixa.
Para ficar bom, o material é muito importante. Apesar de não ser o objetivo deste tutorial, vou explicar rapidamente como criar um material realista de água, é bem simples.
Coloque a cor preta em Ambient e Diffuse, coloque a cor branca em Specular, 80 em Specular Level e 60 em Glossiness. Abre o menu Maps e aplique um Ray Trace no Reflection, diminua o valor do Reflection para 25. Coloque um mapa Falloff no canal Opacity, entre nele e mude a cor branca para cinza escuro. Agora, coloque um RayTrace no Refraction, entre no menu Extended Parameters e modifique o valor de Index Of Refraction (IOR) para 1.3, que é o índice da água. Pronto, este é um material de água que pode ser usado no render padrão do programa, no Radiosity e no Mental Ray. Você pode conhecer outro tipo de material para criar água com partículas no tutorial Super Spray - Água, aqui na seção Tutoriais do site www.tresd1.com.br.

Para o reflexo ficar bom, é necessário ter um mundo ao redor, você pode aplicar uma imagem panorâmica de fundo, escolhendo a opção Spherical Environment, ou pode aplicar um Environment no mapa RayTrace do Reflection e do Refraction. Se estiver usando o Mental Ray, pode aplicar a imagem no Slot Environment do menu Mental Ray Connection. É melhor que essa imagem seja no formato HDR. Você pode ler mais sobre Environment no tutorial Background, aqui na seção Tutoriais do site www.tresd1.com.br, e pode ler sobre HDRI no artigo HDRI, a luz da imagem, na seção Artigos aqui do site www.tresd1.com.br.

A primeira versão deste tutorial foi criada no Max 3, quando as configurações de ambiente do programa eram diferentes, sendo assim, usei cores mais claras no Diffuse e não aplique mapa HDR de Environment, pois não havia essa opção. É o material usado nas imagens da simulação mais abaixo.
Falta um efeito muito importante para deixar a água realista, é o Motion Blur. Este efeito cria o rastro dos objetos que se movem rápido, isso acontece com o jato de água e melhora muito o realismo, mas é um efeito pesado de renderizar, demora bastante junto com material refratário em MetaParticles, que já são pesados por si só, mas é importante a sua aplicação neste caso.

Existem formas mais rápidas de aplicar Motion Blur, mas não são realistas e normalmente não ficam boas neste tipo de situação, mas é melhor do que não aplicar, porque essa animação exige este efeito. Uma destas formas está no Properties. Selecione o Super Spray, clique com o botão direito e escolha a opção Properties. Na janela que se abre, encontre o grupo Motion Blur, como mostram as duas primeiras imagens ao lado.

Habilite a opção Object para ligar o Motion Blur neste objeto, você pode controlar o tamanho do rastro no valor de Multipler, na primeira versão deste tutorial eu usei 3. Existe ainda a opção Image, para ser usada quando a câmera se move rapidamente.
A partir do Max 5, tem uma ótima opção para criar Motion Blur realista na câmera, mas é bem demorado no render.

Selecione a câmera, habilite a opção Enable no grupo Multi-Pass Effect, como mostra a primeira imagem ao lado. Escolha o Motion Blur na lista logo abaixo e ajuste o tamanho do rastro no valor de Duration Frames. Quanto maior este valor, maior o tamanho do rastro. Geralmente não fica bom com valores muito altos, de 0.5 até 2 são os valores mais usados. O parâmetro Total Passes controla a qualidade, ele define quantos passos serão usados no render para criar o rastro, quanto mais passos tiver, melhor será a qualidade do rastro, mas também maior será o tempo de render, cada passo desse leva o mesmo tempo de render da cena sem Motion Blur. Veja o resultado do meu teste na última imagem ao lado, usei 16 Passes, compare com a imagem mostrada dois blocos acima, ela não tem Motion Blur e você vê as bolinhas de água como se estivessem paradas.
Com os materiais, luzes e efeitos da cena ajustados, só precisamos fazer a simulação para a água empurrar a bola. A primeira imagem ao lado mostra o render de um quadro intermediário da animação, veja que as partículas batem na esfera e caem no chão, como se a bola fosse de concreto. Essa imagem foi crida na primeira versão deste tutorial com o Max 3, foi usado o Motion Blur do Properties.
Para fazer a simulação com partículas, devemos usar o Dynamics padrão do 3ds max, não o Reactor. O Dynamics se encontra no painel Utilities, como mostra a segunda imagem ao lado. Nas versões mais recentes do 3ds max ele não está nos botões, você precisa clicar no botão More e escolhe-lo na lista. É importante que já tenha lido o tutorial Dynamics Basic, aqui na seção Tutoriais do site www.tresd1.com.br, para conhecer melhor o Dynamics, aqui eu não vou entrar nos detalhes dele, apenas vou mostrar como configurar essa simulação.

Quando escolher o Dynamics, seus menus ficam disponíveis no painel Utilities, como mostra a última imagem ao lado. Clique no botão New para criar uma nova simulação.
Clique no botão Edit Object List, assim, abre a janela para você adicionar os objetos na simulação.
Selecione a caixa, a esfera e o piso, que aparecem no quadro do lado esquerdo, depois, clique na setinha que aponta para o quadro da direita, assim, estes objetos pulam para o quadro da direita e passam a fazer parte da simulação. Veja como é importante colocar nome em todos os objetos que criar na cena.
Clique agora no botão Edit Object, assim, aparece a janela para editar as propriedades dos objetos. Esta janela já foi explicada em detalhes no tutorial Dynamics Basic, aqui na seção Tutoriais do site www.tresd1.com.br. Abra a lista que se encontra no canto superior esquerdo e escolha o piso, como mostra a primeira imagem ao lado.

Habilite a opção This Object is Unyielding no grupo Dynamic Controls, como mostra a primeira imagem ao lado. Essa opção indica que o objeto é imóvel. Mude para a opção Mesh no grupo Collision Test, como mostra a segunda imagem ao lado. Habilite a opção Override Material Bounce no grupo Material Editor Physical Properties e coloque o valor 0.1 no campo acima, como mostra a segunda imagem ao lado. Agora, clique no botão Assign Objects Collisions e abrirá uma janela com dois quadros, igual a do botão Edit Object List, Selecione a esfera e mova para o quadro da direita, indicando que ela vai colidir com o piso.

De volta na janela Edit Object, selecione a caixa na lista do canto superior esquerdo, para ajustar as propriedades dela. Da mesma forma que foi feito com o piso, habilite a opção This Object is Unyielding. Mude para a opção Box no grupo Collision Test, habilite a opção Override Material Bounce no grupo Material Editor Physical Properties e coloque o valor 0 no campo logo acima. Clique no botão Assign Objects Collisions e mova a esfera para o quadro da direita, pois a caixa também vai colidir com ela.
De volta na janela Edit Object, selecione a esfera na lista. Mantenha habilitada a opção Use Initial State no grupo Dynamic Controls, como mostra a primeira imagem ao lado, pois a esfera irá se mover.

Habilite a opção Sphere no grupo Collision Test e habilite a opção Every Frame no grupo Recalculate Properties, logo ao lado, como mostra a segunda imagem ao lado. O Every Frame faz o Max calcular as propriedades do objeto em cada quadro da animação, ela deve ser usada em todo objeto que se move na cena.

Habilite a opção Surface no grupo Calculate Properties Using, como mostra a terceira imagem ao lado. Habilite também a opção Override Material Bounce no grupo Material Editor Physical Properties e coloque 0 no campo acima. Clique no botão Assign Object Collisions, mova o piso e a caixa para o quadro da direita, indicando que a esfera vai colidir com os dois. Depois, clique no botão Assign Object Effects, logo acima, ele tem uma janela igual ao Assign Object Collisions, mova o Gravity e o UDynaFlect para o quadro da direita, indicando que estas forças vão atuar sobre a esfera. Quando terminar, clique no botão OK que está na parte inferior da janela.
Habilitamos a opção Override Material Bounce em todos os objetos, para definir o valor do Bounce no Edit Object. Essa propriedade define a elasticidade do objeto, ou seja, o quanto ele pula. Todos os materiais no Material Editor têm o menu Dynamics Properties, como mostra a imagem ao lado, nestes parâmetros você pode definir as propriedades físicas diretamente no material. Se preferir, pode ajustar essas propriedades neste menu e não habilitar a opção Override Material Bounce no Dynamics.

Neste menu você ajusta também os parâmetros de Static e Sliding Friction, como mostra a imagem ao lado. Eles serão necessários na esfera, você pode configurar no material ou usar o Override dessas duas opções na janela Edit Object do Dynamics. Coloque 0.2 no Static e no Sliding Friction.
Agora, é só clicar no botão Solve do menu Dynamics, para iniciar o cálculo da simulação, como mostra a primeira imagem ao lado. Se habilitar a opção Update Display w/ Solve, o Max vai atualizar as Viewports no decorrer da simulação, assim, você pode ver se tudo está saindo como o esperado. Se você usou um Plane no piso, o Max informará que pode ter resultados indesejados quando clicar no Solve, porque o Plane não tem volume, neste caso não tem problema, porque só queremos mover a esfera em cima da caixa, mas quando tiver muitas interações com o piso, use um Box.

Se a esfera atravessar a caixa no início da simulação, verifique se a malha da esfera não está entrando na malha da caixa. Se mesmo assim ela atravessar a caixa, aumente a quantidade de segmentos no Box, para deixar a malha da caixa com mais resolução. Se ainda assim a esfera penetrar na caixa, então, aumente o valor de Calc Intervals Per Frame, como mostra a segunda imagem ao lado. Este valor define os sub-frames, ou seja, em quantas partes o frame será dividido e calculado, isso eleva bastante o tempo de cálculo, portanto, aumente aos poucos, mas ele resolve o problema.
Se a esfera não se mover com a colisão das partículas, você deve selecionar o UDynaFlect e aumentar o peso das mesmas no parâmetro Mass, dentro do painel Modify. Se a esfera for jogada muito loge quando as partículas colidirem com ela, diminua o valor de Mass no UDynaFlect, como mostra a primeira imagem ao lado.

Com a simulação calculada corretamente, a esfera será movida quando o jato de água encostar nela, como mostra a segunda imagem ao lado. Leia mais sobre o Dynamics no tutorial Dynamics Basic, aqui na seção Tutoriais do site www.tresd1.com.br.

Andre Buttignoli Vieira

Faça o login para poder comentar

Adminin Comentou em 21/06/2011 19:16 Ver comentário

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 711071.

Total de membros registrados: 138550

Últimos membros registrados: lumileanbefehl, Asssilem, NowSlimKapselndePreis, condriflexpro, Kevinsdiemer, Yaasu026, brunovidart, breno915.

Usuário(s) on-line na última hora: 1094, sendo 7 membro(s) e 1087 visitante(s).

Membro(s) on-line na última hora: lumileanbefehl, Yaasu026, Kevinsdiemer, NowSlimKapselndePreis, Asssilem, condriflexpro, cristian rocha da silva.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.