quarta-feira, 7 de novembro de 2007

Criando Gif Animado

::Objetivo::



Mostrar uma técnica para criar animação construindo cada um dos quadros (frames) individualmente.




::Visão antecipada::


A técnica mostrada neste tutorial resulta em uma gif animada disponível nesta VISÃO ANTECIPADA





::Os objetos para aplicação do efeito::


Conforme você acabou de ver na visão antecipada, usei duas imagens. Uma de um braço que se movimenta na vertical e outra de uma cabeça que se deforma sobre a ação do movimento do braço.


A finalidade deste tutorial é a de mostrar a técnica de animação frame a frame, assim você não precisa ficar limitado ao movimento de "esmagar" mostrado na gif que usei.



Entendendo a técnica e com um pouco de imaginação você poderá obter efeitos completamente diferentes deste e certamente muito mais criativos e interessantes.


E, se você pretende treinar depois de entender este tutorial, sugiro tentar o seguinte.

Criar uma animação de um quadrado que vai aumentando sua dimensão e mudando de cor.





(Para iniciantes: se você aprendeu aqui e conseguiu criar uma animação simples, mande para mim por
e-mail que terei prazer em publicar no final deste tutorial as primeiras cinco GIF que chegarem, com o devido crédito. Mas, mesmo que já tenham sido publicadas as primeiras cinco, mande para eu ver.)


Observe as dimensões dos dois objetos usados:



argh1


::Preparando as imagens::


O braço não sofrerá deformação durante a animação e então será usada a imagem exatamente como a mostrado na figura anterior em todos os frames.



A cabeça irá sendo deformada ao longo da animação.

Vamos
estabelecer como será o achatamento ao longo dos frames.


argh2 Observe que se a cada frame achatarmos a cabeça em 10 pixels teremos as alturas 90, 80, 70, 60, 50, 40, 30, 20, 10, 3 pixels, resultando 10 frames.
Para o último frame adotamos 7 px de achatamento.



E, na largura deveremos expandir de 95 pixels até 120 pixel (largura total dos frames).

O cálculo é assim:

120px - 95px = 25px. Então teremos que expandir 25px em 10 frames.

E, teremos as seguintes larguras:
95,98,101,104,107,110,113,116,119,120 pixels. Para o último frame adotamos 1 px de expansão.



Assim, as dimensões da cabeça para os 10 frames serão:



  • frame 1 - 95 x 90

  • frame 2 - 98 x 80

  • frame 3 - 101 x 70


  • frame 4 - 104 x 60

  • frame 5 - 107 x 50

  • frame 6 - 110 x 40

  • frame 7 - 113 x 30

  • frame 8 - 116 x 20

  • frame 9 - 119 x 10


  • frame 10 - 120 x 3






::Criando os 10 frames da animação::


Construa a cabeça inicial não deformada com as dimensões reais (no nosso tutorial

95 x 90 px), selecione e tecle Ctrl + C para copiá-la;



Abra um novo documento. Ajuste as dimensões de canvas para 120 x 135 (o tamanho dos frames) e na cor #999999 e tecle Ctrl + V para colar a cabeça no palco;.


Movimente a cabeça com as setas do teclado até colocá-la centrada e na parte inferior do palco como mostrado no item acima "Os objetos para aplicação do efeito" a figura à direita;



Tecle CTRL + Shift + S ou menu File => Save as e salve como base.png ;


Tecle CTRL + Shift + R ou menu File => Export e salve como frame1.gif ;



Agoras temos dois arquivos salvos. O arquivo base.png que usaremos para construir os demais frames e o arquivo frame1.gif que é o primeiro frame;


Abra o arquivo base.png;


Selecione a cabeça e tecle Ctrl + Shift + T ou


menu Modify => Transform => Numeric Transform para abrir a caixa de diálogo mostrada abaixo.

Ajuste os parâmetros da caixa como mostrado na figura.


argh3


Tecle OK e irá aparecer a cabeça achatada de 10 px e alongada de 3 px como abaixo.


argh4


Com a cabeça selecionada, use a tecla para baixo do teclado até alinhar (assentar) a cabeça com a parte inferior do palco.



argh5


Salve esta cabeça como frame2.gif


Abra o arquivo base.png repita os passos mostrados acima até obter uma cabeça com as dimensões de 101 x 70 px e salve como frame3.gif



Repita os passos como acima e construa as imagens até a frame10. gif


Agora você possui 10 cabeças salvas com o nome de frame1.gif até frame10.gif e com as dimensões mostradas na listagem acima no título "Preparando as imagens" e todas elas em um palco de 120 x 135 px





::Inserindo o braço nos frames::


Vamos posicionar o braço sobre a cabeça, e anotar as coordenadas X e Y do braço.


Acompanhe na figura abaixo:


1-) Abra a imagem do braço, selecione a imagem e tecle Ctrl + C para copiá-la;



2-) Abra o frame1.gif, e tecle Ctrl + V, isto irá colar o braço na cabeça;


3-) Imagem 1 abaixo - selecione a imagem do braço e arraste para cima da cabeça como mostrado
;


4-) Imagem 2 abaixo - selecione o braço e anote as coordenadas X e Y que aparecem no canto inferior esquerdo do palco. No nosso caso as coordenadas são X = 27 e Y = - 87.


