domingo, 10 de maio de 2009

Tutorial do Teapot de Areia - Versão 1.0

Estou postando o tutorial do Teapot de areia. Esse arquivo é um pouco antigo. Fiz ele com o 3DS Max 6 e o Particle Flow ToolBox 1.

Abaixo podemos observar o resultado desejado com este tutorial.


Antes de mais nada quero deixar claro que a técnica vista à seguir não é a melhor. Porém foi assim que eu fiz o vídeo que pode ser visto na postagem anterior. Em breve eu postarei uma técnica diferente e bem melhor para obter o mesmo resultado.

Se você vai seguir este tutorial é importante que já esteja familiarizado com o 3DS Max e caso já tenha se aventurado com o Particle Flow, será melhor ainda.

Vamos lá:

1° - Crie um Plane, um Teapot, posicione a câmera como preferir e nesse ponto já podemos adicionar alguma luz também. Para a iluminação eu usei o E-light (script) bem básico, apenas para ter sombra e mais contraste. Porém cada um deve setar sua iluminação de acordo com o resultado desejado e o render que usará. (Usei Scanline, bem simples, exatamente por estar preocupado mais com a simulação do que com imagens mais trabalhadas). Adicione também texturas e os devidos mapeamentos ao Plane e ao Teapot (no caso do Teapot é apenas para testar como ficarão as partículas, pois esse Teapot criado é apenas um guia para servir de emissor e não será renderizado ao final do processo).

2° - Crie um PF Source em qualquer ponto de sua cena. Ele pode ser encontrado no Menu Geometry/Particle Systems/PF Source.

3° - Clique em Particle View, para abrir a tela onde controlaremos as opções das partículas.

4° - Você verá a seguinte tela, com essa configuração Default.

5° - Apague os seguintes operadores marcados (você não precisará deles ou serão substituídos por outros). OBS: Infelizmente esqueci-me de marcar o operador Rotation, ele também deve ser deletado. Como só percebi isso na metade do tutorial, resolvi colocar apenas essa observação e contar com a compreensão de todos, dessa forma não preciso alterar todas as imagens, agilizando a publicação deste tutorial. Obrigado.

6° - A seguir adicione os operadores em destaque na próxima imagem.

7° - Vamos agora a uma breve explicação de alguns operadores importantes, começando pelo Cache. Vamos setar este operador para que as partículas na Viewport não sejam atualizadas a cada modificação feita, tornando o trabalho mais lento. Esse operador proporcionará um controle de quando atualizar essas partículas, de acordo com a vontade de quem estiver usando o programa, dessa forma podemos alterar vários parâmetros e só depois de tudo devidamente setado atualizar para ver o resultado. Para isso eu mudei a opção Update que vem por Default como Always para Manually. Com essa mudança, sempre que quiser atualizar suas partículas na Viewport, basta clicar em Update.

8° - Birth: Deixe o Emit Start em zero assim como o Emit Stop. Dessa forma o Particle Flow iniciará a cena com todas as partículas. Teste quantas partículas serão necessárias na sua cena para cobrir o Teapot de forma que ele pareça sólido. Na minha cena foi preciso 150.000 partículas... Nessa hora que os problemas começam caso você não tenha uma boa máquina. Porém não se desespere. Como eu disse no post anterior, essa não é a melhor forma de se fazer isso, mas foi a forma que eu fiz quando comecei a aprender. Depois postarei um tutorial um pouco mais "inteligente" e "leve" para recriar esse mesmo efeito.

9° - Position Object: Na opção Emiter Objects, clique em By List e selecione o seu Teapot. Isso fará com que as partículas sejam emitidas do objeto escolhido e não do PF Source.

10° - Shape Facing: Na opção Look At Camera/Object, clique no botão None e após isso clique na sua câmera, fazendo com que as partículas fiquem todas viradas de frente para a câmera. Isso deve ser feito porque usaremos partículas em forma de plane, pois assim fica mais leve e fácil de preencher todo o objeto.

11° - Material Static: Arraste o Slot do material criado para o Teapot sob o botão None e faça essa cópia como Instance, dessa forma se futuramente você resolver alterar algo no seu material, ele mudará no operador automaticamente.

12° - Mapping Object: Na opção Mapping From Objects, clique em By List e adicione seu Teapot. Lembre se conferir se na opção Mapping Channels você está usando o mesmo Map Channel usado no mapeamento do Teapot. Isso é muito importante para que as partículas sejam mapeadas de forma correta.

13° - Display: Mude a opção Type, por Default Ticks, para Geometry. Após isso você já pode atualizar as partículas no Cache e ver como está ficando o resultado. Renderize e veja se precisa de ajustes de luz, material, mapeamento, mais partículas, enfim.

Agora que já temos um Teapot formado inteiramente por partículas, vamos à segunda parte onde faremos essas partículas saírem "voando", dando a impressão que o Teapot está se desfazendo.

14° - Para isso eu criei 3 Winds, um Drag e um SDeflector. Veja nas imagens abaixo a disposição e configuração de cada um desses elementos.

15° - Selecione o SDeflector que está logo acima do Teapot e anime-o descendo e passando pelo Teapot. É o SDeflector que desencadeará a próxima ação que é fazer com que as partículas se soltem do Teapot e saiam voando. Por isso preste bastante atenção para ver se o SDeflector está passando por todo o Teapot, caso contrário nem todas as partículas se soltarão.

Só isso não basta, precisamos "falar" para o Particle Flow que todas essas forças estão aí na cena e como ele irá interagir com elas. Outra coisa que eu fiz na minha cena, mas que é opcional, é determinar um momento para as partículas sumirem após saírem voando.

16° - Selecione os controladores Display, Mapping Object, Material Static e Shape Facing. Copie esses controladores e cole como Instance, criando um novo evento. Copiei esses controladores como Instance, pois essas características não irão mudar quando as partículas se soltarem do Teapot.

17° - Para ligarmos esse novo evento ao anterior, precisamos colocar o controlador Collision no evento anterior, já adicione o seu SDeflector ao Collision (isso significa que quando o SDeflector colidir com as partículas, elas reagirão da maneira determinada no próximo evento).

No evento seguinte à colisão, adicione o controlador Force (adicione ao Force os 3 Winds e o Drag) e adicione também o controlador Delete. Vamos configurar este ultimo controlador para deletar as partículas por Age. Veja como fiz na próxima imagem. Encontre os melhores valores para a sua cena.

Pronto! Agora é só atualizar as partículas e ver se tudo está como você deseja, caso contrário basta ir ajustando os parâmetros necessários de acordo com sua vontade. Logo postarei mais um tutorial para essa mesma cena, só que dessa vez usarei uma técnica que deixará o arquivo mais leve e com uma quantidade muito menor de partículas para obtermos o mesmo resultado.

Espero que tenha sido útil, qualquer dúvida é só entrar em contato.

Obrigado.

Nenhum comentário: