You are on page 1of 14

Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...

1 of 14 30/3/2007 21:02
Procedural
www.procedural.com.br
Apresenta:
Radiosidade e Passeio Virtual como Blender (Game Engine)
Por Cícero Moraes (cogitas3d-bl, cogitas3d)
Site: http://cogitas3d.site.vu
Email: cogitas3d@msn.com
Olá pessoal!
A alguns dias vi-me obrigado e motivado a criar um ambiente para passeio virtual a um cliente meu. Só que eu
nunca havia me satisfeito com os que criei até então. Por quê? Bem, por conta da iluminação. Não conseguia
nunca fazer algo convincente, e apesar de ter estudado muito sobre Vrml utilizar bibliotecas que oferecem
radiosidade aliada a leveza como o Maverik não me foi possível, por que esta trata-se de um componente que
somente experts em programação são capazes de implantar.
Bati bastante a cabeça, até voltar os meus olhos ao bom e novo Blender. Claro! Ele é um programa poderoso,
serve para modelar, texturizar, renderizar, animar, é um editor de vídeo e... tem um game engine próprio!
Certo, entrei no site www.blender3d.org e baixei umas demos, achei fantástico aquele passeio que tem uma
escada e etc.
Montei a cena, ativei a solução de radiosidade e lá estava ela prontinha, só que faltava uma coisa: - Como inserir
um observador?
Tentei de muitas formas, entrei em vários fóruns, e o pessoal dizia para eu ler um tutorial que encontrava-se na
revista Procedural #1. Baixei-a e lá estava o bendito que ele não era o que eu queria. Então decidi recorer (como
90% das vezes) a documentação em inglês do Blender. Voltei ao site blender3d.org e lá achei justamente o que
eu estava procurando.
O que tenho a dizer quanto ao tuto que verás , é que ele foi feito sem a pretenção de oferecer ao leitor um
conhecimento profundo sobre radiosidade e o engine, mesmo por que o observador, já vem configurado de outro
arquivo. Somente algumas pequenas alterações podem vir a calhar, mas se você desenvolver uma cena na
escala elas dificilmente serão necessárias.
Este tutorial é próprio para desenvolvimento de passeios virtuais para arquitetura, indústria moveleira
etc. Quemquer desenvolver umjogo emprimeira pessoa, por exemplo, deve ler o tutorial da Revista
Procedural #1, excelente para tal.
::Iniciando::
::Radiosidade::
A primeira coisa que devemos fazer é criarmos um desenho na escala e em um formato de arquivo suportado
pelo Blender. Eu utilizo o Qcad para desenhar, mas a versão 1.5, por que o meu Blender não aceita os arquivos
criados nas versões 2.xx. O formato é DXF.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
2 of 14 30/3/2007 21:02
O desenho pronto
Importando
Desenho já implantado
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
3 of 14 30/3/2007 21:02
Por que fiz esta caixa aberta? Para que os raios de luz tenham para onde sair e não fiquem sendo calculados por
muito tempo.
É bom complementar a cena com alguns objetos
Crie um plane e loque-o no lugar da lâmpada.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
4 of 14 30/3/2007 21:02
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
5 of 14 30/3/2007 21:02
Fiques atento com o normal do objeto, que geralmente reflete para cima. Deves invertê-lo, a direção do normal é
a direção da luz.
Crie um material branco, vá no campo Emit e coloque o valor 0.12.
Depois de criar o material que será a luz, seleciones todos os objetos da cena com AKEY
Cliques no botão "Collect Meshes".
Agora é só clicares no botão GO. Se algo der errado, simplesmente, pressiones ESC e a solução será
interceptada.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
6 of 14 30/3/2007 21:02
E falando em erro, temos um aqui! A parede a direita está completamente preta. Parece que a luz não atingiu-a.
Por que isso aconteceu? Simples. O normal está apontando para o lado errado, além de enviar energia, ele
também recebe. Da mesma forma que antes, temos de invertê-lo.
Para voltares ao modo de edição deves clicar em "Free Radio data".
Ótimo, agora o normal está do lado certo. Vamos repetir o processo de solução de radiosidade como descrito
anteriormente.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
7 of 14 30/3/2007 21:02
Agora sim! A parede recebeu devidamente a luz. Mas, vejas que a cena está ligeiramente serrilhada.
Para torná-la mais atraente cliques em "Gour"
Melhorou, não?
O que tu vês na viewport não está de fato atrelado a cena. Explico. Se depois de calculada a radiosidade tu
salvares o arquivo e sair, quando abrires ele novamente os dados já se terão perdido. Para "fixar" a radiosidade
no objeto farás o seguinte:
Cliques em "Replace Meshes", assim criarás um mesh com os dados dos Vertex Colors que nada mais é do que
as sombras e graduações de luz etc. na malha.
Depois em "Free Radio Data", para limpar o buffer da solução de radiosidade.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
8 of 14 30/3/2007 21:02
Se a imagem que aparecer no viewport for tipo wire, acalma-te, tu não perdeste os dados da radiosidade. Vás ao
tipo de visualização e seleciones "shaded".
Feito a solução de radiosidade, vamos agora a segunda fase, que é a de implantação do observador móvel da
cena.
::Implantação do Personagem::
Nós não iremos criar nenhum esquema pelo Engine para usá-lo como personagem, vamos sim pegar um
exemplo já pronto o qual podes baixar em:
http://www.blender3d.org/_media/education/tutorials/walkthrough/walkthrough_template.blend
Teremos de importar a cena, e fazer um link da nossa cena atual para ela, e depois deletá-la para livrar espaço
do arquivo, senão ele ficará muito pesado.
Por que fazer isso? Por que não criar um link da cena que tem a câmera para a da sala? Eu tentei fazer isso,
mas deu errado. Se puxar a câmera para a sala e deletar a cena dela, a câmera perde a configuração. Tu podes
fazer o seguinte. Baixar o arquivo da câmera e modelar apartir dele. Eu só estou explicando desta forma por que
pensei que muitas pessoas podem ter a cena já pronta, isso será de grande valia para eles, não precisarão criar
tudo de novo.
Para importar vás em "File -->Append"
Procures o arquivo onde baixaste-o, depois cliques sobre ele.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
9 of 14 30/3/2007 21:02
Seleciones "Scene"
Cliques em "action" (que é a cena em questão)
Depois em "Load Library"
Pronto, acena foi importada.
Pressiones BKEY e seleciones toda a cena, com a janela de seleção.
Pressiones TAB--> Object -->Make Links...
Depois escolhas a opção "To Scene"
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
10 of 14 30/3/2007 21:02
Seleciones "action"
Vás na parte supeior da janela e faças o que aparece na figura. Seleciones a cena "action"
viste! A sala está na outra cena.
Agora podemos apagar a cena original da sala para tornar o arquivo e a visualização mais leves.
Voltes a cena "Scene"
Cliques no botãozinho "x" para apagar.
Em seguida em "Delete Current Scene"
Vejas que a cena atual é "action" e que a sala está nela.
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
11 of 14 30/3/2007 21:02
Movas a câmera e posicione-a no melhor ângulo possível. Evite rotacioná-la, Tu farás isso depois, quanto fores
fazer teu caminho interativo.
Se desejares mudar de câmera. basta selecionares a câmera pressionares CTRL e depois 0 (ZERO).
::Salvando o Runtime::
Está tudo prontinho e devidamente posicionado. Agora temos somente que salvar o Runtime, para termos o
nosso passeio interativo. Sigas os passos:
Vás em "File -->Save Runtime"
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
12 of 14 30/3/2007 21:02
Escolhas um lugar para salvar. Escolhas o nome do arquivo e por fim cliques em "Save Runtime" Pronto!!! O
arquivo executável está salvo.
Para executá-lo:
No Linux:
Abras um console, entres na pasta onde salvaste o arquivo e:
--------------------------
$ ./nome-do-arquivo
--------------------------
No nosso exemplo ficou:
$ ./passeio
No Windows:
Atenção!!!: Para que o executável rode no Windows, é necessário que copies os arquivos python23.dll e sdl.dll
para dentro da pasta onde salvaste o passeio. As dlls podem ser encontradas em:
C:\Arquivos de Programas\Blender Fundation\Blender
Depois de feito isso, basta clicares duas vezes sobre o arquivo que ele será executado.
Notas importantes:
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
13 of 14 30/3/2007 21:02
Como podem ter visto, eu utilizei o Linux para confeccionar este tutorial, porém, este sistema operacional padece
de um mal. Ele não oferece um bom suporte para placas de vídeo que não sejam nVidia. não que o sistema seja
ruim, o problema é que o driver parte dos fabricantes do hardware. No caso das placas de vídeo, não adianta
nada elas serem de ponta se não tiverem um software eficiente que gerencie sua comunicação com o sistema
operacional. A nVidia e a Ati parece que são as únicas que arregaçaram as mangas para tal. Dizem que o
suporte da nVidia é bem superior a última, não posso dizer nada ainda, por que a minha Gforce queimou antes
de eu instalar o Linux no computador que tinha-a. A minha placa atual é uma Sis genérica de 8Mb.
Por conta deste trabalho, tive de reinstalar o Windows no meu computador para rodar o Runtime. O Windows
oferece um suporte muito bom a placas de vídeo, tanto que rodei nele um ambiente virtual relativamente pesado,
e tudo funcionou muito bem; mérito também do Engine do Blender, é claro.
Nota: Depois de um tempo que escrevi este tutorial, adquiri uma nVidia GeForce 5200 de 128 mb, e percebi que
os gráficos em OpenGL funcionaram com uma superioridade notória no Linux.
Abaixo estão as imagens do trabalho que desenvolvi, deram-me um dia de trabalho para modelar, calcular e etc:
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com
Tutorial Radiosidade + Game Engine no Blender file:///C:/arquivosdeprogramas/cifras/irrlicht%20forums/Tutorial%2...
14 of 14 30/3/2007 21:02
Se gostaste de estudar este tutorial, aproveites e leias a documentação do Blender sobre Radiosity. Entres
também em www.blender3d.org, vás na sesssão "Tutorials" que encontrarás alguns sobre Game Engine, foi de lá
que tirei o template do observador.
Se algo não der certo, tenhas calma, e leias novamente o tutorial. Não precisas já de cara seguí-lo. Leias e
deixes o teu cérebro acostumar-se com a idéia, depois efetive-a.
Se tiveres alguma dúvida, sugestão ou crítica, escrevas para:
cogitas3d@msn.com
Se desejares ver alguns de meus trabalhos entres em:
http://cogitas3d.site.vu
Um grande abraço e bom estudo!
Cícero Moraes
PDF Creator - PDF4Free v2.0 http://www.pdf4free.com