Notar que a coordenada Y será negativa.


argh6


5-) Tecle CTRL + Shift + R ou menu File => Export e salve como frame1.gif ;



6-) Irá aparecer um aviso alertando que frame1.gif já existe, tecle OK para salvar em cima, substituindo o original pelo atual.


7-) Abra o frame2.gif;


8-) Tecle Ctrl + V e isto deverá colar o braço no frame2. Se não aparecer o braço, proceda como indicado no item 1-) acima;



9-) Com o braço selecionado vamos movimentá-lo usando as coordenadas X e Y.

Altere X = 27 (o mesmo valor do frame1) e Y= -77 (descer 10px que foi o quanto a cabeça encolheu - de 90px para 80px de altura);


10-) Tecle CTRL + Shift + R ou menu File => Export e salve como frame2.gif ;



11-) Abra o frame3.gif e repita os passos acima. Agora os valores das coordenadas serão

X = 27 (este valor não varia para todos os frames) e Y = -67.


12-) Construa os 10 frames seguindo estes passos. Observe que para o último frame o achatamento foi de 7px e não 10px, em consequência atenção para o valor de Y.


::Juntando tudo::

Abra um novo documento. Ajuste as dimensões de canvas para 120 x 135 (o tamanho dos frames) e na cor transparente;

Tecle CTRL + Shift + R ou menu File => Export e salve como gifanimada.gif ;

Abra o painel frames Shift + F2;

Acompanhe a numeração na figura abaixo:

1-) Abra o menu suspenso do painel

2-) Escolha Add Frames (adicionar frames);

3-) digite 9 (frames);

4-) Marque After current frame (Depois do frame atual);

5-) Tecle OK;

Veja no painel que agora você está com 10 frames.



Abra o arquivo frame1.gif, selecione e tecle Ctrl + C para copiar;

Volte ao arquivo gifanimada.gif, vá ao painel frames e selecione o frame1, Tecle Ctrl + V esta ação irá colar o frame1.gif no frame 1 do arquivo gifanimada.gif;

Abra o arquivo frame2.gif, selecione e tecle Ctrl + C para copiar;

Volte ao arquivo gifanimada.gif, vá ao painel frames e selecione o frame2, Tecle Ctrl + V esta ação irá colar o frame2.gif no frame 2 do arquivo gifanimada.gif;

Repita os procedimentos descritos acima para todos os 10 frames.

::Salvando e testando a animação::

Vamos ajustar os parâmetros para salvar como gif animada. Isto é feito no painel Optimize (Tecle F6 para abrir e fechar o painel) escolhendo-se a opção Animated GIF e Exact, como mostrado na figura.

Nota: Neste painel você poderá configurar outros parâmetros de otimização para salvar suas criações, porém isto foge ao escopo deste tutorial. É importante que você escolha Animated GIF, caso contrário sua animação não funcionará no navegador.

Tecle CTRL + Shift + R ou menu File => Export e salve como gifanimada.gif ;

Clique no triangulozinho do player, que aparece na barra logo abaixo do palco para visualizar sua GIF funcionando no palco.
Tecle F12 para visualizar sua GIF funcionando no navegador.

Você notará que a animação está muito acelerada.

::Ajustando o loop e a velocidade da animação::

Vamos agir na velocidade da animação para dar um efeito mais real.

Tecle Shift + F12 para abrir o painel Frames;

Clique sobre o pequeno triângulo localizado ao lado esquerdo da palavra Forever para abrir um menu Popup e escolha a opção Forever naquele menu.
Aqui você controla o número de vezes que sua GIF vai funcionar (loops) e Forever ajusta o funcionamento "para sempre" ou seja não pára de funcionar.
Se você escolher 2 por exemplo, a GIF funciona em dois achatamentos e pára.

Clique sobre o Frame 1 e com a tecla Shift apertada clique sobre o Frame 10 para selecionar todos os frames.



Duplo clique sobre um dos números (7 na figura) à direita para abrir a caixa de diálogo da velocidade.

Digite 15 e marque a caixinha Include when exporting, tecle Enter, e você verá a velocidade dos frames alterada de 7 para 15;

Tecle Enter.



Tecle Ctrl + F12 para testar a animação.

::Um toque final::

Vamos dar uma paradinha no início e no final da animação para melhorar o efeito;

Tecle Shift + F12 para abrir o painel Frames;

Clique sobre o Frame 1 e com a tecla Ctrl apertada clique sobre o Frame 10 para selecionar os Frame 1 e o Frame 2;

No frame 1, duplo clique sobre o número (agora, 15 no nosso caso) à direita para abrir a caixa de diálogo da velocidade;

Digite 100 e marque a caixinha Include when exporting, tecle Enter, e você verá a velocidade do Frame 1 e do Frame 10 alterada de 15 para 100;

Tecle Ctrl + F12 para testar sua GIF animada prontinha.

Tecle CTRL + Shift + R ou menu File => Export e salve como gifanimada.gif ;

Terminado! ;-)
Votos que você consiga construir GIF animada com esta técnica.

Nota: Coloquei mais dois frames no final da minha animação onde aparece uma faixa vermelha escrito em branco Arghh. Este efeito deixo para você acresentar, como exercício.