animando humanos virtuais blender

15
Animando humanos virtuais utilizando MakeHuman e Blender Eduardo Fernandes de Conto INTRODUÇÃO Realizar animações utilizando com um humano virtual pode parece algo complexo a primeira vista. Contudo, existem duas ferramentas que facilitam bastante esse trabalho: o MakeHuman, que nos permite gerar facilmente o modelo do humano virtual, e o Blender, que nos permite animá-lo. O artigo a seguir se propõem a explicar as etapas e conhecimento básicos envolvidos na animação do humano virtual. Durante o artigo, estaremos desenvolvendo dois movimentos com o nosso modelo de humano virtual. Propomos que você tente replicar os passos. Você pode encontrar um arquivo com as animações criadas em: http://bit.ly/glMu8I SOFTWARES Primeiramente, você precisa fazer o download dos softwares utilizados. Estaremos utilizando aqui: MakeHuman 1.0 Alpha 5.1(http://makehuman.blogspot.com/ ); Blender 2.55(http://www.blender.org/ ); Aqsis 1.60(http://www.aqsis.org/ ). IMPORTANTE: É necessário fazer o download da versão 2.55 do Blender ou mais recente, já que a versão 2.49 considerada estável no momento tem problemas de importação com o MakeHuman. AS MALHAS Uma coisa importante a ser feita antes de qualquer coisa é definir o nível de detalhes desejado do modelo. Isto é importante já que existem quatro malhas (meshs) diferentes que podem ser utilizados no MakeHuman. Tais malhas se diferenciam pela quantidade de polígonos utilizada para construir o modelo: quanto mais polígonos forem usados, maior será o grau de detalhe do modelo e, por outro lado, maior será seu arquivo. A Tabela 1 traz algumas informações sobre essas malhas e a Figura 1 traz uma ilustração delas.

Upload: soriedemita

Post on 02-Jul-2015

178 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Animando Humanos Virtuais Blender

Animando humanos virtuais utilizando MakeHuman e Blender

Eduardo Fernandes de Conto

INTRODUÇÃO

Realizar animações utilizando com um humano virtual pode parece algo complexo a primeira

vista. Contudo, existem duas ferramentas que facilitam bastante esse trabalho: o MakeHuman,

que nos permite gerar facilmente o modelo do humano virtual, e o Blender, que nos permite

animá-lo.

O artigo a seguir se propõem a explicar as etapas e conhecimento básicos envolvidos na

animação do humano virtual. Durante o artigo, estaremos desenvolvendo dois movimentos

com o nosso modelo de humano virtual. Propomos que você tente replicar os passos. Você

pode encontrar um arquivo com as animações criadas em: http://bit.ly/glMu8I

SOFTWARES

Primeiramente, você precisa fazer o download dos softwares utilizados. Estaremos utilizando

aqui:

MakeHuman 1.0 Alpha 5.1(http://makehuman.blogspot.com/);

Blender 2.55(http://www.blender.org/);

Aqsis 1.60(http://www.aqsis.org/).

IMPORTANTE: É necessário fazer o download da versão 2.55 do Blender ou mais recente, já

que a versão 2.49 considerada estável no momento tem problemas de importação com o

MakeHuman.

AS MALHAS

Uma coisa importante a ser feita antes de qualquer coisa é definir o nível de detalhes desejado

do modelo. Isto é importante já que existem quatro malhas (meshs) diferentes que podem ser

utilizados no MakeHuman. Tais malhas se diferenciam pela quantidade de polígonos utilizada

para construir o modelo: quanto mais polígonos forem usados, maior será o grau de detalhe

do modelo e, por outro lado, maior será seu arquivo. A Tabela 1 traz algumas informações

sobre essas malhas e a Figura 1 traz uma ilustração delas.

Page 2: Animando Humanos Virtuais Blender

Tabela 1

Malhas Descrição Tamanho Típico Arquivo

Rorkimaru Quantidade pequena de

polígonos (very lowpoly).

Utilizada para jogos

300 KB

ascottk Quantidade média de

polígonos (Medium poly). 600 KB

Forsaken Quantidade média de

polígonos (Medium poly). 600KB

Main Malha padrão com alta

quantidade de polígonos Mais de 2,5MB

Figura 1

Page 3: Animando Humanos Virtuais Blender

As configurações da malha podem ser

alteradas no arquivo proxy.cfg encontrado

na pasta de instalação do MakeHuman,

normalmente, no Windows, em

C:/Arquivos de Programas/Makehuman.

Existe documentação e explicação no

próprio arquivo de modo que o usuário

não deve enfrentar dificuldades para

alterá-lo.

O MAKEHUMAN

Feito isso, podemos acessar o MakeHuman. A interface do programa é bastante simples:

podemos definir a morfologia do nosso humano virtual através de barras de rolagem e temos

no modelo exibido na tela o resultado dessas modificações.

Figura 2

Exemplo!

Em nosso exemplo, modificamos a linha

18 do arquivo de @ MainMesh Obj Mhx

para @ MainMesh Obj Mhx Dae e a

linha 38 do arquivo @ Dae True para @

Dae False. Com isso, usaremos a malha

padrão e desativamos as demais malhas.

Page 4: Animando Humanos Virtuais Blender

Você tem a liberdade de explorar livremente as opções do software. Quando estiver satisfeito

com seu modelo, vá em Files/Export e selecione .dae(vide

Figura 3).Dê um nome e salve.

O salvamento terá sido concluído quando após clicar em

Save retornar-se automaticamente a aba de Modeling. O

arquivo recém salvo deve estar localizado em Meus

Documentos/makehuman/imports. A informação de onde a

arquivo foi salvo pode ser encontrada no console que abre

junto do MakeHuman. Ao importar um arquivo, uma mensagem semelhante a essa deve

aparecer no console: Collada file F:\Documents\makehuman\exports\modelo.dae written.

Figura 3

Exemplo!

Para o exemplo que estaremos

desenvolvendo, colocamos a

opção Gender em seu máximo à

direita, tal como no modelo da

Figura 3.

Page 5: Animando Humanos Virtuais Blender

BLENDER

Localizado o arquivo .dae, podemos fechar o MakeHuman e passar a trabalhar somente no

Blender. Abrindo o Blender, a tela inicial da Figura 4 deve aparecer.

Figura 4

O Blender é um software de animação 3D bastante poderoso e com uma vasta quantidade de

recursos. É possível criar animações, editar vídeos e, até mesmo, criar jogos utilizando esse

software. Na página oficial do Blender, http://www.blender.org/, existem alguns tutoriais

sobre o software. No momento, a maioria se refere à versão estável, 2.49, do Blender, que

possui uma interface a primeira vista bem diferente da versão 2.55. Contudo, muitas das

informações ali contidas ainda são úteis. É possível encontrar diversos outros sites na internet

com informações sobre o Blender também.

ALGUNS COMANDOS BÁSICOS E AS TRANSFORMAÇÕES

Nessa seção discutiremos algumas informações páginas

sobre o uso da interface e das transformações no Blender.

Caso você já conheça o software,você pode ignora-lá.

Para selecionar objetos na visão 3D(3D View) do Blender,

clica-se com o botão direito do mouse sobre o objeto que

deseja-se selecionar. Também se pode usar a tecla B

COMANDOS:

Botão direito do mouse –

selecionar objetos.

B – drag select

A – selecionar todos

G – Transladar

R – Rotacionar

S – Modificar Tamanho

+/- (teclado numérico) – zoom

Page 6: Animando Humanos Virtuais Blender

arrastando o mouse para ativar o modo drag select clicando com o botão esquerdo para

arrastar. Além disso, com a tecla A selecionamos todos os objetos.

Para movimentarmos na visão 3D, segura-se o botão do meio do mouse, movendo-o. Podemos

ainda aumentar/diminuir o zoom rolando esse botão para cima ou para baixa. O zoom

também pode ser aplicado usando as teclas + e – do teclado numérico.

O Blender dispõem de três transformações as quais podem ser selecionadas no menu

esquerdo:

Figura 5

Translação. Atalho: Tecla G(Grab);

Rotação. Atalho: Tecla R(Rotate);

Modificação de Tamanho. Atalho: Tecla S(Scale).

Também podemos transladar um objeto pelo cenário movimentando o mouse com o botão

direito selecionado. Usando a tecla R com o objeto selecionado, rotacionamos o objeto no

modo padrão utilizando o mouse. Apertando R novamente modificamos para o modo

Trackball.

Em qualquer uma dessas TRANSFORMAÇÕES podemos apertar a tecla X, Y ou Z para limitar o

movimento nos eixos X, Y ou Z globais. Apertando X, Y ou Z novamente limita-se de acordo

com o eixo selecionado em Transform Orientation na barra abaixo do espaço 3D. Na Figura 6,

p. ex., está selecionado Normal. Ao clicarmos uma terceira vez as teclas X, Y ou Z volta-se ao

modo padrão da transformação

Figura 6

Para definir o valor da transformação podemos utilizar as setas para cima e para baixo do

teclado, movendo-se, nesse caso, uma unidade por vez. Também é possível digitar o valor

desejado simples digitando um valor numérico com o teclado.

Page 7: Animando Humanos Virtuais Blender

INSTRUÇÕES PARA IMPORTAR O MODELO

Primeiramente selecione o cubo padrão com o botão direito e pressione Delete ou X. Uma tela

se abre e você pode então excluí-lo. Agora vá em File, Import e selecione COLLADA(.dae).

Importe o modelo que exportamos a pouco no MakeHuman e um modelo tal como o da Figura

7 deverá aparecer em sua tela.

Figura 7

Agora vá no Outliner em seu canto superior direito e clique em Armature. Após selecione a

figura e escolha no submenu Display do menu direito (vide Figura 9) a opção X-Ray. Assim

você verá os bones do modelo, o que facilita sua seleção e movimentação. Você deverá ficar

com algo similar à Figura 8. Ainda com a Armature selecionado troque de Object Mode para

Pose Mode na barra abaixo do espaço 3D. . Agora você pode

movimentar o meu modelo como desejar, selecionando os bones com o botão direito e

usando as transformações citadas acima.

Page 8: Animando Humanos Virtuais Blender

Figura 8

OS KEYFRAMES

Para podermos passar das transformações básicas para uma animação efetiva no Blender,

devemos utilizar os keyframes(frames-chave). Sua utilidade é informar que essa pose é

importante ao Blender. Se adicionarmos um keyframe em uma pose específica, a animação

ficará nela ‘para sempre’, caso não houver outro keyframe mais adiante em uma pose

diferente. Contudo, havendo outro keyframe em uma pose diferente, o Blender faz um

movimento suave de transição entre as duas poses. E assim temos nossa animação.

Para inserir keyframes, usamos a tecla I do teclado ou selecionamos Insert na opção Keyframes

no menu esquerdo(vide Figura 10). Devemos escolher o frame em que o keyframe será

inserido utilizando o Timeline, o menu inferior na interface Default do Blender(vide Figura 12).

Devemos, também, definir o tipo de keyframe entre os diversos tipos disponíveis (vide Figura

11). Tais tipos referem-se aos tipos de transformações que adotamos na passagem de uma

posição para a outra. Por exemplo, caso somente alterarmos a posição de um objeto,

usaremos o modo Location. Se rotacionarmos o objeto, usamos o modo Rotation.E assim por

diante.

É importante salientar que só podemos associar um bone a cada keyframe, i.e, não podemos

animar a movimentação de mais de um bone usando somente um keyframe.

Page 9: Animando Humanos Virtuais Blender

Figura 12

Figura 9

Figura 10

Figura 11

Page 10: Animando Humanos Virtuais Blender

ANIMANDO HUMANOS VIRTUAIS

Abaixo seguem dois exemplos de movimentos que podemos realizar com o humano virtual

que importamos no Blender há pouco. Sugere-se tentar fazê-los seguindo as instruções.

EXEMPLO 1: Flexão do Braço Esquerdo

Suponha que desejamos construir uma animação que parte da posição inicial da Figura 7 e

flexione o braço esquerdo do modelo para frente em 90°, tal como na Figura 8. Verifique que

tal movimento pode ser feito realizando uma rotação no bone LoArm_L com eixo Z local com o

parâmetro -90°. Note que usando o eixo Z global temos uma inclinação indesejada do eixo, o

que acaba levantando o braço ligeiramente. Vamos utilizar o frame 10 com inicial e o frame

100 com final.

Começaremos criando uma cena com a posição padrão que temos, com o modelo virtual que

importamos há pouco. Para isso, vá ao menu superior(vide Figura 13) e altere o nome da cena

para algo como Padrao.O objetivo disso é termos salva nossa posição padrão. Agora crie uma

nova cena, clicando no + e escolhendo Full Copy. Renomeie a cena para, p. ex., FlBrEsq.

Figura 13

Usando a Timeline, vá para o frame inicial, 10, e, com o bone LoArm_L selecionado, insira um

keyframe do tipo rotation na posição inicial. Usando o Timeline, nos deslocamos para o frame

100(para isso, basta clicar sobre a Timeline com o botão direito) e movimentamos o modelo

para a posição final (apertamos R, Z duas vezes e digitamos -90). Então, inserirmos um novo

keyframe do tipo rotation. Note que após inserirmos os keyframes, duas barras verticais

amarelas aparecem no Timeline.

Realizados os passos acima, podemos voltar para o frame inicial apertando a tecla Shift+Seta

para Baixo e podemos exibir a animação usando Alt+A. Alternativamente, podemos usar a

barra inferior do Timeline.

Figura 14

Page 11: Animando Humanos Virtuais Blender

EXEMPLO 2: Posição de Sentido

Nesse segundo exemplo, vamos fazer uma animação do modelo indo para a posição de

sentido(vide Figura 14) partindo da posição inicial da Figura 7. Vamos criar uma nova cena para

essa animação, tal como fizemos no exemplo anterior, renomeando-a para Posicao_Sentido.

Figura 15

Verifique que precisamos usar dois bones

para realizar esse movimento: o UpArm_L

e o UpArm_R. Em UpArm_R realizamos

uma rotação no eixo Y global de -90°. Em

UpArm_L realizamos uma rotação também

no eixo Y global de 90°. Vamos utilizar o

frame 10 como inicial e o frame 40 como

final.

Começamos inserindo um keyframe do

tipo rotation na frame 10 com o bone

UpArm_R na posição inicial. Deslocamos-

nos para o frame 40 usando a Timeline e

rotacionamos o bone UpArm_L para a

posição final em Y global -90°(tecla-se R + Y

+ -90). Agora, inserirmos uma nova

keyframe do tipo rotation.

Assim, colocamos o braço direito na posição de sentido.

Analogamente, animamos o braço esquerdo indo para a posição de sentido. Insere-se um novo

keyframe do tipo rotation no frame 11 com o bone UpArm_L selecionado e na posição inicial.

Deslocamo-nos para o frame 41 e inserimos novamente um keyframe do tipo rotation, desta

vez com UpArm_L na posição final em Y global 90°(tecla-se R + Y + 90). Assim, colocamos o

braço esquerdo também na posição de sentido. Feito isto, podemos exibir nossa animação:

voltamos para o frame 1 e apertamos Alt + A para exibir a animação.

Note que como queríamos dar a impressão de que o movimento de ambos os bones é

simultâneo, colocamos os keyframes em frames subsequentes, um após o outro. Não

podíamos por no mesmo frame, já que só podemos associar um keyframe a cada frame.

Page 12: Animando Humanos Virtuais Blender

RENDERIZAÇÃO

Concluídas todas as etapas de construção da animação, é bem provável que você deseja salvar

um vídeo ou um conjunto de imagens com a sua animação para poder exibir em outro

computador qualquer sem precisar ter o Blender instalado. A etapa de renderização é a que

permite isso.

Para renderizar uma pose específica, um frame da animação: selecione, no menu superior,

Render, Render Image ou aperte F12. Para renderizar um conjunto de frames como um

conjunto de imagens ou como um conjunto de frames vá em Render, Render Animation ou

aperte Ctrl+F12.

CONFIGURANDO A RENDERIZAÇÃO

Se você tentar executar esses comandos agora no humano virtual que criamos anteriormente,

você provavelmente verá que a parte exibida de seu humano virtual não corresponde àquela

que você gostaria de ter ou que sua iluminação não estará correta. Isto ocorre porque

precisamos configurar a câmera e a iluminação do cenário.

Não existe uma maneira clara e fácil de configurá-las. Basicamente, recorremos à tentativa e

erro, i.e, modificamos a posição e/ou alguns parâmetros da câmera e da iluminação e

renderizamos para ver se o resultado condiz com o que esperamos.

CÂMERA

Para visualizar a perspectiva da câmera, pressione o número 0 no teclado numérico. Você

deverá obter algo semelhante ao exibido na Figura 16. A região mais clara em clara em

destaque é o que está sendo ‘vista’ pela câmera, i.e, é a parte que, ao mandarmos renderizar a

animação, será exibida.

Page 13: Animando Humanos Virtuais Blender

Figura 16

Para posicionar corretamente a câmera (vide Figura 17Error! Reference source not found.), é

preciso selecioná-la com o botão direito e usar as transformações de rotação e translação que

citamos anteriormente. Use o tecla 0 do teclado numérico para verificar a nova perspectiva e

mova a câmera até que sua posição esteja conforme você deseja. Podemos visualizar outras

opções da câmera selecionando-a com o botão direito: as opções aparecem no menu direito.

Não as discutiremos aqui.

Figura 17

Note que na Error! Reference source not found. temos uma seta na

parte superior da câmera. Tal seta indica a parte que fica para cima

na renderização. Se essa seta ficar mal-posicionada, a renderização

pode ficar incorreta, p. ex., o humano virtual pode ficar de cabeça

para baixo.

ILUMINAÇÃO

A iluminação é proporcionada por uma lâmpada no Blender. É ela que define as zonas de

claro/escuro e as sombras e, portanto, ela tem grande importância para obtermos um bom

humano virtual. Existem cinco tipos possíveis de lâmpadas no Blender: Point, Sun, Spot, Hemi,

Area(não trataremos sobre elas aqui). Para configurar a iluminação, selecione a lâmpada (vide

Figura 18) com o botão direito e ajuste as configurações no menu direito. Tal como a câmera a

Page 14: Animando Humanos Virtuais Blender

posição da lâmpada é importante para uma correta iluminação. Use as transformações de

rotação e translação para posicioná-la corretamente.

Figura 18

DEMAIS CONFIGURAÇÕES

Existem mais algumas configurações da renderização que são encontrados no menu direito em

Properties na aba Render, cujo símbolo é uma câmera . Existe uma vasta quantidade de

configurações que são possíveis nessa aí e não discutiremos todas.

Configurar o formato de saída: vá no submenu Output e selecione um formato entre

formato de imagens e de vídeo, tal como Jpeg, PNG, AVI, etc. Tal configuração é válida

só para a opção de Render Animation.

É importante salientar que, se você selecionar um formato de imagem, sua animação

será renderizada como um conjunto de imagens, uma para cada frame. Selecionando

um formato de vídeo, a animação será renderizada como um vídeo tal como se

esperaria normalmente.

Determinar a Frame Range: vá no submenu Dimensions. Tal configuração determina

quais os frames serão renderizados quando escolher a opção Render Animation. As

opções encontradas na barra abaixo da Timeline não alteram os frames que serão

renderizadas, somente os que serão exibidos quando se for exibir a animação no

Blender.

Pasta de Salvamento da Animação: vá no submenu Output e escolha uma pasta na

linha existente. Por padrão, a animação é salva na pasta tmp encontrada no pasta raiz

do disco C:/.

OBS.: Após renderizar uma imagem(Render Image), para poder salvá-la, você deve ir

selecionar o menu Image no menu inferior, acima da Timeline e selecionar Save As ou apertar

F3. No caso da animação(Render Animation), o resultado é automaticamente salva na pasta

escolhida em Output.

Page 15: Animando Humanos Virtuais Blender

RENDERIZANDO OS EXEMPLOS

Vá para a cena que você criou do exemplo que desejar renderizar, p.ex., FlBrEsq. No menu

direito, vá na aba Render e modifique a Frame Range, alterando a opção End para 110, no caso

da Flexão do Braço Esquero e para 50, no caso da Posição de Sentido. O objetivo disso é não

desperdiçar tempo renderizando frames desnecessários para nossa animação. É importante

também deixar algum intervalo entre o fim da animação e o fim do vídeo, p. ex., 10 frames

como fizemos aqui.

Agora você pode selecionar a Timeline e aperte a tecla Home, de forma que esse se ajuste ao

nosso frame final ajustado. No submenu Output do menu direito modifique o formato para o

que julgar mais conveniente, p. ex., AVI Codec. Concluídas essas etapas, você pode renderizar

as animações que criamos: aperte Ctrl+F12 ou, no menu superior, escolha Render, Render

Animation.

Aguarde um tempo até a renderização ser concluído; esse processo, em geral, custava

consumir bastante tempo. Concluída a renderização, vá na pasta que você colocou no

submenu Output do menu direito. Você encontrará algo como 0001_0110.avi, se escolher uma

extensão de vídeo como avi ou vários arquivos de imagens 0001.jpeg, 0002.jpeg, ..., 0110.jpeg,

se escolher um extensão de imagem como jpeg. Mova o(s) arquivo(s) para outra pasta. Você

pode sair da Tela de Renderização e voltar para a tela Padrão apertando a tecla F11 ou

escolhendo, no menu superior, Render, Show/Hide Render View .