Você está na página 1de 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.
Tabela 1

Malhas Descrição Tamanho Típico Arquivo


Rorkimaru Quantidade pequena de
300 KB
polígonos (very lowpoly).
Utilizada para jogos
ascottk Quantidade média de
600 KB
polígonos (Medium poly).
Forsaken Quantidade média de
600KB
polígonos (Medium poly).
Main Malha padrão com alta
Mais de 2,5MB
quantidade de polígonos

Figura 1
As configurações da malha podem ser
Exemplo!
alteradas no arquivo proxy.cfg encontrado
na pasta de instalação do MakeHuman, Em nosso exemplo, modificamos a linha

normalmente, no Windows, em 18 do arquivo de @ MainMesh Obj Mhx

C:/Arquivos de Programas/Makehuman. para @ MainMesh Obj Mhx Dae e a

Existe documentação e explicação no linha 38 do arquivo @ Dae True para @

próprio arquivo de modo que o usuário Dae False. Com isso, usaremos a malha

não deve enfrentar dificuldades para padrão e desativamos as demais malhas.

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
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. Exemplo!

Para o exemplo que estaremos


O salvamento terá sido concluído quando após clicar em
desenvolvendo, colocamos a
Save retornar-se automaticamente a aba de Modeling. O
opção Gender em seu máximo à
arquivo recém salvo deve estar localizado em Meus
direita, tal como no modelo da
Documentos/makehuman/imports. A informação de onde a
Figura 3.
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
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.

COMANDOS:
ALGUNS COMANDOS BÁSICOS E AS TRANSFORMAÇÕES
Botão direito do mouse –
Nessa seção discutiremos algumas informações páginas selecionar objetos.
sobre o uso da interface e das transformações no Blender.
B – drag select
Caso você já conheça o software,você pode ignora-lá.
A – selecionar todos
Para selecionar objetos na visão 3D(3D View) do Blender,
G – Transladar
clica-se com o botão direito do mouse sobre o objeto que
deseja-se selecionar. Também se pode usar a tecla B R – Rotacionar

S – Modificar Tamanho

+/- (teclado numérico) – zoom


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:

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


 Rotação. Atalho: Tecla R(Rotate);
 Modificação de Tamanho. Atalho: Tecla S(Scale).

Figura 5

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.
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.
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.
Figura 10

Figura 11

Figura 9

Figura 12
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
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.

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.
Figura 15

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.
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.
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.

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

Figura 17 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
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.
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 .