Mais conteúdo relacionado Semelhante a Rev Proc 1 (20) Rev Proc 11. A sua Revista sobre Blender Game Engine pág. 10
Ano 01 - N o 01
Tire umas férias e
se diverta fazendo
um jogo, do início
ao fim!
Tutorial pág.31
Farol, modelagem e texturização.
Textura pág. 07
Aprenda a
fazer texturas
intercaláveis
com o Gimp,
para colocar em
seus modelos 3D.
Armature pág. 39
2. Sumário
Editorial 03
Entrevista com Alexandre Rangel 04
Criando Texturas Intercaláveis com o Gimp 07
Este artigo tem como objetivo demonstrar o uso da ferramenta “Deslocamento” na criação de texturas
intercaláveis.
Little OTO 10
Cancele os seus compromissos pelos próximos... três meses, esse é um completo e altamente detalhado
tutorial de como fazer um jogo (estilo ação/tiro) no, adivinhe o que? Sim, no fantástico Blender.
Criação de Faróis no Blender 31
Este tutorial tem como objeto explicar, de forma simples, como criar um farol no Blender.
Python para Blender 35
Programando Programadores
Construindo um Esqueleto Simples 39
Construindo um esqueleto para personagem não segmentado e animado por cinemática direta.
Ano 01 - Número 01
3. Revista Procedural
Diretor Geral
Ademir de Lima
Editorial
adell@procedural.com.br
Nos últimos meses, vimos a gigante Microsoft® esforçando-se ao máximo para atrair a atenção para algo
Jornalista Responsável que parece ser de suma importância (talvez até seja mesmo, mas para ela), que é o valor final do Linux®, que
Jair André Klein segundo uma pesquisa é superior à suas licenças. Mas não é sobre isto que quero falar neste momento e sim
MTB-433017-170 PR sobre o poder de decisão que todos hoje podem exercer, não são mais obrigados a usar este ou aquele software
por falta de opções, é fácil encontrar mais de um software que faça a mesma coisa com grande facilidade.
Arte e Editoração Podemos escolher desde o S.O. até o que teremos na BIOS de nossa placa mãe e para os mais nerds até
Andréia Leal Schemid firmware do celular, é isto não poderia deixar de ser diferente em se tratando de artes gráficas onde temos
ninivekha@yahoo.com.br excelentes alternativas: Gimp na área de tratamento de imagens chegando muito próximo do PhotoShop®
(que se diga de passagem, esta com nova versão); Scribus para editoração eletrônica; Sodipodi para vetoriais,
Jocelito A. Ribeiro que ainda esta longe do Corel Draw® mas tem avançado muito, e é claro o Blender que tornou-se uma ótima
joce.r@terra.com.br opção para elaboração de modelos 3D e conta com recursos encontrados em programas que custam alguns
milhares de reais, e o melhor de tudo isto é que você pode adquiri-lo de graça e por ser relativamente pequeno
(em torno de 2.5MB), e fácil de estarmos sempre com a última versão.
Pensando nisto que esta revista foi idealizada, já que em outras revistas de designer não existe espaço
As matérias assinadas, bem como as imagens que as integram,
são de inteira responsabilidade de seus autores, não representando
necessariamente a opinião da revista e seus responsáveis.
para o Blender, deixando de lado esta comunidade.
Todos os nomes de marcas e produtos mencionados nesta revista Por isso seja bem vindo à PROCEDURAL que é feita pensando em você que é usuário deste fantástico
pertencem aos seus respectivos donos. Qualquer omissão ou mal uso
(de qualquer tipo) da marca registrada ou direitos autorais não tem programa que é o Blender e sinta-se à vontade para enviar sugestões, comentários, reclamações e artigos
a intenção de infringir a propriedade e os direitos de respectivos seus
donos. para que sejam publicados aqui, afinal esta é a sua revista.
Todos os direitos reservados. É permitida a reprodução por qualquer
meio apenas para uso pessoal.É expressamente proibida a distribuição
integral ou parcial desta publicação ou de qualquer um de seus
componentes (textos, imagens, etc.) por qualquer meio, sem a prévia Ademir Lima - Diretor Geral
autorização da Revista Procedural.
adell@procedural.com.br
© 2004 Revista Procedural Ano 01 - Número 01
4. Entrevista
Alexandre Rangel
Além de profissional na área de multimídia e computação
gráfica, Alexandre Rangel é um participante ativo da comunidade
Blender. Em seu site, o 3DZine, disponibiliza informações, dicas,
novidades, e excelentes vídeo-tutoriais, um deles ensinando
como utilizar o novo script Beast para criar pêlo/cabelo.
Procedural - Como você chegou ao mundo da Computação Gráfica?
Alexandre Rangel - Através do trabalho com edição de vídeo e a necessidade de
aperfeiçoar o acabamento dos vídeos (trabalhando com o computador Amiga® na
época) e do curso de Artes Plástica que fiz na UnB, departamento que tem tradição com
Computação Gráfica.
Procedural - Você vive hoje deste tipo de trabalho?
Alexandre Rangel - Sim, tenho um escritório em casa, aonde desenvolvo projetos
de animação, computação gráfica e programação multimídia. E trabalho como Web
Designer contratado pelo Banco do Brasil.
Procedural - E quanto ao Blender, como o conheceu?
Alexandre Rangel - Pesquisando programas e soluções de 3D, quando o Blender estava “Traquitana” - Imagem criada com o Blender
na versão 1.6. Fiquei bastente tempo sem usá-lo (e sem entendê-lo), até que recentemente para o concurso “Máquina Maluca”, por
surgiu a necessidade de trabalhar com um programa leve e de open source (gratuíto). Alexandre Rangel.
© 2004 Revista Procedural Ano 01 - Número 01
5. Entrevista Alexandre Rangel
Procedural - e ele foi capaz de suprir sua necessidades? Procedural - Quanto ao nivel de dificuldade, como você
Alexandre Rangel - Sim. A maioria delas, e com muita pontuaria o Blender?
eficiência (fluxo de trabalho e ficiente e rápido). Alexandre Rangel - A questão de dificuldade do Blender é
com o aprendizado, e não com a utilização. Ele é bem diferente
Procedural - Você acredita que ele pode competir com do padrão, então um pouco difícil de se acostumar, mas é um
programa caros como o 3dMax® por exemplo? aplicativo desenvolvido visando a eficiência. Depois que você
Alexandre Rangel - Sem dúvida. O critério não seria qual aprende a usar, fica muito fácil e rápido trabalhar. Muito mais
tem mais funções, e sim a capacidade de atender necessidades que outros aplicativos 3D.
de média complexidade. Muito trabalhos de 3D se encaixam
nessa categoria, principalmente os que são realizados por uma Procedural - Podemos ver um avanço muito rápido da
pessoa só. computação grafica por todas as areas, mas ainda é algo que
Veja bem, se o critério incluir a questão do custo da podemos dizer que meio sem uso ainda, quais são as suas
ferramenta... o Max está uns 6mil reais... E o Blender roda bem perspectivas para este nicho de mercado?
em máquinas muito mais baratas (CPU). Alexandre Rangel - São imensas! E não apenas para o futuro.
A Computação Gráfica tem um campo de atuação que vai do
Procedural - O que você acha que deve ser feito, para que entretenimento (filmes, jogos) à pré-visualização (arquitetura,
o Blender seja mais utilizado e conhecido no Brasil? desenho industrial).
Alexandre Rangel - Bons trabalhos realizados pelo Blender
devem ser divulgados e encontros abertos de usuários Procedural - Na sua opinião, o que falta no Blender?
ajudariam também. Meu site (www.3Dzine.com.br) visa este Alexandre Rangel - De pouco em pouco os desenvolvedores
objetivo também - divulgação do Blender. Quando quem não estão sanando as carências do programa. O que eu poderia
conhece entra lá, pode ver nos exemplos e nas discussões as pedir de mais importante ele já tem: amplo ferramental de
possibilidades do programa. modelagem, texturização e animação, velocidade, estabilidade e
qualidade de renderização.
© 2004 Revista Procedural 5
6. Entrevista Alexandre Rangel
Procedural - Você conhece o projeto Verse? Qual a sua
opinião sobre as vantagens que a utilização desse programa
poderia trazer?
Alexandre Rangel - Acho que seria relativo à colaboração
on-line. Com o Verse várias pessoas podem trabalhar em um só
arquivo 3D pela rede, até usando programas diferentes!
Procedural - Há algum tempo atrás o Blender correu um
sério risco, o de ser vendido para uma empresa privada e assim
não ser mais livre, você acha que isso pode acontecer ainda
mesmo sendo publicado sobre a GPL? Voltar a ser produzido por
uma empresa e fechar a sua distribuição?
Alexandre Rangel - Impossível. O fato dele ter side liberado
como GPL faz com que ninguém possa vender o código.
E isso é muito bom. Por que se você está usando um
programa não GPL você fica meio “obrigado” a sempre comprar
versões novas.
Procedural - E sobres as comunidades sobre o software
no país, acredita que elas estão fazendo um bom trabalho ou
acredita que há mais coisas a serem feitas? “S-Shaped Vine”, Alexander Calder (1898-1976). Versão 3D, por
Alexandre Rangel - Isso podemos pensar juntos. Alexandre Rangel.
Alexandre Rangel
www.3Dzine.com.br - arangel@solar.com.br
© 2004 Revista Procedural 6
7. Textura
Criando Texturas Intercaláveis com o Gimp por Gilberto Gomes Junqueira
Este artigo tem como objetivo
demonstrar o uso da ferramenta
“Deslocamento” na criação de
texturas intercaláveis.
A caractística principal deste tipo de
imagem é que suas bordas encaxam-se,
umas com as outras sem marcas visíveis.
Este tipo de imagem normalmente é
utilizado para texturizar modelos em 3D
ou como “papél de parede”. A textura
criada irá imitar a péle de onça/jaguar.
1 - Crie uma nova imagen (500 x 500
pixels)
2 - Preencha a imagem com um tom
de amarelo, #FFF0A3 por exemplo. Esta
cor será a cor da pele, figura 01.
© 2004 Revista Procedural Ano 01 - Número 01
8. Textura Criando Texturas Intercaláveis com o Gimp
Figura 03: Quadrantes antes e depois do
deslocamento.
Figura 01: Imagem preenchida com um tom Figura 02:Desenhando as manchas, cor Complemente os espaços vazios
de amarelo, #FFF0A3. usada #E28D0D. com mais manchas, figura 05.
Cuide para não desenhar nas
bordas.
3 - Crie uma camada transparente e desenhe manchas como mostrado na figura 02. 5 - Crie outra camada transparente.
A cor usada aqui foi #E28D0D. Esta camada conterá as manchas preta.
4 - Pressiome as teclas , clique no botão “Deslocamento dividido por (x/2, Repita o processo anterior de
y/2)”. Isso fará com que a camada se desloque 250 pixels para baixo e 250 pixels para deslocar e pintar as partes que eram
a direita. Com isso, podemos agora desenhar onde eram as bordas da imagem. bordas, figuras 06 e 07.
Veja como os quadrantes são deslocados na figura 03, e a imagem resultante é 6 - Una todas as camadas.
mostrado na figura 04:
© 2004 Revista Procedural 8
9. Textura Criando Texturas Intercaláveis com o Gimp
Figura 04 e 05: Complementando os espaços vazios com mais Figura 06 e 07: Pintando as bordas e centro das manchas.
manchas, evitando as bordas.
7 - Para dar um maior realismo à pele, aplicaremos agora um
filtro. Selecione o filtro Filtros→Artistico→Gimpresssionist. Em
“Preestabelecidos,” selecione “Furry”, clique no botão “Aplicar”
e em seguida no botão “Ok”, figura 08.
8 - Teste. A figura 09 mostra a textura repetida quatro vezes.
Note que não há marcas nos encaixes.
Figura 08 e 09: Textura pronta e repetida quatro vezes,note que não
Gilberto Gomes Junqueira
há marcas nos encaixes ggj@gimp.com.br - www.gimp.com.br
© 2004 Revista Procedural 9
10. Game Engine
Little OTO traduzido por Natanael Nunes Osorio
Cancele os seus compromissos pelos
próximos... três meses, esse é um completo e
altamente detalhado artigo de como fazer um
jogo (estilo ação/tiro) no, adivinhe o que? Sim,
no fantástico Blender.
O objetivo deste artigo, é obter, no final, uma cena de jogo
mais ou menos como essa ao lado, ou ainda melhor, mas isso
cabe a você.
A “game engine” do Blender é bem sofisticada! Lenta,
mas sofisticada. Iluminação em tempo real, mecanismos
de física e de colisão internos, animações de malhas por
esqueleto e muito mais. É mesmo poderosa, você pode usar
todas estas características sem uma única linha de “código”.
É muito, muito poderosa!
Este artigo é orientado primeiramente para jogos nos estilos
de ação e tiros, mas a maioria das técnicas que eu explicarei
aqui aplicam-se a todo o tipo de jogos.
Em minha opinião, um jogo original não bem realizado vale
mais que um clone perfeito de um existente!
© 2004 Revista Procedural Ano 01 - Número 01
11. Game Engine Little OTO
Bem, vamos começar!! Euuh... onde começar? Boa Pergunta!
Com Blender é bem simples começar e finalizar um
“jogo” básico. Mas aqui, nós tentaremos fazer um “estilo
mais moderno e complexo de jogo”, como esses que vemos
em revistas (mas, para isto, é melhor você cancelar seus
compromissos por 3... anos).
Assim, necessitamos planejar um pouco. Na base de quase
todo o jogo a tempos, há um “ator” (personagem), figura 01. Figura 01: Detalhes do personagem do jogo.
Honrando isso, nós começaremos com o personagem
principal! Vamos chamá-lo “Pequeno OTO” .
Faça alguns esboços a mão (mesmo se você não tem a
habilidade), formas e linhas auxiliares realmente básicas na vista
dianteira em uma folha A4, figura 02.
Escolha o que você gostou e adicione algumas cores (outra
vez, trabalho básico), e se você sentir a necessidade, em uma
outra folha, faça um desenho da vista do perfil do persongem,
figura 02 (centro).
Se você acha tudo isso difícil de fazer, ou quiser seguir
atentamente esse artigo, apenas salve estas imagens em seu
disco rigido, as usaremos mais tarde.
Uma outra solução, que eu não recomendo, é utilizar um
antigo personagem em High Poly dos seus e reduzir o número Figura 02: Esboços do personagem do jogo.
dos vertices com a ferramenta Decimator.
© 2004 Revista Procedural 11
12. Game Engine Little OTO
Ponha seu personagem em uma nova Sua malha deve ser algo “fechado” e “limpo” (sem furos e sem linhas cruzadas ou
cena, selecione-o, e dentro da janela dos parecido) ou o Decimator não funcionará.
botões de edição (), mova-o a barra de Uma das perguntas que aparece frequentemente é o tamanho dos objetos e da
rolagem do Decimator para o valor desejado. cena. Cada pessoa tem sua própria modo, e o Blender não tem um sistema padrão de
Quando você estiver satisfeito com o medidas (ex: um quadrado da grade = 1cm).
resultado pressione o botão Apply para O meu é: Adicione um cubo padrão a sua cena! Terá uns 1,0 X, Y, e Z de tamanho,
terminar a transformação, figura 03. assim, dois quadrados de grade padrão! Figura 04. Um Personagem humano terá cerca
de 3 ou 4 quadrados da grade, figura 05.
Isso é “limpo” e fácil; uma grade quadrada = 0,5m.
A fim obter o melhor “desempenho” para o jogo (ou outros futuros) deveremos seguir
algumas régras.
Figura 03: Uso da ferramenta Decimator,
high poly, à esquerda, e depois do uso da
ferramenta decimator com menos polígonos,
à direita.
Figura 05: Comparação entre o cubo padrão e
Figura 04: Propriedades do cubo padrão. o personagem.
© 2004 Revista Procedural 12
13. Game Engine Little OTO
A robusta “Game Engine” do Tentaremos selar um bom acordo entre
Blender é muito tolerante, mas eu a “beleza” e a “velocidade”.
prefiro permanecer junto das técnicas Muito importante também: a malha
“universais” (no caso de você querer se dos seus personagens (modelos) devem
tornar um “profissional de classe mundial” ser “fechadas”, sem furos, normais
estes métodos se aplicam as grandes invertidas, ou bordas cruzadas.
Games Engines como o Half-Life® ou O Blender tolerará isso mas as engines
Quake®). comerciais profissionais não, figura 06!
O mais importante: Quanto menos Tenha cuidado!
poligonos melhor! Abra o Blender e delete o objeto
padrão. Com o cursor 3d centrado,
na vista superior () pressione (),
Pressione (barra de espaço) Add→ Figura 07: Cabeça do personagem.
Mesh→UVsphere, atribua 8 segmentos e
8 anéis. Isto será a cabeça! Se a imagem
de fundo atrapalhar seu trabalho você poder desabilitá-la com o pequeno botão com
o ícone da imagem de um rosto na barra botões (seta vermelha). Com a esfera ainda
selecionada diminua um pouco seu tamanho no eixo Z, figura 07.
Selecione a primeira esfera, entre no modo de edição, e do alto adicione um Plano
ao lado esquerdo da esfera (lado direito do corpo, o quadrado verde) e siga os seguintes
passos:
1. Selecione os dois vértices dianteiros e faça extrusão () neles 5 vezes, para fazer
Figura 06: Personagem com furo na malha, a parte dianteira superior do corpo, figura 08 seta 1.
tente evitar isso!.
© 2004 Revista Procedural 13
14. Game Engine Little OTO
2. Selecione os dois vértices traseiros do plano original e Faça uma cópia de exemplo da esfera da cabeça e sem mover o
faça extrusão 3 vezes, para fazer a parte traseira do corpo, mouse pressione () e então () para espelhar a esfera. Selecione
figura 08 seta 2. a nova esfera, entre no modo de edição, selecione todos os vértices
3. Na vista superior (), selecione toda a fileira esquerda dos e delete-os (nós não necessitamos duas cabeças). No meu do
planos para fazer os ombros e para cobri-los e o torso traseiro, Blender a metade espelhada fica preta, figura 09, e eu não posso
figura 08 seta 3. mudá- la??!!
Agora usaremos uma técnica útil; nós precisamos modelar
somente a metade do pequeno OTO, o Blender fará a outra
automaticamente.
Figura 08: Modelagem dos ombros do personagem, seta 1: 5 extrusões
para frente, seta 2: 3 extrusões para trás e seta 3: 3 extrusões para o
lado. Figura 09: Modelagem do tronco do personagem.
© 2004 Revista Procedural 14
15. Game Engine Little OTO
Figura 11: Modelagem do peito do
personagem, vista superior.
Está aqui uma etapa importante!
Você deve remodelar, refinar e construir
algumas faces. Na figura 11 você tem um
“corte” na vista superior da área do peito
Figura 10: Seleção de vértices para modelar o (linha verde) estas linhas e faces devem Figura 12: Modelagem das pernas.
peito do personagem. ser “limpas” antes das etapas seguintes.
Tenha cuidado! A parte difícil é a redefinição de todos
Quando estiver feito, selecione os pontos os vértices, figura 12. Como você pode
Para continuar a modelagem do torso, do semi-círculo do torso e faça extrusão, verificar na imagem, você deve tentar
selecione a fileira inteira da extremidade mova-os e mude sua escala mais ou menos manter as fileiras dos vértices mais ou
do ombro (linha vermelha), figura 10, faça 12 vezes (use a imagem do background menos alinhadas (mais uma vez se você
extrusão e gire. Após isso selecione os como uma guia) para fazer todo o corpo. está meio perdido, salve uma imagem e
vértices da “linha verde”, figura 10, e faça Com o Blender é bem fácil de fazer a carregue-a como um plano de fundo).
extrusão para baixo. forma básica de um personagem.
© 2004 Revista Procedural 15
16. Game Engine Little OTO
Para modelar o braço nós usaremos
o mesmo método que o pé. Selecione a
última fileira de vértices no alto do corpo
(veja a inserção) e faça a extrusão 5 ou 6
vezes até o pulso. Faça extrusão outra vez
para fazer a mão.
A mão necessita a atenção especial.
Você deve decidir se você quer modelar
a mão como um bloco, ou com dedos
individuais. Aqui eu modelei dois dedos Figura 14: Números de vértices do
fora do bloco da mão. Mais tarde, quando Figura 13: Adicionando uma arma. personagem.
o modelo estiver pronto, a mão esquerda
necessita ser remodelada (ou talvez não).
Para terminar o modelo selecione uma Pressione () e escolha “Use Armature” no menu pop-up. Você deve fazer
metade então a outra (+ Clique do um grupo com o nome exato do grupo da mão, para a arma, e nomear todos os
Botão Direito do Mouse) e pressione seus vértices.
. Construa agora as faces uma por Pequeno OTO está finalmente terminado.
uma para preencher a área do meio. Entre no modo de edição verifique na barra do topo as estatísticas do modelo: 511
Se você tiver suas armas já modeladas, vértices e 554 faces, figura 14.
ponha uma na cena, desta maneira que Nada mau! Note que se você usar os modelos do Blender com outras game engines,
você pode ajustar a posição e a forma da que o Blender (e eu) trabalhamos principalmente com 4 vértices por face . Ao exportar
mão, figura 13. Para relacionar a arma ao (para 3ds por exemplo), as faces serão triangularizadas, assim o Pequeno OTO terá
modelo, selecione a arma a seguir selecione mais ou menos 1100 faces. Contagem bem baixa, para os padrões de hoje.
o esqueleto (quando você tiver um).
© 2004 Revista Procedural 16
17. Game Engine Little OTO
Figuras 16 e 17: Objeto em modo de seleção de face, com as faces selecionadas.
Figura 15: Extrusão do cubo.
Divida sua janela 3D ou se você usar a configuração padrão apenas escolha “sreen”
É aqui, que você deve provar que você no botão SRC: na barra superior. Faça uma das janelas uma janela de imagem (clique
merece ser uma “fábrica de jogos de um no botão “Current Window Type” e escolha esse com um rosto. Uma janela cinza
homem só”, na tarefa de inserir uma escuro com um quadrado cinza claro).
textura UV. Na janela 3D selecione o objeto em forma de cruz e pressione () para entrar no
Vamos começar com um exercício modo de seleção de face. Com o clique do Botão Direito do Mouse sobre as cinco faces
legal. Adicione um cubo, e faça extrusão dianteiras do objeto (Pressione para adicionar faces à seleção), continue com as
nos quatro vertices superiores para obter faces traseiras também! Agora na vista dianteira, com o cursor na janela 3D pressione
uma forma de cruz como na figura 15. () e escolha “From window” no menu, as faces selecionadas aparecerão na janela da
Quando fizer a extrusão pressione imagem, figura 16.
para deixar os vertices em cima da linha
da grade.
© 2004 Revista Procedural 17
18. Game Engine Little OTO
Mais uma vez, as técnicas que eu
explicarei aqui são mais ou menos
“universais”. O editor de textura UV do
Blender é muito bom, mas falta ao menos
uma característica importante: Grupos!
Não podemos salvar grupos de faces
selecionadas. Para outras game engines
(como 3DGameStudio®, Half-Life® ou
Quake3®) você pode usar o grande Lyth
Unwrapp , mas é um bocado complicado
para usuários do Blender (troca do
formato da arquivo). Em todo o caso nós
tentaremos conseguir o mesmo resultado Figura 18: Faces selecionadas e rearranjadas. Figura 19: Textura pintada.
com Blender.
Está aqui o método: o quadrado cinza,
figura 18, claro é a “área visível de objeto”. O problema com seleções de grupos diferentes é que sobreporão e se tornarão
Cada pixel da textura que aparece aqui inúteis. Assim, cada vez que você faz um grupo de seleção mova-o para a um canto ou
dentro de uma seleção da face aparecerá mais distante na área mais escura.
no objeto também! Assim nós devemos Uma vez que você selecionou todas as faces, você deve rearranjá-las na área cinza
organizar as faces do objeto a fim de usar clara. É muito importante que todo o tamanho das faces sejam equivalentes, figura 18.
o máximo de espaço disponível possível. Abra agora o Gimp (você não o tem? Isso é possível? Um software GRATUÍTO
No lugar da janela da imagem as faces já parecido com o Photoshop® disponível até mesmo para Windows®? Faça uma cópia da
selecionadas em um canto. Selecione o janela de imagem. Com o Gimp (ou o outro editor), corte o quadrado cinza claro (deve
lado e a vista superior também. ser uma área quadrada real) e salve-o em um tamanho de 512x512.
© 2004 Revista Procedural 18
19. Game Engine Little OTO
Figura 20: Colocando a textura sobre o modelo.
Figura 21: Ajustando a textura sobre o modelo.
Agora, em uma camada diferente, usando a imagem como Na janela 3D, Pressione () e a textura aparecerá.
uma guia, começe à “pintar” sua textura, figura 19! Normalmente, a textura em um dos lados do objeto fica
Você não necessita realmente pintar ou desenhar. Se você invertida, porque nós texturizamos ambos os lados ao mesmo
já tiver uma imagem (ex:photo) apenas adapte-a (cortar, girar, tempo. Para resolver o problema, selecione as faces erradas
mudar a escala, etc..) para ajustar a disposição das faces. Ou na janela 3D, e na janela de imagem (normalmente a mesma
use um outro método: carregue sua imagem “pronta” e selecione seleção aparece também) selecione as faces e espelhe-as
e adapte as faces às áreas desejadas na imagem. com as teclas () e ().
Quando seu trabalho da textura estiver pronto, salve a imagem Aqui está o objeto terminado, figura 21. Note como as
no formato TGA ou JPG e no tamanho de 256x256 pixels, e linhas verdes e vermelhas parecem sem emenda através das
carregue-a na janela da imagem, figura 20. diferentes faces.
© 2004 Revista Procedural 19
20. Game Engine Little OTO
Agora, que você terminou o pequeno exercício acima, você é Agora, nós precisamos escolher quantas e quais faces irão
euh... está preparado pra tarefa seguinte: texturizar o Pequeno “cobrir” a imagem da textura. Com a interface de configuração
OTO . Bem, vamos começar. Adicione um material brilhoso à das duas janelas (setas vermelhas), na janela 3D, selecione a
malha do Pequeno OTO, com a cor básica da futura textura. malha do Pequeno OTO e pressione () (para ter mais detalhes
Adicione três ou quatro lâmpadas (ao menos um Spot com de como trabalhar com o modo de seleção de face, por favor, leia
sombras) e coloque-as como na imagem da esquerda acima. o tutorial do pinball).
Renderize com pelo menos um tamanho 1024, e salve a imagem Na vista dianteira (Numpad ) selecione com cuidado as faces
no formato de TGA. Gire a malha 90º no eixo z (para manter da parte dianteira do torso que são quase planas, figura 23.
a mesma iluminação), renderize outra vez e salve-o. Repita o
procedimento para as outras vistas da malha, figura 22.
Figura 22: Renderizando o personagem na visão frontal. Figura 23: Selecionando as faces frontais do torso do personagem.
© 2004 Revista Procedural 20
21. Game Engine Little OTO
Com as faces selecionadas ainda, pressione () na janela 3D, Para ajudar seu trabalho de seleção, você pode esconder as
e escolha “From Window” no menu “UV Calculation”. A seleção faces já selecionadas. Pressione () (com faces selecionadas)
das faces aparecerá na janela da imagem, figura 24. e a seleção será ocultada, incluindo a janela de imagem, figura
Nesta janela selecione todas as faces, diminua-as, e coloque- 25. Isso porque é importante que você coloque cada seleção
as na área mais escura perto do canto. Para salvar seu trabalho nova em uma área de “segurança”. Se as diferentes seleções
selecionado, pressione e entre no modo de edição. se sobrepuserem se tornam inúteis e você deve reiniciar seu
Na janela de edição crie um novo grupo e atribua uma trabalho.
seleção para ele (de a ele um nome com significado).
Figura 24: Escolhendo o tipo de cálculo UV. Figura 25: Escondendo as faces selecionadas.
© 2004 Revista Procedural 21
22. Game Engine Little OTO
Eu devo adverti-lo: SEJA MUITO CUIDADOSO E PRECISO Você pode usar a vista de trackball para selecionar as faces,
ao selecionar e ao esconder as faces. Você não pode salvar mas para usar o menu “UV Calculation” você deve estar em uma
seus grupos de faces, assim, se você cometer um erro, e vista ortogonal (Numpad ) para fazer um trabalho preciso.
tiver que revelar as faces, seu trabalho está perdido (será Quando você encontra uma forma mais ou menos
muito difícil rearranjar as seleções). Esta tarefa é muito cilíndrica você pode tentar o item do cilindro do menu “UV
desanimandora, tome cuidado, figura 26. Calculation”. Selecione as faces de um braço e no menu “UV
Clalculation” clique em cilindro. A imagem da direita mostra
a você onde a zona do “corte” aparece. Mantenha isto em
mente quando “pintar”, figura 27.
Figura 27: Cálculo de UV cilíndrico para p braço, os pontos marcam a
Figura 26: Todas as faces do torso selecionadas. zona de corte.
© 2004 Revista Procedural 22
23. Game Engine Little OTO
Tente o mesmo método para os pés, ou selecione e espelhe
nas vistas dianteira , lateral e traseira, teclas (Numpad
), (Numpad ) e (Numapda) e use no menu o “UV
Calculation”, figura 28.
Quando TODAS as faces estiverem escondidas (selecionadas),
comece o trabalho de organizar. Figura 29: Organizando as faces do torso.
Selecione e disponha os grupos que compartilham bordas na
mesma área (ex: parte frontal do torso e o topo do braço, lateral
do topo do braço, traseira do torso, ombros). É muito importante
que, as faces que compartilham de bordas e vértices estejam
alinhadas e tenham o mesma escala, figura 29.
Está aqui a disposição final (pra mim), figura 30 dos
diferentes grupos de faces. O seu pode estar completamente
diferente, não há nenhum problema nisso. Use agora o mesmo
método que nós empregamos no exercício. Faça um cópia da
imagem, abra-a em um programa da manipulação da imagem,
e salve ele no formato TGA, JPG ou PNG em 256x256 ou
em 512x512 ou mesmo em tamanho 1024x1024 (é sua
decisão).Repare (na imagem acima) que ha muitas faces
pequenas fora dos grupos! Foram esquecidas, as quais nós
devemos alinhar manualmente mais tarde.
Figura 28: Seleção das faces das pernas.
© 2004 Revista Procedural 23
24. Game Engine Little OTO
Figura 30: Organizando as faces de todo o Figura 31: Personagem com a textura e textura pintada..
personagem.
Agora o grande momento! Carregue OK, após a parte da textura, você está ainda ai?! Bom! Você é forte! Você verá após
sua textura “fresquinha” na janela de esta uma seção “fácil”, as animações!
imagem, pressione na janela 3D, Mas antes, algumas considerações filosóficas. Você (e eu também) não faremos um
figura 31, e... WOW , o Pequeno OTO “jogo de qualidade comercial” (como aqueles que nós vemos nas revistas de jogos) com
é simplesmente... lindo (Rezo por sua o Blender . Eu sei que é lamentável. Assim todas aquelas técnicas que estou usando,
saúde mental). tem o objetivo de fazer “coisas pequenas bem bonitas” e rápidas . Há modos melhores
de fazer todas (especialmente animações), cabe a você tentá-los.
© 2004 Revista Procedural 24
25. Game Engine Little OTO
Figura 32: Personagem com esqueleto. Figuras 33, 34 e 35: Posicionamento do
cursor 3D, construção dos ossos do braço.
Figuras 36 e 37: Construção dos ossos da
perna e esqueleto completo.
Vamos começar. Pra animar uma malha nós precisamos de um esqueleto. Ponha
seu cursor no centro da malha. Na vista lateral, adicione um esqueleto com três ossos.
Na vista frontal (Numpad ) localize o cursor como na figura 33. Sempre no modo de
edição adicione um esqueleto com três ossos, figura 34 e 35. Faça o mesmo para fazer
um pé. Para fazer o outro, apenas selecione todos os ossos do pé, copie e espelhe-os .
Faça o mesmo para o braço, figura 36.
Está aqui a configuração completa do esqueleto, figura 37. Depois que você tiver
terminado a criação dos ossos, você deve nomeá-los (muito importante), figura 38.
Selecione o esqueleto, entre no modo de edição (), selecione todos os ossos (), e
na tela dos botões de edição, acione o botão azul “Draw Names”. Figura 38: Nomeando os ossos.
© 2004 Revista Procedural 25
26. Game Engine Little OTO
Clique na caixa cinza claro para mudar
o nome padrão.
Siga a norma padrão para os ossos
simétricos, use .left (esquerdo) e .right
(direito) após o nome, deste modo você
pode usar algumas funções úteis mais
tarde.
Nas caixas cinza claro você deve ligar
os diferentes ossos (o Blender fêz quase
todo trabalho, em todo o caso) há um
osso “especial”, o “root (raiz)”, o pai (a
espinha na imagem, a caixa de ligação Figura 39: Criando os grupos de vértices. Figura 40: Atribuindo o esqueleto à malha.
permanece vazia, use a figura 38 como
uma guia).
OK, respire fundo, devemos atribuir 4- Deselecione... ou não, você pode esconder a seleção dos vértices na janela 3D
todos os vértices aos ossos do esqueleto. para facilitar seu trabalho. Para ter animações “limpas”, cada vértice deve ser atribuído
Selecione a malha, entre no modo de a um osso somente!
edição, selecione os vértices da cabeça Novamente, tenha cuidado!
nos botões de edição haja assim: Repita estas etapas para todos os vertices da malha. Boas deformações da malha
1-Faça um novo grupo precisam de uma boa escolha dos vértices atribuidos. Toma seu tempo, é uma tarefa
2-Nomeie ele exatamente como o osso longa e cansativa.
correspondente Para relacionar a malha ao esqueleto, primeiro selecione a malha, e depois o esqueleto
3-Agora pressione o botão “Assign”, e pressione (), e escolha “Use Armature” no menu “Make Parent”, figura 40.
figura 39.
© 2004 Revista Procedural 26
27. Game Engine Little OTO
Agora você terá um outro momento agradável (eu espero). Como você observou (eu espero) na maioria dos jogos,
Selecione o esqueleto e entre no modo de pose .Selecione um o personagem do “jogador” executa uma ação quando você
dos ossos (ex: o pé) e gire-o, figura 41, o a malha seguirá, e isso pressiona uma tecla do teclado (ou do mouse).
é uma... alegria!! Freqüentemente há muitas ações disponíveis. Eu explicarei
Verifique todos os ossos, se alguns vértices permanecerem somente o mais básico: o ciclo de andar. Desse modo você
no lugar, retorne à tarefa da atribuição e adicione os vértices aprenderá o básico e facilmente (hehe) fará outros. Vamos
restantes ao grupo de osso. começar.
Ainda ai!? Uh!! Divida sua janela 3D em pelo menos 3 janelas, uma é a
Bem, agora será divertido, eh eh! janela do “Action Editor”. Na janela Info, na barra superior,
pressione o botão KeyAC (quadrado vermelho), desse modo,
o Blender adicionará chaves de posição automaticamente.
Na janela 3D selecione o esqueleto e entre no modo de pose
(). Na janela da ação pressione o botão quadrado pequeno
para adicionar uma nova ação.
Agora verifique se você está no Quadro1 e coloque os
membros do modelo na posição de maior amplitude do andar
(um conselho muito útil: ao girar um osso, mantenha a tecla
() pressionada, desta maneira a rotação se move por etapas
de 5º. Mais tarde você estará muito grato a mim). Quando
estiverem selecionas todos os ossos, tecle (), pressione a tecla
() para acessar o menu “Insert Key” e escolha o item “Rot”.
Observe que na janela de ação , os canais do osso e as chaves
apareceram (você deve pressionar o botão da “casa” talvez para
Figura 41: Testando a relação malha/esqueleto. vê-las), figura 42.
© 2004 Revista Procedural 27
28. Game Engine Little OTO
Nós faremos nosso orgulhoso guerreiro obedecer nossas
“ordens”, em outras palavras “como controlar nosso personagem
do jogador”!?
Nas quatro imagens da figura 43 eu mostro as quatro passos
básicos de um ciclo da caminhada (de agora em diante, você não
necessita mais inserir manualmente as chaves.
Cada vez que você move um osso, o Blender o fará
automaticamente).
Imagem 1-Frame 1
Imagem 2-Frame 5
Imagem 3-Frame 9
Imagem 4-Frame 12
Quadro 16 - O mesmo que o quadro 1 mas espelhado. Para
Figura 42: Criando uma pose e adicionando suas chaves em uma fazer isto retorne ao quadro 1 pressione o botão da seta pra
ação. baixo (número 1 da imagem 4), volte para quadro 16 e pressione
a tecla da seta cor de rosa (número 3 da imagem 4). Faça o
mesmo para as outras poses nos quadros 20 , 24 , 28 . O
quadro 32 é exatamente o mesmo pose que o quadro 1 . Assim
volte para o quadro 1, pressione o botão da seta para baixo (1) e
no quadro 32 pressione a tecla da seta pra cima (2). Você pode
conseguir o mesmo resultado na janela de ação; selecione todas
as chaves no Quadro1, Pressione e para movê-lo para o
quadro 32 (deixe pressionada, para mover para o quadro 1 ).
Figura 43: Criando uma caminhada.
© 2004 Revista Procedural 28
29. Game Engine Little OTO
Agora que nós temos um pequena ação, nós podemos
começar fazer um “grande” jogo. Em quatro etapas!
1-Selecione o esqueleto. Nos botões de tempo real () acione
os botões “Actor” e “Dynamic”. Ajuste o tamanho: de modo que
o ponto esférico cor-de-rosa cubra a malha (essa esfera é um
sensor do campo de colisão).
2- No Bloco lógico as teclas adicionam um sensor do teclado,
e no campo Key escolha uma tecla que fará o personagem se
mover pra frente!
3- Ligue o sensor do teclado ao recém adiciondo controlador
“AND”.
4- Ligue o controlador “AND” a um novo atuador de
movimento e um novo atuador de ação dentro de seu campo
“AC:” o nome exato da ação do ciclo de caminhada que nós
fizemos antes, e no campos “Sta:” e em ”End:”, duração da
animação do ciclo de caminhada, figura 44.
Antes que possamos testar nosso novo controle de teclado,
nós devemos adicionar uma cena a nosso jogo. Adicione um
cubo, entre no modo de seleção de faces, (), carregue uma
textura (ou mais) para “pintar” as paredes, chão e teto do sala.
Por padrão as normais dos novos objetos novos apontam pra
parte externa. Mas nossa “cena de jogo” fica no interior”.
Figura 44: Adicionando controles para caminhada.
© 2004 Revista Procedural 29
30. Game Engine Little OTO
Então, pressione , selecione todos
os vértices e pressione para fazer
as normais das faces ficarem apontadas
para dentro. outra vez pra retornar
ao modo de seleção de faces e na vista
dianteira, selecione as partes dianteiras e
traseiras das paredes, Tecla e escolha
“From Windows” no menu. Na da janela
de imagem dimensione as faces como
no retângulo vermelho da figura 45 (a
textura da imagem se repetirá no eixo X Figura 46: Adicionando uma câmera.
das paredes). Repita isto para as outras Figura 45: Criando o cenário.
paredes, e texturize o chão e o teto de
acordo com seu gosto.
Apenas algumas coisinhas a mais Pequeno OTO. Os outros ajustes controlam a distância ao objeto e a altura da vista da
antes do momento grande. Nós câmera, figura 46. Ok, é o grande momento.
precisamos de uma câmera para fazer Mude para a vista da câmera, (Numpad ), pressione o botãozinho na barra
“nossa” vista. Adicione uma câmera à de icones (ou a tecla e...... isso é mágica (espero pra você, estou cansado, preciso
cena, coloque a mais ou menos atrás dormir).
do Pequeno OTO, apontando pra ele, Adeus!
e adicione sempre um bloco de sensor
lógico, ligado a um controlador “And” e Matéria original por Oto
otothecleaner@free.fr - http://otothecleaner.free.fr/artigos/artigos.html
ligado a um atuador de câmera com o
Tradução por Natanael Nunes Osorio
campo “OB:” com o nome exato do objeto natanaelno@yahoo.com.br
© 2004 Revista Procedural 30
31. Tutorial
Criação de Faróis no Blender por Leandro Cavalheiro da Silva
Este tutorial tem como objeto explicar, de forma
simples, como criar um farol no Blender.
Inicie criando uma esfera UV, figura 01.
Mude para visão lateral e em seguida entre no modo de
edição, remova a metade da esfera. Esta é a parte reflexiva do
farol, figura 02.
Figura 01 e 02: Criando uma esfera UV, e removendo metade da
esfera.
© 2004 Revista Procedural Ano 01 - Número 01
32. Tutorial Criação de Faróis no Blender
Em seguida, duplique a meia esfera , entre no modo de Duplique novamente a primeira esfera e entre no modo de
edição e espelhe no eixo Y, figura 03. edição e vá para a visão frontal, lembrando que o pivot deve ser
Pressione a tecla para configurar o cursor 3d como pivot, o cursor 3d e deve estar no centro da esfera como na figura 06.
ele deve estar obrigatoriamente entre as meias esferas como na Em seguida pressione na seqüência: , e , dimensione
figura 04. um pouco para fora os novos vertices. Esta é a base do farol,
figura 07.
Figuras 03, 04 e 05: Duplicando e espelhando a meia esfera, Figuras 06 e 07: Modelando a base do farol, com a extrusão e
posicionamento do cursor 3D, e dimensionamento da meio esfera. dimensionamento de uma cópia da esfera inicial.
Agora dimensione a segunda esfera, pressione , e com Está concluida a parte de modelagem.
pressionados, clique no Botão Esquerdo Mouse e mova o
mouse, até que o objeto seja dimensionado apenas no eixo Y, de
modo que ela fique como na figura 05. Este é o vidro do farol.
© 2004 Revista Procedural 32
33. Tutorial Criação de Faróis no Blender
Texturizando
1. Vidro: Selecione o objeto que constituirá o vidro e adicione uma textura, como
a da figura 08. Configure os materiais da seguinte forma: o Map Input para definir a
forma do bumpmap no vidro. Mapeamento Orco, SizeX 03.00, SizeY 15.00, e SizeZ Figura 08: Textura do material para o vidro.
05.00, figura 09.
Figura 09: Configuração do material do vidro.
2. Metal: Para o metal eu utilizei uma textura “genérica” de metal, mas se preferir
você poderá usar envmaps
3. Base: Este aqui não tem segredo, simplesmente ponha sua criatividade em
funcionamento. Crie uma textura Stucci para formar um bumpmap. E configure os
materiais da seguinte forma: Aumente os valores no Map Input para dar a impressão de
um material aspero. SizeX 10.00 SizeY 10.00 SizeZ 10.00, figura 10.
© 2004 Revista Procedural 33
34. Tutorial Criação de Faróis no Blender
Figura10: Configuração do material da base.
Está pronto!
Esta forma pode ser utilizada pra fazer
faróis de carros e luminárias.
Leandro Cavalheiro da Silva
(CyberLeCS)
© 2004 Revista Procedural 34
35. Python
Programando Programadores por Carlos López Yrigaray
Python para Blender
Python Se recorreu às linguagens interpretadas em formato de texto.
Não só isso, mas desenvolveram outros como Java®, variações
Há duas classes de linguagem de programação: os de HTML ou SQL... mas essa e outra história.
compilados e os interpretados. A diferença que salta aos olhos Quando os criadores do Blender (a empresa NeoGeo®)
é que um programa em uma linguagem compilado é ilegível. decidiram inserir uma linguagem de acesso a objetos, pensaram
Mas isso é porque está otimizado e reorganizado para que nosso em Python como a forma ideal por ser esta também orientada a
sistema operacional o entenda diretamente, e então fazê-lo rodar objetos (um “Blenderobjeto” se converte em um “Pythonobjeto”
e mais, será rápido. e vice-versa) e ser interpretado, interativo, de muito alto
Faz pouco tempo (ou faz muito...?) os computadores não nível, tem módulos, exceções, classes e, sobre tudo (e neste
tinham capacidade para executar programas complexos que ponto ganha de seus concorrentes Perl e JavaScript) é muito
estivessem escritos em uma linguagem interpretada (lembram rápido e fácil de aprender, e tão legível que pode usá-lo como
do BASIC?), porque existem muitos passos intermediários desde pseudocódigo.
a leitura de uma instrução até que o sistema devolva uma
resposta. Assim que se converteram em métodos para escrever
scripts dentro de outros programas. Como aprender a programar sobre o Blender
Não obstante, a invenção da rede foi o que possibilitou formas
necessárias de interagir com o usuário de forma rápida, fácil de Talvez o inconveniente do Blender seja a documentação. Não
transmitir, eficaz e independente da plataforma usada. a falta dela, sim a dificuldade de encontrar o que se busca.
© 2004 Revista Procedural Ano 01 - Número 01
36. Python Programando Programadores
Talvez por esta carência vem surgindo comunidades por Um primeiro esforço serio de fazer um tutorial da API
todo o mundo em todos os idiomas, como um processo que foi de Carsten Wartmann, um dos mais ativos membros da
pareceu iniciar no portal elysiun e que parece não terminar. comunidade original, autor de The Blender Book, e co-autor
Ali os usuários compartilham o que descobriram, mostram e dos livros oficiais. Em 2001 escreveu o tutorial de introdução No
desenvolvem trabalhos ou criam projetos em grupo. Fear of Snakes para Linux-Magazine® (em alemão), que Martin
Mas, o que há de Python? Estão documentados a linguagem e Strubel traduziu para o inglês.
a API do Blender? Como resposta em espanhol, existe agora Pythonlópes (agora
Apesar das mudanças que sofre e das discussões contínuas em português? para a revista Procedural), uma série de cinco
entre os desenvolvedores atuais, podemos atualmente nos lançar capítulos de introduçao a API que cobrem seus aspectos básicos.
sem medo na guarida da serpente e aprender a desenvolver
programas complexos para Blender. Nem há tanto o que buscar,
nem está tão desperdiçado como o resto da informação. API de Blender: o baile louco das versões
Enquanto Python, tem sua página central “desde” onde se
desenvolve e melhora, igual ao nosso API, cuja documentação se O maior problema que enfrentará o usuário que usa a
pode ver ou descarregar no sitio de desenvolvimento do Blender API do Python no Blender, é a troca que sofre desde que foi
(ver links no final do artigo). implementado, lá pela versão 1.7x. Não somente a evolução da
Bem, temos a documentação da API: o destaque das API, ampliando sua capacidade e melhorando sua velocidade;
palavras, ordens, métodos, funções que esta a nossa disposição. tão pouco o fato de que a síntaxe e os nomes dos comandos
E também podemos aprender Python com as guias que podemos foram mudando seus aspectos, como o faria a serpente.
encontrar em python.org: o Python Tutorial de Guido Van Além do mais temos que lembrar que a API se baseia em
Rossum, ou Dive Into Python, por exemplo. Como unir estes uma biblioteca, um arquivo chamado pythonXX que instalado no
conhecimentos? Que faremos agora, pilotando diante da janela diretório do Blender, e cotem toda a informação para interpretar
de texto do Blender? os scripts.
© 2004 Revista Procedural 36
37. Python Programando Programadores
Esta biblioteca faz com que não seja necessário instalar A última versão do Python com a que se compilou a
o Python em nosso computador, já que está diretamente biblioteca (neste caso Python 2.2x).
compilada a partir dos fontes, para uso exclusivo do Blender. Definir a variável PYTHONPATH corretamente.
Mas... que versão do Python estamos usando?
Vamos lá: em sua origem, a API se compilou com os fontes Com isto podemos usar sem problemas todos os scripts,
do Python 1.5 (o que gerava o arquivo python15.dll/.so). Desde exceto alguns antigos que usam bibliotecas externas.
então houve duas compilações da biblioteca: a versão 2.0
(python20) e a versão 2.2 (python22).
Isto não deixa de parecer uma piada para o usuário. Não E os que programam, que fazem?
obstante, existem scripts que fazem uso de bibliotecas externas
que não se incluem na compilação: desde a biblioteca string.py Desde o primeiro momento, Python serviu para cobrir as
para tratar textos, até o uso de funções matemáticas em carências existentes no Blender. Por ser um programa em
math.py. Isto faz com que o mais prático seja instalarmos o continuo desenvolvimento (que libera continuamente novas
interpretador inteiro do Python, e seja necessário definir uma compilações), e de tão grande magnitude, nós podemos esperar
variável global: PYTHONPATH, que contém os diretórios em que ter todas as características de um grande programa 3D e,
se encontram as bibliotecas externas. E aqui está o problema de ao mesmo tempo por exemplo, um modelador com todas as
ter instalada a versão correta do Python. utilidades conhecidas, um gerador de personagens de última
Qual é então a situação ideal para o usuário? geração e um sistema de físicas completo (aspiramos por tudo
Bem, tudo se reduz a ter instalado o seguinte: isso). Por ele, além de ajudar a cada usuário automatizando
tarefas repetitivas o tediosas, Python serve a comunidade
Diferentes versões de Blender para executar todos os Blender para criar ferramentas que talvez algum dia poderiam
scripts. inclusive fazer parte do programa, ou simplesmente aplicações
Todas as bibliotecas (python15, python20 e python22) no específicas dentro do programa.
diretório do Blender.
© 2004 Revista Procedural 37
38. Python Programando Programadores
Graças à interface gráfica (baseado em OpenGL®) que o pequeno Knife de Stefano Selleri (S68) (segue sendo mais
podemos ativar em um script, são criado no Python autênticos exato que a faca atual!), True Displacement Mapping de Manuel
programas completos. Recordo-me como primeira aplicação Bastioni e Alessandro Braccili, o recentemente integrado
completa a Shell Factory, o gerador de conchas marinhas de exportador de Yafray, que substituirá o Yable, YableX ou
Jean Michel Soler (jms), que além de ter a página web mais Extractor.
completa sobre Python e Blender com dezenas de tutoriais, e Não podemos citar aqui os scripts escritos durante tanto
muito atualizada (em francês). tempo, nem sequer uma seleção dos melhores. Nos deixamos
Um momento histórico no Blender foi o desenvolvimento de Tessalate, Walk.O.Matic, UV Face image exporter, Olikas,
uma ferramenta que simularia desde partículas influenciadas por Klopútils, MakeHuman, diversos geradores de plantas e cada um
processos físicos, até animação de tecidos. Era 2001, o nome do dos importadores/exportadores para incontáveis formatos.
programa Dynamica, mas a espera muito longa, os problemas
enormes, e ao final se implantaram somente alguns módulos
do programa (os que iam ser gratuitos). Apesar de tudo, se Links:
elogiando merecidamente o esforço de Alfredo De Graaf (eeshlo)
e Martin Poirier (theeth). Eeshlo foi também o autor de dynoise, Documentação sobre a API (versão 2.31):
uma biblioteca de geração de fractais escrita para Dynamica e http://www.blender.org/modules/documentation/231PythonDoc/index.html
que pode ser usada sobre Python. Python
Outro guru do Python API é Alan Dennis (Ripsting), que http://www.python.org
segue surpreendendo com novas versões de seu Fiber Generator No Fear of Snakes:
para criar e animar grama, pelos, etc. http://www.blenderbuch.de/tutor/
Entre as aplicações “visionárias”, que se tornaram (quase!) Forum do Elysiun lista de scripts:
obsoletas, ao ser implementadas dentro de Blender, ferramentas http://www.elysiun.com/forum/viewtopic.php?t=8095
que as substituirá, se encontra o Lipsync de Chris Clawson e
López Yrigaray (Klópes)
Lyubomir Kovachev (para animar a fala de um personagem), klopes@unizar.es - http://klopes.tk
© 2004 Revista Procedural 38
39. Armature
Construindo um Esqueleto Simples por Andréia Leal Schemid
Construindo um esqueleto para personagem
não segmentado e animado por cinemática direta.
Ossos são os meios mais poderosos de criar movimentos
realistas em um personagem. Diferente de personagens
segmentados nos quais podemos apenas rotacionar suas juntas,
ossos também deformam a malha propiciando ao personagem
uma movimentação semelhante a da pele e músculos. A
utilização de ossos permite-nos criar um esqueleto virtual em
nossos personagens, o qual deforma a malha quando movido.
Para que esta técnica possa ser utilizada iniciamos nosso
personagem modelando seu corpo como uma malha única,
depois criamos uma série de ossos que vão formar o esqueleto
do nosso personagem, juntamos a malha ao esqueleto e, ao
movermos os ossos do esqueleto, a malha do personagem se
deforma para acompanhar o movimento do osso.
É claro que esta descrição é bastante simplificada, conseguir
uma malha que se deforme suavemente pode ser um verdadeiro
problema. Muitas vezes, as juntas se enrugam, se abaulam,
se rompem ou se aplainam nos lugares errados, deixando o
personagem com aparência pior do que antes.
© 2004 Revista Procedural Ano 01 - Número 01
40. Armature Construindo um Esqueleto Simples
Usar ossos requer um bom planejamento durante a modelagem e na colocação
dos ossos, e também muita paciência refinando essa relação osso-malha para que o
personagem possa ser animado de forma adequada. As figuras 01, 02 e 03 mostram a
malha do personagem que usaremos neste artigo.
Cuidados com a Malha
Durante a modelagem da malha é necessário termos alguns critérios em mente para
facilitar a animação por ossos:
1. Modele as partes do corpo para que fiquem bem separadas umas das outras.
Quando utiliza-se a criação automática de grupos de vértices os ossos podem
acabar influenciando vértices que deveriam estar em outros grupos caso eles estejam
muito próximos. Como por exemplo, ao modelar a mão, é interessante deixar uma
distância entre os dedos figura 04 e 05, caso contrário o osso de um dedo pode acabar
influenciando outro. É claro que sempre pode-se rearranjar os vértices nos grupos
manualmente, porém essa distância facilita a visualização dos vértices na hora de se
construir os ossos do esqueleto e juntar a malha a ele.
2. Modele os membros na posição média entre seus extremos de movimento.
Deve-se sempre pensar quais são as posições extremas de cada membro ao movimentá- Figuras 01, 02 e 03: Malha do personagem
lo, e então modelar cada membro na posição mediana entre suas posições extremas. que será utilizada neste artigo, visão frontal,
lateral e posterior.
© 2004 Revista Procedural 40
41. Armature Construindo um Esqueleto Simples
Por exemplo, o braço quando esticado pode se movimentar
90° para cima e 90° para baixo, que são suas posições
extremos, assim tem-se uma variação de movimento de 180°,
sua posição mediana é estendido para o lado.
Modelando os membros em suas posições medianas evitamos
deformações indesejáveis quando temos que movimentar o
membro de um extremo ao outro extremo. Figuras 04 e 05: Ao lado, modelagem da mão com os dedos distântes
Nas figuras 04 e 05 temos a posição de meio movimento para entre si.
os dedos, eles não estão exatamente em meio movimento, mas
como o indicador é o dedo que mais se movimenta, essa é uma
boa posição para separar bem os dedos, e modelar suas dobras.
Nas figuras 06 e 07 temos a posição mediana de movimento
para cada membro do corpo.
Caso você já saiba que seu personagem não vá executar
nenhum movimento muito exagerado, então não é necessário
que se use a posição mediana para todos os membros, porém,
modelar desta maneira garante que, quando o personagem
executar um movimento exagerado, os problemas de deformação
da malha sejam minimizados.
3. Nas regiões das juntas é necessário uma densidade maior
de vértices.
Nas juntas é onde ocorrem as maiores deformações durante o Figuras 06 e 07: Personagem com seus membros na posição mediana
movimento do personagem, se tivermos uma quantidade boa de de seus movimentos extremos.
© 2004 Revista Procedural 41
42. Armature Construindo um Esqueleto Simples
polígonos nessa região evitamos que eles se deformem demais, No Blender a maneira mais prática é, ao iniciar a modelagem,
não ocorrendo aplainamentos. Assim devemos pelo menos fazer uma cópia que se altera junto com o original. Selecione a
duplicar a quantidade de vértices nessas regiões, como os pulsos, malha original, figura 10 e pressione para criar uma cópia,
cotovelos, ombros, joelhos, calcanhar, etc. como mostrado na figura 11.Para espelhar a cópia no Blender 2.31 pressione e
figura 08 abaixo no cotovelo, pulso, e dobras dos dedos. altere o valor de “Size X” (Tamanho no eixo X) para -1, caso o
eixo da malha esteja com a mesma configuração do eixo global.
Caso contrário altere o valor de “Size Y” ou “Size Z”, ou então
altere o eixo local da malha selecionando-a e pressionando
e confirmando clicando “Apply size/rot”, figura 12.
Outra maneira para espelhar a malha é pressionar na seqüência as
teclas , , , , o S é para escalonar, o X para restringir no eixo
X, e o -1 para escalonar um valor negativo fazendo o espelhamento, é
necessário no entanto ter o pivô de rotação e escalonamento no ponto
mediano, isso pode ser alterado na barra de ferramentas da Janela 3D,
figura 09.
Figura 08: Modelagem mostrando maiores detalhes no cotovelo, pulso Se você estiver utilizando uma versão anterior do Blender
e dobras dos dedos, para facilitar deformação. pressione e sem mover o mouse pressione , confirme
clicando o Botão Esquerdo do Mouse, caso o eixo global seja o
mesmo do eixo da malha.
4. Espelhe sua malha.
Quando modelar um personagem com malha única você
pode economizar muito tempo modelando apenas uma parte da
malha, espelhando-a e depois juntando as duas partes. Figura 09: Ativando o pivo no ponto mediano para rotação e
escalonamento.
© 2004 Revista Procedural 42
43. Armature Construindo um Esqueleto Simples
Figuras 10,11,12 e 13: Modelagem de metade da malha e seu espelhamento.
Caso contrário pressione ou dependendo da orientação vértices na malha copiada após juntá-la a malha original.
da malha, ou então altere o eixo local da malha como Para juntarmos a malha basta selecionarmos os dois lados e
mencionado acima. Coloque a cópia da malha ao lado da clicar , o confirmar clicando em “Join selected Mesh” como
original, como na figura 13. Se preferir coloque a cópia em outra na figura 14.
camada, e quando precisar verificar o personagem como um
todo basta ativar as duas camada.
Uma coisa que não será copiado são os grupos de vértices,
desta forma é necessário copiar novamente metade da malha
após criar os grupos de vértices, ou então criar os grupo de Figura 14: Para confirmar a junção dos dois lados da malha.
© 2004 Revista Procedural 43
44. Armature Construindo um Esqueleto Simples
Ao juntarmos a malha, um dos
problemas que podem aparecer é a
normal da cópia apontar para dentro da
malha, como o da figura 15, resultando
na falta de cor na parte externa da malha.
Para resolver esse problema entramos
em modo de edição, pressionando
, selecionamos todos os vértices
, em seguida pressionando ,
e confirmamos clicando em “Recalc
normals outside”, figura 18. Figuras 15, 16 e 17: Lado esquerdo da malha com os vetores da normal apontado para dentro
Para fechar a malha temos que da malha. 17 lado esquerdo da malha com os vetores da normal apontado para fora da malha.
selecionar os vértices das bordas das
duas malhas, isso pode ser feito mais
facilmente no Blender clicando
para ativar a seleção retangular assim
selecionamos os vértices desejados, é Figura 18: Confirmando o recalculo das
preciso muito cuidado para selecionar normais das faces para fora.
apenas os vértices da borda, como o da
figura 19.
Na barra de informações observamos
quantos vértices foram selecionados,
figura 20, neste caso temos 144 vértices Figura 19 ao lado: Vértice das bordas das
selecionados. duas malhas selecionados.
© 2004 Revista Procedural 44
45. Armature Construindo um Esqueleto Simples
“Mesh Tools” alterando o valor “Limit”
ao lado do botão “Rem Doubl” de 0.001
Figura 20: Barra de informações mostrando o para, por exemplo, 0.010, figura 22 e
número de vértices selecionados, o número de 23. Pressione o botão “Rem Double”
vérices do objeto, o número de faces selecionados, novamente e observe o número de
o número de faces do objeto, e a memória utilizada vértices removidos.
pelo programa. Caso o número de vértices seja maior
que a metade selecionada é porque
você selecionou mais vértices do que o
Podemos clicar a tecla , para chamar necessário, faça a seleção novamente.
o grupo de ferramentas especiais, figura
21, e clicar em “Remove Doubles”, deve
aparecer um menu com o número de Figuras 22 e 23: Alteração do parâmetro
vértices removidos e este número deve “limit” da ferramenta “Remove Doubles”.
ser metade da quantidade de vértices
selecionados, no nosso caso metade de Para alterar as visões da Janela 3D:
144 que são 72 vértices.
Caso apareça um valor menor é Numpad : visão frontal
porque os vértices estão muito afastados, Numpad : visão lateral esquerda
pressione a tecla , para desfazer a Numpad : visão superior
remoção dos vértices e mude a distância Numpad : visão posterior
na qual a ferramenta “Remove Doubles” Numpad : visão lateral direita
verifica, isto pode ser alterado na Janela Figura 21: Menu de ferramentas especiais, Numpad : visão inferior
de Botões de Edição da Malha no Painel acionadas pela tecla .
© 2004 Revista Procedural 45
46. Armature Construindo um Esqueleto Simples
Podemos também, antes de utilizar a ferramenta “Remove
Doubles”, juntar os vértices de modo que fiquem sobrepostos.
Para sobrepor os vértices centrais selecionados pressione a
tecla , para escalonar, arraste um pouco o mouse para um dos
lados e em seguida pressione , para restringir o movimento no
eixo X, mova o mouse até que os vértices estejam sobrepostos,
é importante que os vértices se movam em relação ao ponto Figura 25: Parâmetros para utilizar uma malha subdividida “SubSurf”.
mediano entre eles, que pode ser selecionado na barra de
ferramentas da janela 3D, figura 24. No Blender, trabalhar com este tipo de superfície é muito
simples, podemos transformar qualquer malha em uma malha
subdividida apenas pressionando o botão “SubSurf”, com
a malha selecionada, figura 25. O parâmetro “Subdiv: 1“
Figura 24: Barra de ferramentas da Janela 3D mostrando que os determina o número de subdivisões que será mostrado na Janela
vértices serão escalonados/rotacionados em relação ao ponto médio 3D, e o botão com apenas um número ao lado deste, indica o
entre eles. número de subdivisões que será feito durante a renderização.
Ativando o botão “Optimal” , se estivermos no modo de
visualização que permite ver o contorno (wire) do modelo,
5. Experimente usar Malhas Subdivididas “SubSurf” veremos apenas as linhas sem as subdivisões, se desativarmos o
Utilizar este tipo de superfícies significa construir uma botão veremos também as linhas de subdivisão na malha.
malha com um número pequeno de vértices, que na hora da Outra vantagem destas superfícies é que, a qualquer
renderização, vai ser subdividida e suavizada. Assim durante momento, você pode desativar essa subdivisão deselecionando
a modelagem temos uma malha com poucos vértices que o botão “SubSurf”, ou então tornar essa subdivisão permanente
funciona como se fosse uma grade de controle ao redor da malha pressionando , e confirmando no menu “Convert SubSurf
subdividida que será renderizada. to Mesh (keep original)”.
© 2004 Revista Procedural 46
47. Armature Construindo um Esqueleto Simples
Esqueleto ??
Junta da ponta
O esqueleto é composto por um conjunto de ossos
organizados em uma hierarquia. Um osso é basicamente um
seguimento, representado no Blender por um octaedro irregular,
figura 26, e duas juntas, representado por esferas, em seus dois eixo Y (eixo do osso)
extremos. Segmento do osso
É na junta da base que o osso pode ser rotacionado em seus (octaedro irregular)
três eixos, observe que o eixo Y está disposto no comprimento
eixo X
do osso. Quando rotacionamos o osso em um de seus eixos este eixo Z
permanece na mesma posição, figura 27.
Junta da base
A junta da ponta do osso é onde posicionamos a base de um
outro osso, este novo osso será filho do osso inicial, figura 28,
assim podemos montar uma hierarquia de ossos. Figura 26: Representação do osso e seus eixos de rotação.
45º eixo Z
45º eixo X
45º eixo Y
Figura 27: Rotação de 45º nos eixos Z, X e Y
do osso.
© 2004 Revista Procedural 47
48. Armature Construindo um Esqueleto Simples
cabeça
pescoço
braço ombro braço
mão antebraço antebraço mão
espinha
Figura 28: Posicionamento de um segundo
osso na junta da ponta do primeiro. quadril
coxa coxa
Hierarquia é uma forma de indicar ao
computador como o esqueleto é montado, perna perna
indicando ao programa que o osso do
dedo está ligado ao osso da mão, que por pés pés
sua vez está ligado ao osso do braço e
assim por diante.
Figura 29: Esquema da hierarquia do esqueleto, setas saem dos pais e apontam para o filho.
Referência “Animação [digital] de personagens” de George Maestri.
© 2004 Revista Procedural 48
49. Armature Construindo um Esqueleto Simples
A hierarquia tem a aparência de uma Um esquema da hierarquia do esqueleto que será montado neste artigo está
árvore. O tronco é pai dos galhos e os mostrado na figura 29, as setas indicam relação do pai para o filho.
galhos são pais dos ramos. Se movermos Esta estrutura hierarquizada de ossos, esqueleto, pode ser manipulada por
um objeto filho, o ramo, o objeto pai, cinemática direta ou cinemática inversa. Na cinemática direta o esqueleto é manipulado
tronco ou galhos, não se move. Se, por do topo da hierarquia para baixo. Por exemplo, se desejarmos que o personagem
outro lado, movimentamos um objeto pai, coloque a mão em um objeto a sua frente devemos rotacionar inicialmente seu braço
tronco, os objetos filhos, galhos e ramos, depois rotacionar o antebraço, em seguida rotacionar a mão e os dedos.
seguem o movimento do objeto pai
acompanhando seu movimento.
Assim como uma árvore, uma
hierarquia precisa de um tronco, uma
parte que controla todos os demais
objetos da hierarquia. Em um esqueleto
humanóide, o tronco é geralmente
atribuído aos quadris ou à pelve. A pelve
é mais próxima do centro de gravidade,
e é onde a espinha e as pernas estão
apoiadas, tornando a espinha, ombros,
braços, pernas, pés, etc., filhos dos
quadris ou pelve.
Assim cada elemento da hierarquia
possui um elemento pai, um ou mais
elementos filhos, ou ambos.
Figura 30: Movimentação do personagem por cinemática direta.
© 2004 Revista Procedural 49
50. Armature Construindo um Esqueleto Simples
Seguindo do caminho mais alto Tabela 1: Limites rotacionais nos eixos locais das juntas humanas. Referência “Animação [digital]
da hierarquia para baixo, figura 30. de Personagens” de George Maestri.
Cada rotação aproxima mais mão do
personagem ao objeto Limites Rotacionais nos Eixos Locais das Juntas Humanas
A pelve é a única parte da hierarquia
que pode mover o esqueleto como um Osso Junta da Base Tipo Eixo X Eixo Z Eixo Y
todo, pois é a raiz original da hierarquia.
Ao movimentar a pelve todo o corpo se Pé Tornozelo Rotacional 65° 30° 0°
move junto. Perna Joelho Articulada 135° 0° 0°
Para utilizarmos a cinemática direta Coxa Quadril Esfera / Órbita 120° 20° 10°
é necessário saber até onde podemos Espinha Quadril/Espinha Rotacional 15° 10° 0°
rotacionar cada osso do esqueleto, na Ombro Espinha Rotacional 20° 20° 0°
tabela 1 temos os limites rotacionais Braço Ombro Esfera/Órbita 180° 105° 10°
nos eixos locais das juntas humanas Antebraço Cotovelo Articulada 150° 0° 0°
convertidas para o sistema de eixos do Mão Pulso Esfera/Órbita 180° 30° 120°
Blender, onde o eixo Y está no corpo
do osso, e não o eixo Z como no livro
de referência. Voltaremos a esta tabela Isso faz com que a cinemática direta pareça irracional, para resolver esse problema
quando estudarmos os movimentos dos podemos utilizar a cinemática inversa (“Inverse Kinematics”, IK). Na cinemática inversa
ossos de nosso esqueleto. ao colocarmos a mão do personagem no cubo o braço e antebraço se rotacionam de
Na cinemática direta não podemos forma a seguirem a mão, percorrendo de forma inversa a hierarquia.
simplesmente mover a mão do personagem Para que a cinemática inversa funcione é necessário além dos ossos construídos em
até o cubo e esperar que o resto do corpo o hierarquia, colocar pontos de controle e ativar este recurso em algumas cadeias de ossos.
siga como se faz na vida real.
© 2004 Revista Procedural 50
51. Armature Construindo um Esqueleto Simples
Assim, o exemplo anterior, de movimentar o braço do personagem até o cubo basta
transladarmos os controle do braço, até o cubo, a movermos os controles da mão e
dedos, para posicioná-los corretamente, figura 32.
Como construir estas cadeias de ossos e controles é um tópico para outro artigo.
Figura 31: O osso em destaque é um ponto
de controle para movimentar o braço.
Por exemplo, no fim do antebraço
podemos colocar um controle para
movimentar o braço, figura 31, é
necessário que o antebraço esteja
marcado para usar IK, e o braço não.
Assim quando movimentamos o controle,
este verifica se o antebraço tem IK
marcado, se tiver, ele é rotacionado e
arrastado para acompanhar o controle,
em seguida o braço também é verificado,
se ele não estiver marcado como IK, ele
é apenas rotacionado para acompanhar o Figura 32: Movimentação do personagem por cinemática indireta.
movimento, porém não é arrastado como
o antebraço.
© 2004 Revista Procedural 51
52. Armature Construindo um Esqueleto Simples
Cuidados com o Esqueleto
Antes de iniciarmos a construção
do esqueleto do nosso personagem é
necessário lembrar de alguns detalhes
que facilitarão a junção malha/esqueleto,
e também auxiliará o uso de algumas
ferramentas na hora da animação.
1. Mantenha o eixo Z sempre na
mesma direção
Ao construirmos pares de ossos
espelhados, como por exemplo, os ossos
dos braços esquerdo e direito, eles
devem ter o eixo Z apontados para a
mesma direção, para podermos utilizar a
ferramenta de copiar pose e colar a pose
espelhada.
Por convenção o eixo Z deve estar
apontando para cima nos ossos que Figura 33: Convenção no posicionamento do eixo dos ossos.
ficam na horizontal, como braços e pés.
Os ossos que ficam na vertical, o eixo Z
deve estar apontando para frente, como Você pode escolher uma outra convenção, porém é necessário que todos os ossos de
os ossos das pernas e espinha, figura 33. seu esqueleto sigam essa convenção.
© 2004 Revista Procedural 52