Академический Документы
Профессиональный Документы
Культура Документы
Bem vindos!
Apesar de sabermos o quo trabalhoso pode ser o processo de desenvolvimento de um game,
temos, no Blender Game Engine, a possibilidade de transform-lo em uma atividade muito divertida. O
Blender uma ferramenta completa que nos permite criar aplicaes interativas 3D de diversos tipos
como: Apresentaes 3D, Portflios Interativos, Aplicaes para projeo 3D estreo em Domo e,
claro, Games. Tudo isso com muita rapidez e sem escrever uma nica linha de cdigo em linguagem
de programao.
Esta apostila objetiva ser o seu guia e material de consulta nas aulas ministradas na SEVEN GAME
para o mdulo de Blender Game Engine. Ela foi organizada em 16 captulos, cada um relativo a um
tema abordado. Se voc j um usurio de Blender/Blender Game Engine, ou concluinte do mdulo,
pode consult-la no sequencialmente; mas, se estiver iniciando agora, aconselhvel acompanh-la
durante o prosseguimento das aulas para melhor assimilao dos contedos.
Ao final existe um glossrio com referncias a palavras estrangeiras incomuns e expresses
especficas do ambiente e da comunidade Blender.
Esperamos que vocs se divirtam! E Keep Bleeding!
Livro Blender.indb 1
11/02/2012 12:51:10
Sumrio
Captulo 1 - Apresentao do Blender e BGE
O que o Blender?...........................................................................8
Ferramentas....................................................................................11
Blender Game Engine.....................................................................14
Baixando e Instalando o Blender....................................................19
Captulo 2 - Iniciando com Blender
Interface..........................................................................................24
Seleo...........................................................................................28
Cmeras e Transformaes............................................................29
Transformaes de Objeto..............................................................30
Parentando Objetos........................................................................32
Adicionando Primitivas...................................................................33
Captulo 3 - Iniciando com Blender Game Engine
Game Engines.................................................................................36
Blender Game Engine.....................................................................38
Captulo 4 - Introduo a Programao Visual e Logic Bricks
Softwares de Computador e Linguagens de Programao...........46
Algortmos em Fluxogramas...........................................................49
Programao Visual........................................................................50
Captulo 5 - Introduo Logic Bricks II
Workflow Para Desenvolvimento em BGE e Logic Bricks..............56
Livro Blender.indb 2
11/02/2012 12:51:10
Livro Blender.indb 3
11/02/2012 12:51:11
Livro Blender.indb 4
11/02/2012 12:51:11
B l e n d e r
C a p t u l o
A p r e s e n t a o
Livro Blender.indb 5
d o
B l e n d e r
B G E
11/02/2012 12:51:11
B l e n d e r
O que o Blender?
www.blender.org
Blender 2.04
6
Livro Blender.indb 6
11/02/2012 12:51:11
A p r e s e n t a o
d o
B l e n d e r
B G E
Livro Blender.indb 7
11/02/2012 12:51:11
B l e n d e r
Livro Blender.indb 8
11/02/2012 12:51:11
A p r e s e n t a o
d o
B l e n d e r
B G E
Ferramentas
O Blender agrega diversas ferramentas necessrias no workflow
para produo 3D de imagens, vdeos e aplicaes interativas,
incluindo games. Devido extensa quantidade de ferramentas
disponveis, iremos agora listar apenas alguns dos principais
features do Blender.
Modelagem e Texturizao
NURBs,
Bezier,
Livro Blender.indb 9
11/02/2012 12:51:11
B l e n d e r
Mltiplos UV Layers;
Minimizador automtico de stretch.
Rigging e Animao:
Pintura interativa de Weighmaps;
Deformao baseadas Quartenion;
Deformao Volumtrica baseada em estrutura de grade;
Bone Layers;
IK/FK Solver;
Constraints baseados em cdigo Python;
Editor No Linear de aes;
Walkclycle automtico por caminho baseado em spline;
Morphing/Shape Keys animation;
Efeitos procedurais de animao;
Efeitos de Fsica como Fluidos, Gases, Rigid Body e Soft Body.
Livro Blender.indb 10
11/02/2012 12:51:11
A p r e s e n t a o
d o
B l e n d e r
B G E
Materiais:
Render e Composio:
Livro Blender.indb 11
11/02/2012 12:51:11
B l e n d e r
12
Livro Blender.indb 12
11/02/2012 12:51:11
A p r e s e n t a o
d o
B l e n d e r
B G E
13
Livro Blender.indb 13
11/02/2012 12:51:11
B l e n d e r
Animao:
Animao baseada em Keyframes com suporte a Layers e
Blend entre animaes.
Controle individual de bons por cdigo.
Animao por shape Keys (morph).
Animao de parmetros como object color.
Audio:
Utiliza a libOpenAL (Tambm utilizada na Unity e engines
indoor de diversas empresas, como Coodemaster,Id e DICE ).
Som 3D multicanalcom efeito Doppler.
Suporte a wav,ogg e mp3.
IA:
Sistema de programao em Layers para criao de
Mquinas de Estados (FSM)
Path Finder com Avoid Obstacles utilizando as libs Recast
e Detator
Network:
Possibilidade de utilizao da lib Socket do Python para
criao de aplicaes em rede.
Outros:
Sistema WYSIWYG (What You See Is What You Get )
totalmente integrado Interface do Blender, como editor de
cenrio.
Lightmaps gerados pelo Renderizador interno do Blender.
Sistema de projeo das aplicaes em ambientes Domo.
Sistema de projeo estereoscpica ( Side by Side,
Anaglifo e outros ).
Livro Blender.indb 14
11/02/2012 12:51:11
A p r e s e n t a o
d o
B l e n d e r
B G E
Yo Frankie
Blender Foundation
http://www.yofrankie.org/
Runas 2.0
Vitor Balbio
15
Livro Blender.indb 15
11/02/2012 12:51:11
B l e n d e r
Dead Cyborg
Endre Barath
http://deadcyborg.com
Demonstraes Grficas
Martins Upitis
http://www.martinsh.co.nr/
16
Livro Blender.indb 16
11/02/2012 12:51:11
A p r e s e n t a o
d o
B l e n d e r
B G E
17
Livro Blender.indb 17
11/02/2012 12:51:11
B l e n d e r
Blender 2.61
Dicas e Sugestes
INTEGRAO NA COMUNIDADE:
Existem inmeras comunidades de
usurios Blender que o utilizam para
diversos fins. Nelas voc pode postar
seus trabalhos, tirar dvidas, criar
parcerias para futuros trabalhos entre
outros. Internacionalmente, a maior
comunidade de usurios Blender a
Blender Artist: www.Blenderartists.org .
Se voc est com o seu ingls em dia,
essa realmente uma boa pedida.
OPEN SOURCE:
Open source no significa ser grtis
apenas, mas que qualquer pessoa
pode baixar seu cdigo fonte, criar
novas ferramentas, corrigir problemas
e, se quiser, retornar essas melhorias no
programa para a Blender Foundation, a
fim de que estejam, caso aprovadas , na
prxima verso estvel do Blender. Deste
modo, o programa se desenvolve, com
um processo colaborativo de centenas
de pessoas ao redor do mundo. Se
voc no um programador, ainda
assim pode colaborar indicando Bugs
e criando tutoriais para a comunidade.
Colaborao o esprito por trs do
Blender. Para mais informaes sobre
o processo de desenvolvimento do
Blender acesse o endereo: http://
www.Blender.org/development/
18
Livro Blender.indb 18
11/02/2012 12:51:12
ANOTAES
Livro Blender.indb 19
11/02/2012 12:51:12
Livro Blender.indb 20
11/02/2012 12:51:12
B l e n d e r
C a p t u l o
I n i c i a n d o
Livro Blender.indb 21
c o m
2
B l e n d e r
11/02/2012 12:51:12
B l e n d e r
Interface
O Blender foi projetado de forma que sua interface possa
otimizar o mximo possvel de espao em tela, criando uma grande
rea de visualizao para o ambiente e escondendo funes que
no so essenciais.
Sua estrutura baseada principalmente em 3 princpios:
Sem Sobreposio: Todas as ferramentas do Blender so
visveis ao mesmo tempo sem necessidade de arrastar ou empurrar
janelas;
Sem Bloqueio: minimizado o uso de pop-ups que peam a
insero de dados e bloqueiem o funcionamento de outras partes
do programa;
Sem Interrupo: Todas as funes do Blender podem ser
acessadas sem interrupo das funes. possvel, por exemplo,
modelar enquanto se est tocando uma animao;
22
Livro Blender.indb 22
11/02/2012 12:51:12
I n i c i a n d o
c o m
B l e n d e r
23
Livro Blender.indb 23
11/02/2012 12:51:12
B l e n d e r
24
Livro Blender.indb 24
11/02/2012 12:51:12
I n i c i a n d o
c o m
B l e n d e r
Dicas e Sugestes
INTERFACE:
A interface do Blender 2.5x foi
recentemente reformulada e possui
ferramentas para permitir melhor uso
em mltiplos monitores. Ento, se
voc dispe de 2 ou mais monitores,
interessante separar alguns editores em
uma segunda janela. Para isso, segure
o boto, shift posicione o ponteiro do
mouse nas 3 ranhuras no lado esquerdo
do Header do Editor ( quando estiver
posicionado corretamente ele se tornar
uma Cruz), clique e arraste usando o
boto esquerdo do mouse.
EXPLORE:
A melhor forma de compreender a
interface e o funcionamento do Blender
explorando o Programa. Ento, sintase livre para modificar os painis,
subdividi-los etc. Caso voc queria
salvar suas configuraes, v em File/
Save User Settings.
Para retornar s configuraes originais.
V em File/ Load Factory Settings
HEADER:
Header da 3D view
Livro Blender.indb 25
11/02/2012 12:51:12
B l e n d e r
Seleo
O Blender possui uma forma de seleo muito particular que
a princpio pode confundir usurios acostumados com outros
softwares ou com o ambiente Windows.
As principais formas de seleo no Blender so:
Seleo Direta: No editor 3D view, use o boto direito do mouse
sobre o objeto a ser selecionado;
Seleo Conjunta por regio: No editor 3D view, use B, clique
e mantenha pressionado o boto esquerdo do mouse e arraste;
Seleo Conjunta por Brush: No editor 3D view use C, clique e
mantenha pressionado o boto esquerdo do mouse e arraste sobre
os objetos que voc deseja selecionar;
Outliner: Use o boto esquerdo do mouse sobre o nome do
objeto no Outliner Editor.
Voc sempre pode adicionar objetos para a seleo usando
Shift + boto direito do mouse
Para limpar a seleo use A.
Note que o ltimo objeto selecionado ser o objeto Ativo. E isto
um fato importante, j que todas as funes de contexto sero
relativas a ele, como por exemplo, as opes disponveis no painel
Properties. Quando h mais de um objeto selecionado e um objeto
ativo, os objetos selecionados ficam em laranja escuro e o ativo em
um tom mais claro de laranja
Algumas outras opes de seleo tambm esto disponveis
no Header da 3D view.
26
Livro Blender.indb 26
11/02/2012 12:51:12
I n i c i a n d o
c o m
B l e n d e r
Cmeras e Transformaes
O Blender se utiliza de um sistema de cmeras similar a muitos
dos programas de edio 3D. Com ele voc pode realizar operaes
de Rotao, Zoom e Pan, alm de utilizar projees Ortogrficas e
Perspectiva.
As funes mais simples de todo o programa de edio 3D so
as trs operaes de transformao de cmera: Rotao, Zoom e
Pan.
Rotao:
Para rotacionar a cmera default da 3Dview ( a qual doravante
chamaremos de cmera de trabalho) mantenha o scroll do mouse
pressionado sobre a 3Dview e arraste.
Dicas e Sugestes
HOTKEYS:
Como j dito anteriormente, o Blender
um programa projetado para que
se use ao mximo a configurao
Mouse+Teclado
para
manipulao
do ambiente, de forma a alcanar o
mximo de velocidade de produo
nas mos de um usurio experiente.
Todas as funes que iremos listar
aqui, e durante todo o nosso curso,
possuem outras formas de acesso,
porm iremos focar no uso de Hot
Keys, porque, embora possa tornar a
curva de aprendizado inicialmente mais
complicada, com a prtica os benefcios
se mostram evidentes.
Zoom:
Dicas e Sugestes
RESETANDO VIEW
Pan:
CMERA DE
OBJETO CMERA:
TRABALHO
Livro Blender.indb 27
11/02/2012 12:51:12
B l e n d e r
Transformaes de Objeto
Manipular objetos pelo cenrio parte fundamental da CG 3D.
Por isso, iremos mostrar agora como executar as trs formas de
manipulao de objetos. Saiba que, apesar de aplicarmos estas
transformaes apenas em nvel de objeto, elas tambm valem para
manipulao de vrtices, arestas, faces, pontos de controles em
curvas e qualquer outra operao em que estas transformaes se
fazem presentes; no apenas na 3DView mas em todos os editores.
Com o Blender possvel realizar manipulao de Objetos por
duas formas: por manipuladores e por Hot keys.
Manipuladores so estruturas visuais que permitem mover,
rotacionar e escalonar os objetos com o Mouse. Eles se encontram
no header da 3D view.
Ativa/Desativa Manipuladores.
Ativa/Desativa Manipulador de Localizao.
Ativa/Desativa Manipulador de Rotao.
Ativa/Desativa Manipulador de Escala.
28
Livro Blender.indb 28
11/02/2012 12:51:12
I n i c i a n d o
c o m
B l e n d e r
Exemplos:
Mover o objeto sob o eixo X de coordenada global.
G + X
Mover o objeto sob o eixo X de coordenada local.
29
Livro Blender.indb 29
11/02/2012 12:51:12
B l e n d e r
G + X + X
Mover o objeto sob os eixos XY de coordenada global
G + Shift + Z
Escalonar o objeto sob os eixos ZY de coordenada local
S + Shift + X + X
No Blender todas as manipulaes de objetos so feitas a
partir do seu centro. O centro do objeto uma entidade a parte
de seus meshes e determina a partir de qual ponto a operao de
transformao ser executada. O centro representado por um
ponto laranja maior que os vrtices e sempre visvel no objeto
Quando existem vrios objetos selecionados, a operao de
transformao ser realizada de acordo com a configurao do
menu Pivot Point, no header da 3Dview. Ele possui as seguintes
opes:
Active Element: Executa a operao usando como base o
elemento ativo ( o ultimo selecionado ); Median Point: Utiliza como
referncia o ponto mdio entre todos os centros;
Individual Origins: Executa a operao para todos os centros,
individualmente;
3D Cursor: Utiliza como referncia o Cursor3D, o qual pode ser
apontado para uma posio usando o boto esquerdo do mouse
na 3Dview;
Bounding Box Center: utiliza como referncia o centro de um
BoundBox virtual que englobe todos os objetos selecionados.
Parentando Objetos
Dois objetos podem ser parentados. Assim, toda transformao
de objeto realizada no pai, ser propagada ao filho. Para parentlos, selecione o objeto filho e, depois, o pai. E use Ctrl + P com
o ponteiro do mouse na 3DView, selecionando Object no menu
que surgir.
30
Livro Blender.indb 30
11/02/2012 12:51:12
I n i c i a n d o
c o m
B l e n d e r
Adicionando Primitivas
O Blender possui diversas primitivas geomtricas que podem
ser adicionadas ao cenrio. Para adicionar uma delas, pressione
Shift + A com o cursor do mouse sobre a 3DView. Depois
selecione o objeto na lista Mesh
Um fator importante saber que a posio inicial do objeto
criado ser sempre o Cursor 3D. Assim, para mudar a sua posio,
use na 3D View, conforme citado anteriormente.
Assim, para mudar a sua posio, use o boto esquerdo do
mouse na 3D View, conforme citado anteriormente.
Dicas e Sugestes
SUPORTE A OUTRAS FORMAS DE
NAVEGAO E MANIPULAO
O Blender tem suporte a diversas outras
ferramentas de manipulao, alm do
mouse, como o Magic Pad da Apple,
SpaceNav3dconnexion
e
diversos
tablets.
31
Livro Blender.indb 31
11/02/2012 12:51:12
ANOTAES
Livro Blender.indb 32
11/02/2012 12:51:12
B l e n d e r
C a p t u l o
I n i c i a n d o
Livro Blender.indb 33
c o m
B l e n d e r
G a m e
E n g i n e
11/02/2012 12:51:12
B l e n d e r
Game Engines
O Desenvolvimento de games requer a agregao de diversas
ferramentas para o gerenciamento da grande variedade de
tecnologias que o compem. Para tal, precisamos minimamente
de: um gerenciador e controlador dos recursos grficos para
mostrar objetos,cenrios e personagens na tela de forma eficiente;
gerenciadores de som, fsica, entrada de dados por keyboard,
mouse, gamepads etc; gerenciadores de comunicao web para
games multiplayer.
Mas a lista extensa e varia conforme as necessidades do
game. E a Game Engine o conjunto de ferramentas que agregam
todas as funcionalidades necessrias para a criao de um game.
Cada Game Engine contm um conjunto de solues que
podem ter pontos em comum entre si. Por exemplo, duas game
engines podem utilizar o mesmo sistema de gerenciamento de
grfico, como o OpenGL. Na verdade, muitas o fazem, sendo esta
a biblioteca padro da indstria de games para aplicaes 3D
interativas.
Algumas engines, como a BGE, possuem editores visuais de
cenrio, que lhe do a opo de posicionar visualmente todos os
objetos do seu game, num sistema chamado WYSIWYG (What
You See Is What You Get).
Outras game engines so apenas bibliotecas de cdigo, nas
quais voc precisa indicar a posio de todos os objetos do
cenrio por cdigo de programao. Atualmente, a grande maioria
das principais game engines possuem editores de cenrio do tipo
WYSIWYG.
34
Livro Blender.indb 34
11/02/2012 12:51:12
I n i c i a n d o
c o m
B l e n d e r
G a m e
E n g i n e
Livro Blender.indb 35
11/02/2012 12:51:12
B l e n d e r
Livro Blender.indb 36
11/02/2012 12:51:12
I n i c i a n d o
c o m
B l e n d e r
G a m e
E n g i n e
Livro Blender.indb 37
11/02/2012 12:51:12
B l e n d e r
38
Livro Blender.indb 38
11/02/2012 12:51:13
I n i c i a n d o
c o m
B l e n d e r
G a m e
E n g i n e
39
Livro Blender.indb 39
11/02/2012 12:51:13
B l e n d e r
Dicas e Sugestes
ADD-ONS:
O Blender com um sistema muito
poderoso de plug-ins baseado em
python. Alguns so disponibilizados
junto com o Blender; outros esto
organizados em repositrios online.
Existem scripts para todo tipo de
funes. De mtricas CAD criao de
vegetao. Para conhecer mais add-ons
acesse o site http://wiki.Blender.org/
index.php/Extensions:2.5/Py/Scripts
40
Livro Blender.indb 40
11/02/2012 12:51:13
ANOTAES
Livro Blender.indb 41
11/02/2012 12:51:13
Livro Blender.indb 42
11/02/2012 12:51:13
B l e n d e r
C a p t u l o
I n t r o d u o
Livro Blender.indb 43
P r o g r a m a o
B r i c k s
L o g i c
11/02/2012 12:51:13
B l e n d e r
44
Livro Blender.indb 44
11/02/2012 12:51:13
I n t r o d u o
P r o g r a m a o
L o g i c
B r i c k s
45
Livro Blender.indb 45
11/02/2012 12:51:13
B l e n d e r
46
Livro Blender.indb 46
11/02/2012 12:51:13
I n t r o d u o
P r o g r a m a o
L o g i c
B r i c k s
Algortmos em Fluxogramas
A melhor forma de entendermos sobre a lgica de programao
atravs de fluxogramas. Assim como as linguagens de
programao os fluxogramas tambm representam um conjunto
de passos que no caso podem ser de instrues que o programa
deve executar.
Aqui iremos representar aes com caixas e controles de
condio com Crculos. Por exemplo o mesmo exemplo do bolo
em formado de fluxograma:
Livro Blender.indb 47
11/02/2012 12:51:13
B l e n d e r
Programao Visual
Programao Visual qualquer sistema que permite a criao
de scripts de programao baseado em componentes visuais e
no em texto. Geralmente so baseados tambm em fluxogramas.
Linguagens de programao visual so muito teis para
a criao de scripts. Por scripts nos referimos geralmente a
pequenos programas relacionados diretamente ao processo final.
Por exemplo um pequeno programa para controlar a movimentao
do personagem seria um script do personagem. Todo cdigo de
Python ou Logic Bricks da BGE um script.
Em game engines comum a utilizao de programao visual
de diversas formas. Por exemplo a UDK conta com o Kismet, uma
linguagem de programao visual baseada em fluxogramas. Existe
tambm outras como o Kodu da Microsoft e o sistema de scripts
do Game Maker da Yoyo Games.
48
Livro Blender.indb 48
11/02/2012 12:51:13
I n t r o d u o
P r o g r a m a o
L o g i c
B r i c k s
Livro Blender.indb 49
11/02/2012 12:51:13
B l e n d e r
Livro Blender.indb 50
11/02/2012 12:51:13
I n t r o d u o
P r o g r a m a o
L o g i c
B r i c k s
51
Livro Blender.indb 51
11/02/2012 12:51:13
ANOTAES
Livro Blender.indb 52
11/02/2012 12:51:13
B l e n d e r
C a p t u l o
I n t r o d u o
Livro Blender.indb 53
L o g i c
5
B r i c k s
I I
11/02/2012 12:51:13
B l e n d e r
54
Livro Blender.indb 54
11/02/2012 12:51:13
I n t r o d u o
L o g i c
B r i c k s
I I
55
Livro Blender.indb 55
11/02/2012 12:51:13
B l e n d e r
56
Livro Blender.indb 56
11/02/2012 12:51:13
I n t r o d u o
L o g i c
B r i c k s
I I
57
Livro Blender.indb 57
11/02/2012 12:51:13
B l e n d e r
Livro Blender.indb 58
11/02/2012 12:51:14
I n t r o d u o
L o g i c
B r i c k s
I I
59
Livro Blender.indb 59
11/02/2012 12:51:14
B l e n d e r
60
Livro Blender.indb 60
11/02/2012 12:51:14
ANOTAES
Livro Blender.indb 61
11/02/2012 12:51:14
Livro Blender.indb 62
11/02/2012 12:51:14
B l e n d e r
C a p t u l o
B r i c k s
Livro Blender.indb 63
B s i c o s
11/02/2012 12:51:14
B l e n d e r
64
Livro Blender.indb 64
11/02/2012 12:51:14
B r i c k s
B s i c o s
Livro Blender.indb 65
11/02/2012 12:51:14
B l e n d e r
Atravs destes 3 sensores podemos criar quase todos os
movimentos dentro de um game simples.
Controlador AND
O controlador AND (e aditivo) geralmente o mais utilizado e
um dos mais simples. Embora tenhamos no prximo captulo um
aprofundamento do assunto sobre controladores, interessante
ressaltar dois pontos:
que
podemos
usar
para
descrever
seu
Livro Blender.indb 66
11/02/2012 12:51:14
B r i c k s
B s i c o s
Atuador Motion
O atuador Motion o responsvel por aplicar aos objetos
movimentao, rotao, fora, velocidade angular, linear e outros.
Todos os objetos do Blender vm configurados como estticos e,
portanto, somente movimentao e rotao esto disponveis por
default. Porm, assim que configurados para objetos dinmicos,
mais opes se tornam disponveis. No captulo sobre a fsica na
BGE iremos ver mais a respeito.
Adicionando valores em X,Y ou Z da linha Loc, a sua
localizao atual ter tambm esses valores adicionados. Por
exemplo, adicionando 0.1 X em Loc, faremos o objeto se
movimentar 0.1 BU(Blender Units) para cada ciclo de processamento
em que esse atuador for ativado.
Adicionando valores em X,Y ou Z da linha Rot adicionar
esses valores sua orientao atual, de forma anloga localizao
com Loc.
Os botes L, no canto direito, informam se essas
transformaes sero feitas sob eixo local ou global.
Aprofundaremos, no captulo seguinte, o estudo dos sensores
e controladores.
Dicas e Sugestes
LIGAO DIRETA
SENSOR E ATUADOR
ENTRE
67
Livro Blender.indb 67
11/02/2012 12:51:14
ANOTAES
Livro Blender.indb 68
11/02/2012 12:51:14
B l e n d e r
C a p t u l o
A p r o f u n d a n d o e m S e n s o r e s
C o n t r o l a d o r e s
Livro Blender.indb 69
11/02/2012 12:51:14
B l e n d e r
A p
Aprofundando em Sensores
Conforme visto anteriormente em Logic Bricks, sensores so
triggers para ativao de aes no game, como, por exemplo, a
ativao de um movimento quando uma tecla pressionada ou
a de uma animao quando um objeto colide com outro. Assim,
pressionar uma tecla ou prever colises de fato so aes
detectveis. Existem diversas aes detectveis pelos sensores
na BGE, mas antes de v-las precisamos entender como os
sensores detectam tais aes e como passam a informao para
os controladores.
Vamos tomar como objeto de estudo o sensor mais simples: o
sensor Always:
70
Livro Blender.indb 70
11/02/2012 12:51:14
A p r o f u n d a n d o
e m
S e n s o r e s
C o n t r o l a d o r e s
Livro Blender.indb 71
11/02/2012 12:51:14
B l e n d e r
A p
Livro Blender.indb 72
11/02/2012 12:51:14
A p r o f u n d a n d o
e m
S e n s o r e s
C o n t r o l a d o r e s
Aprofundando em Controladores
Como dissemos, toda vez que o sensor emite um pulso o atuador
ir verificar se ele deve ou no ser ativado; e quem determina isto
so os controladores. Existem atualmente 6 operadores lgicos,
um gerador de expresso e a opo de usar programas python.
Dicas e Sugestes
EXECUO DE ATUADORES
AND- Sada verdadeira, s se todas as entradas forem
verdadeiras;
OR - Sada verdadeira, se alguma das entradas forem
verdadeiras;
XOR Sada verdadeira, se apenas uma das entradas for
verdadeira e as outras falsas;
XNOR Sada falsa, se apenas 1 das entradas for verdadeira
e as outras falsas.
73
Livro Blender.indb 73
11/02/2012 12:51:14
B l e n d e r
Dicas e Sugestes
CONTROLADORES
SENSORES
PYTHON
74
Livro Blender.indb 74
11/02/2012 12:51:14
ANOTAES
Livro Blender.indb 75
11/02/2012 12:51:14
Livro Blender.indb 76
11/02/2012 12:51:14
B l e n d e r
C a p t u l o
F s i c a
Livro Blender.indb 77
11/02/2012 12:51:14
B l e n d e r
Captulo 8 - Fsica
Agora que j possumos uma viso geral sobre o funcionamento
da Logic Bricks precisamos interromper por um momento o estudo
dos blocos lgicos para introduzir outro importante elemento no
desenvolvimento de jogos. A Fsica.
Nesse captulo iremos compreender como funciona a fsica nos
games e Como utiliz-la na BGE:
Pong
Livro Blender.indb 78
11/02/2012 12:51:14
F s i c a
79
Livro Blender.indb 79
11/02/2012 12:51:14
B l e n d e r
Portal - www.
valvesoftware.com
Livro Blender.indb 80
11/02/2012 12:51:14
F s i c a
produo.
Na BGE, a Bullet Engine mostra sua integrao atravs de
vrios painis e opes diferentes. E o correto entendimento de
suas opes fundamental para se atingir o resultado esperado.
Alguns conceitos de fsica bsica tambm sero necessrios
para se utilizar a Bullet em todo seu potencial j que as propriedades
que iremos configurar so de fato propriedades fsicas dos objetos
assim como seriam no mundo real como massa, resistncia do ar,
frico etc.
Para acessar as propriedades fsicas de um objeto, primeiro
preciso setar a interface do Blender para o modo Blender Game,
como indicado anteriormente. As propriedades da fsica se mostram
na aba Physics do Properties Editor.
Livro Blender.indb 81
11/02/2012 12:51:15
B l e n d e r
82
Livro Blender.indb 82
11/02/2012 12:51:15
F s i c a
Static
Dynamic/Rigidy Body
Mass: determina a massa do objeto. Objetos com maior massa
empurram com mais facilidade objetos com menor massa;
Form Factor: fator de escala do Tensor inercial;
Velocity Minimum: Escala da velocidade mnima que o objeto
pode chegar;
Velocidade Maximum: Escala da velocidade mxima que o
83
Livro Blender.indb 83
11/02/2012 12:51:15
B l e n d e r
Soft Body
Position Iterations: fator de qualidade para resoluo de posio
84
Livro Blender.indb 84
11/02/2012 12:51:15
F s i c a
e colises;
Linear Stiffness: fator de rigidez do objeto;
Friction: fator de atrito do objeto;
Shape Match: preserva ou no o formato do objeto;
Rigid to Soft Body: detecta coliso com Rigid Body;
Soft to Soft Body: detect coliso entre soft bodies.
85
Livro Blender.indb 85
11/02/2012 12:51:15
B l e n d e r
Bounds
Conforme j citado, uma das principais reas de processamento
das engines da fsica com relao deteco de coliso e formas
de tornar esse processo mais gil. Uma das formas encontradas
para isto o uso de simplificaes, em vez do uso da geometria
do objeto em si.
Um personagem de um game da gerao atual pode ter por
volta de 12~15K polgonos. E processar a fsica dessa grande
quantidade de polgonos seria algo extremamente custoso para a
engine de fsica. A alternativa, ento, utilizar uma aproximao
geomtrica simplificada do objeto no qual se quer testar a coliso.
Por exemplo, para testarmos a coliso de uma parede cheia de
tijolos, poderamos testar a coliso com um paraleleppedo que a
envolvesse. A essa simplificao chamamos Bound.
Um efeito indesejvel dessa simplificao que, por vezes,
partes no envoltas pelo Bound do personagem atravessam
partes de paredes e outros objetos. Porm, a reduo do custo de
processamento compensa esses problemas eventuais.
Na Blender podemos utilizar bounds para objetos configurados,
como Static, Dynamic, Rigidy Body, Soft Body e Sensor. Para
isto, precisamos setar a opo Collision Bounds, s seguintes
configuraes de Bounds para objetos:
Triangle Mesh: A prpria geometria ser o seu bound, quanto
mais precisa, mais custosa. E esta a opo mais indicada para
terrenos. Se nenhum bound for configurado, esta ser a opo
86
Livro Blender.indb 86
11/02/2012 12:51:15
F s i c a
selecionada;
Convex Hull: ser criado um mesh convexo a partir do modelo
atual e este ser o bound de coliso. mais indicado para casos em
que necessrio uma coliso acurada e o objeto no cncavo;
Cone: Utiliza um cone como bound de coliso;
Cylinder: Utiliza um cilindro como bound de coliso;
Sphere: Utiliza uma esfera como bound de coliso;
Box: utiliza uma caixa como bound de coliso;
Capsule: utiliza uma cpsula como bound de coliso (indicado
para personagens).
Abaixo est uma representao dos objetos e seus bounds
Dicas e Sugestes
BOUNDS e EMPTYS
Uma das tcnicas utilizadas para
organizar a fsica de personagens,
e outros elementos dinmicos do
cenrio, no aplicar os comandos
de movimentao e fsica no objeto do
personagem, mas num objeto empty e
parentando, posteriormente, o objeto
que contm a geometria e a animao
do personagem a esse empty.
ATUADORES E SENSORES
Diversos so os atuadores e sensores
que se utilizam dos sistemas de fsica, de
uma forma ou de outra. Por exemplo, o
atuador motion apresenta mais opes
quando o objeto est configurado para
Dynamic.
BOUNDS e ORIGENS
Um detalhe importante que o bound
de um objeto configurado conforme
a sua orientao, escala, rotao e
origem. As vezes necessrio resetar
a configurao desses elementos para
correo de problemas de coliso. Para
isto use + e escolha a propriedade que
deseja resetar. Esta funo aplica as
transformaes do mesh para o objeto
retornando Loc, Rot, Scale para seus
valores iniciais.
87
Livro Blender.indb 87
11/02/2012 12:51:15
ANOTAES
Livro Blender.indb 88
11/02/2012 12:51:15
B l e n d e r
C a p t u l o
F s i c a
Livro Blender.indb 89
11/02/2012 12:51:15
B l e n d e r
Captulo 9 - Fsica 2
No captulo anterior vimos as principais configuraes de fsica
da BGE. E neste captulo iremos aprender o que so e como utilizar
constraints para criar ligaes entre Rigidy Bodies.
Constraints
Constraints so estruturas que permitem criar eixos fixos em
objetos configurados, como Rigid Body. Alm disso, possvel
fixar esses eixos a outros objetos, criando assim ligaes entre
eles. Com isto podemos criar mquinas mecnicas que reagem
naturalmente fsica ou mesmo a Ragdolls
90
Livro Blender.indb 90
11/02/2012 12:51:15
F s i c a
91
Livro Blender.indb 91
11/02/2012 12:51:15
B l e n d e r
Dicas e Sugestes
JOINS CIRCULARES
Evite o uso de Joins circulares do tipo
Obj1 seta como target,o Obj2 e o Obj2
seta como target o Obj1. O mesmo para
mais de 2 objetos: Obj1->Obj2->Obj3>Obj1
ATUADOR MOTION
Tenha cuidado com o uso de Loc e
Rot,pois podem quebrar a ligao
criada com Joins. Em vez disso, utilize
Torque e Force
Fsica do Mundo
Na BGE podemos configurar ainda parmetros de fsica do
mundo. Para tal precisamos acessar o painel world, com a opo
Game Blender setada no Informations Editor. Alm de opes
grficas, como o valor de fundo do mundo, iluminao ambiente e
neblina, temos disposio diversas opes da fsica:
Physics Engine: Atualmente a nica engine de fsica da BGE
a Bullet, mas podemos deslig-la setando esse parmetro para
None.
Gravity: Valor de gravidade aplicado a todos os objetos do
mundo.
Physics Steps
Max: Valor que mantm a fsica sincronizada mesmo
quando o FPS do game cai;
Substeps: Nmero de subpassos para cada interao
fsica. Valores maiores permitem melhor sincronizao mais
pesam mais a aplicao;
FPS: Taxa de atualizao da fsica independente da dos
grficos.
92
Livro Blender.indb 92
11/02/2012 12:51:15
F s i c a
Logic Steps
Max: Valor que mantm a lgica sincronizada mesmo
quando o FPS do game cai.
Occlusion Culling:
Liga e desliga o sistema de otimizao de grficos quando
objetos esto atrs de outros, no sendo, portanto, visveis.
Resolution: Valor de preciso para o clculo;
93
Livro Blender.indb 93
11/02/2012 12:51:15
ANOTAES
Livro Blender.indb 94
11/02/2012 12:51:15
B l e n d e r
C a p t u l o
1 0
S e n s o r e s
Livro Blender.indb 95
11/02/2012 12:51:15
B l e n d e r
Captulo 10 - Sensores
Sensores so parte do corao da Blender Game Engine e do
seu sistema de programao Logic Bricks.
Neste captulo iremos descrever o funcionamento dos sensores
da Blender Game Engine. Mas bom saber que, devido grande
quantidade existentes de sensores, teremos um captulo extenso;
mas um importante material de consulta.
Lista de Sensores
Touch
O Sensor Touch detecta coliso entre objetos, verificando se o
objeto colidido possui o material especificado.
Parmetros:
Material: Determina o material que o objeto detectado tem que
possuir para ativar o sensor.
Ray
O Sensor Ray detecta a existncia de algum objeto com a
propriedade especificada em uma determinada direo, at certa
distncia do objeto chamador da funo.
96
Livro Blender.indb 96
11/02/2012 12:51:15
S e n s o r e s
Parmetros:
Property: Determina a propriedade que o objeto detectado tem
de possuir para ativar o sensor;
Eixo: Estabelece para qual eixo ser emitido o raio de verificao;
Range: Estabelece qual a distncia mxima de verificao;
Xray Mode: Ativando esta opo, o raio ir ultrapassar objetos
que no possuem a propriedade especificada,para verificar se o
objeto desejado est alm deste.
Random
Aleatoriamente estabelece um valor verdadeiro ou falso.
Parmetros:
Seed: Nmero base para o clculo de aleatoriedade, Seeds
diferentes estabelecem sequncias aleatrias diferentes.
Radar
O Sensor Radar detecta a existncia de um objeto
com a propriedade especificada dentro de um cone.
97
Livro Blender.indb 97
11/02/2012 12:51:15
B l e n d e r
Parmetros:
Property: Determina a propriedade que o objeto detectado tem
de possuir para ativar o sensor;
Axis: Estabelece para qual eixo ser emitido o raio de verificao;
Angle: Estabelece o ngulo mximo do cone de verificao;
Distance: Estabelece a distncia mxima de verificao do
sensor.
Property
O sensor Property verifica se uma propriedade do objeto
corresponde a uma funo de verificao (igual,maior que, menor
que...)
98
Livro Blender.indb 98
11/02/2012 12:51:15
S e n s o r e s
Parmetros:
Evaluation Type: Determina a funo de ativao e verificao
para a propriedade.
Equal Igual a x ?
Not Equal Diferente de x ?
nterval Tem valor sob o intervalo x - y?
Changed A propriedade foi modificada?
Property: Determina a propriedade, a qual o objeto detectado
tem de possuir para ativar o sensor.
Value: Valor com o qual a propriedade ser comparada.
Near
O Sensor Near verifica a existncia de algum objeto com a
propriedade especificada acerta distncia.
Parmetros:
Reset Distance: Distncia com a qual o sensor no mais
encontra o objeto aps a sua deteco;
Distance: Distncia com o qual o sensor detecta inicialmente
o objeto.
Mouse
O sensor Mouse verifica eventos vindos do mouse ou de
outra interface detectada (tablets, por exemplos) pelo sistema
operacional.
99
Livro Blender.indb 99
11/02/2012 12:51:15
B l e n d e r
Parmetros:
Mouse Event: Determina o evento de mouse que ir ativar o
sensor
Left Button Boto Esquerdo
Right Button Boto Direito
Middle Button Boto do Meio
Wheel Up Scrool do Mouse para cima
Wheel Down Scrool do Mouse para baixo
Moviment Movimentao do Mouse
Mouse Over Ponteiro do mouse est sobre o objeto
Mouse Over Any Ponteiro do mouse est sobre qualquer
objeto da tela
Message
O sensor Message verifica se alguma mensagem com o texto
especificado pelo campo Subject foi recebida pelo objeto
Parmetros:
Subject: A mensagem tem de possuir o texto especificado para
tornar ativo o sensor.
100
11/02/2012 12:51:15
S e n s o r e s
Keyboard
O sensor Keyboard verifica se a tecla especificada foi
pressionada.
Parmetros:
Key: Tecla verificada para ativar o sensor;
All Keys: Verifica todas as teclas;
First Modifier: Segunda tecla que precisa estar pressionada,
juntamente com a primeira, para ativar o sensor;
Second Modifier: Terceira tecla que tem de estar pressionada,
juntamente com a primeira e a segunda, para ativar o sensor;
Log Toggle: Toda vez que a tecla pressionada, adiciona o
valor pressionado;
Target: Para qu propriedade o valor ser enviado.
Delay
O sensor Delay aguarda o tempo especificado,depois ativa o
sensor.
101
11/02/2012 12:51:16
B l e n d e r
Parmetros:
Delay: Tempo de aguardo antes de ativar o sensor;
Duration: Especifica por quanto tempo o sensor ir permanecer
ativo;
Repeat: Especifica se o processo ser repetido indefinidamente.
Collision
O sensor Collision funciona de forma similar ao Touch,porm
possui mais opes
Parmetros:
Pulse: Torna o sensor sensvel a outras colises, mesmo que
alguma ainda esteja em curso
M/P: Especifica se o fator de ativao para a coliso ser a
propriedade ou o material ( se o campo for deixado em branco, a
coliso com qualquer objeto ir ativar o sensor )
Property/Material: Especifica o material/propriedade especfico
para verificao.
102
11/02/2012 12:51:16
S e n s o r e s
Always
O sensor Always funciona como uma chave sempre ativa e no
possui parmetros especficos.
Actuator
O sensor Actuador ativo quando o atuador especificado
estiver ativo.
Parmetros:
Actuator: Atuador que ser verificado
103
11/02/2012 12:51:16
ANOTAES
11/02/2012 12:51:16
B l e n d e r
C a p t u l o
1 1
P r o p e r t i e s
11/02/2012 12:51:16
B l e n d e r
Captulo 11 - Properties
Nesse captulo iremos aprender o que so e como so utilizadas
as propriedades. Mas veremos tambm como verificar essas
propriedades utilizando controladores expression.
O que so properties ?
comum, em jogos e outras aplicaes interativas,necessitarmos
guardar informaes locais do prosseguimento do jogo. Assim,
em um game de carro, por exemplo, guardaramos informaes
relativas ao quanto de combustvel cada um dos carros possui,
quantas voltas ele j completou e quanto de dano ele j recebeu. Em
um game de batalha de tanques, como novo exemplo, poderamos
guardar informaes, como a vida ainda existente em cada player
e a quantidade de tiros ainda disponveis.
Nesses casos, cada um desses elementos uma propriedade
do objeto; um valor com significado especfico dentro da mecnica
do game criado.
Propriedades podem ser no somente relativas ao objeto em
si, mas tambm a sistemas mais gerais do game. Por exemplo:
poderamos estabelecer um tempo limite para cada round de um
game de luta. A propriedade Time seria, ento, uma propriedade
de um sistema geral e no de um personagem especfico do
cenrio.
De qualquer forma, a sequncia de passos para criao e
utilizao de propriedades a mesma, visto que toda a propriedade
de um objeto especfico. Assim, deciso do game design se o
objeto ir ter relao com um personagem ou com o controle de
estados globais do game.
Para adicionar uma propriedade a um objeto precisamos
acessar o Logic Editor.
106
11/02/2012 12:51:16
P r o p e r t i e s
Assim que a operao for concluda, ser criado para este objeto
uma propriedade com nome default, seguindo a auto numerao
do tipo float.
11/02/2012 12:51:16
B l e n d e r
108
11/02/2012 12:51:16
P r o p e r t i e s
109
11/02/2012 12:51:16
B l e n d e r
110
11/02/2012 12:51:16
P r o p e r t i e s
111
11/02/2012 12:51:16
B l e n d e r
Dicas e Sugestes
PROPERTIES
112
11/02/2012 12:51:16
ANOTAES
11/02/2012 12:51:16
11/02/2012 12:51:16
B l e n d e r
C a p t u l o
1 2
A t u a d o r e s
11/02/2012 12:51:16
B l e n d e r
Captulo 12 - Atuadores
Atuadores so parte fundamental da estrutura do Logic Bricks,
responsveis por todas as funes dos objetos. Agora iremos
aprender quais so os tipos de atuadores disponveis e quais so
as suas caractersticas.
Atuadores
Visibility
O atuador Visibility determina se o objeto e os seus filhos da
relao de parentesco sero visveis ou no no game.
visveis ou no no game
Parmetros:
Visible: Seta a visibilidade do objeto;
Occlusion: Determina se o objeto agir como uma mscara de
ocluso para os outros ou no;
Children: Estabelece se os filhos da relao de parentesco
tero as mesmas propriedades de visibilidade e ocluso.
State
O atuador State determina o estado ativo do objeto.
Aprenderemos mais sobre States em um captulo futuro.
captulo futuro.
116
11/02/2012 12:51:16
A t u a d o r e s
Parmetros:
Operation: Seta a operao realizada;
Change state: Muda para o estado especificado;
Remove state: Remove o estado especificado da lista de
execuo;
Add state: Adiciona o estado especificado na lista de
execuo;
Set State: Muda para o estado especificado removendo os
outros.
Layers: Estabelece em qual State a operao ir se referenciar.
Sound
O atuador sound responsvel pelo play de arquivos de som.
Parmetros:
Play Mode: Seta a forma com que o som ser tocado, Play,
Loop ou Bidirecional;
Volume: Estabelece o volume do Audio;
Pitch: Estabelece um valor de distoro de agudo e grave;
117
11/02/2012 12:51:16
B l e n d e r
Steering
O atuador steerring responsvel pelo sistema de IA pathfinding
implementado na BGE.
Parmetros:
Behavior: Define um dos seguintes comportamentos para o
sistema:
Seek: Segue o objeto Target;
Flee: Foge de um objeto Target;
Path Following: Segue um objeto por um caminho
especificado.
Target Object: Determina o objeto alvo do sistema;
Nevigation Mesh: Estabelece qual o mesh de navegao por
onde o objeto poder se locomover (Note que o NavMesh tem de
estar pr-configurado);
Dist: Mxima distncia em que o alvo pode ser encontrado;
Velocity: Velocidade do objeto;
118
11/02/2012 12:51:16
A t u a d o r e s
Scene
O atuador Scene responsvel pelas funes relativas ao
gerenciamento de cenas na BGE
Parmetros:
Scene: Configura a funo a ser executada:
Resume Scene: Reabre uma Scene previamente suspensa;
Suspend Scene: Suspende Temporariamente uma Scene;.
Remove Scene:Remove definitivamente uma Scene da
memria;
Add Background Scene: Adiciona uma Scene como
Background da atual;
Add Overlay Scene: Adiciona uma Scene frente da atual;
Set Camera: Estabelece o objeto cmera ativo da cena
atual;
Set Scene: Troca a Scene atual pela Scene especificada;
Restart: Reinicializa a cena atual.
Random
119
11/02/2012 12:51:16
B l e n d e r
Parmetros:
Seed: Valor base para o calculo de aleatoriedade;
Distribution: Funo de aleatoriedade;
Property: Propriedade a ser setada.
Property
O atuador Property responsvel pelas funes de manipulao
e edio de propriedades.
Parmetros:
Mode: Configura a funo aplicada a propriedade;.
Assign: Aplica o valor especificado;
Add: Adiciona o valor especificado propriedade;
Copy: Copia o valor de uma propriedade de outro objeto
para uma sua;
120
11/02/2012 12:51:17
A t u a d o r e s
Parent
O atuador Parent responsvel por criao e remoo de
parentesco entre objetos em tempo de execuo
Parmetros:
Scene: Configura a funo aplicada a propriedade;
Set Parent: Cria parentesco com o objeto especificado;
Remove Parent: Remove parentesco com o objeto
especificado;
Parent Object: Objeto alvo da funo;
Compound: Configura o bound de fsica do objeto para o tipo
compound;
Ghost: Configura a fsica do objeto para o tipo Ghost.
Motion
O atuador Motion responsvel por aplicar operaes relativas
transformao de objeto e fsica;.
OBS: As opes da seo Dynamic Object Settings s esto
disponveis para os tipos Dynamic, Rigid Body e Soft Body.
121
11/02/2012 12:51:17
B l e n d e r
Parmetros:
Motion Type: Configura o tipo de movimentao;
Simple Motion: Movimento aplicado diretamente;
Loc: Operao de translao simples;
Rot: Operao de rotao simples;
Force: Aplicao de Fora;
Torque: Aplicao de Torque;
Linear Velocity: Aplicao de Velocidade Linear;
Angular Velocity: Aplicao de Velocidade Angular;
Damping Frames: Quantidade de frames para se obter a
velocidade aplicada;
Servo Control: Movimento relativo;
Object Reference: Objeto de referncia para o calculo de
velocidade;
122
11/02/2012 12:51:17
A t u a d o r e s
Message
O atuador Message responsvel pelo envio de mensagens
para outros objetos.
Parmetros:
To: Especifica o objeto que ir receber a mensagem (quando em
branco significa uma mensagem em broadcast);
Subject: Ttulo da mensagem;
Body: Pode conter um texto ou o valor de uma propriedade.
Game
O atuador Message responsvel por funes de manipulao
de arquivos .blend e do fluxo do game
123
11/02/2012 12:51:17
B l e n d e r
Parmetros:
Game: Especifica a funo a ser executada:
Start Game From File: Especifica o arquivo .blend a ser
carregado ( O arquivo .blend pode ser renomeado para qualquer
outro formato, data,.cenrio, etc. e, ainda assim, ser lido
corretamente );
Restart Game: Reinicializa o arquivo .blend atual;
Quit Game: Fecha a aplicao ( Mesma funo do Esc
configurado por default );
Save GlobalDict: Salva um dicionrio de dados;
Load GlobalDict: Abre um dicionrio de dados.
Filter 2D
O atuador Filter 2D responsvel pela aplicao de efeitos de
post process.
Parmetros:
Filter 2D Type: Especifica a funo a ser aplicada
Add Object
O atuador Add Object responsvel pela manipulao de
objetos em tempo de execuo.
124
11/02/2012 12:51:17
A t u a d o r e s
Parmetros:
Edit Object: Configura a funo a ser aplicada.
Add Object: Adiciona o objeto no cenrio, com o tempo de
vida e velocidades angular e linear especificados (NB: O objeto
adicionado tem que estar em uma layer diferente do objeto que
o chama);
End Object: Remove o objeto do cenrio;
Replace Mesh: Troca o mesh do objeto atual, pelo mesh
especificado;
Track To: Atualiza a orientao do objeto para que aponte
para o objeto especificado;
Dynamics: Liga, desliga e restaura opes de Fsica.
Constraints
O atuador Constraints responsvel pela criao de constraints
em tempo de execuo.
125
11/02/2012 12:51:17
B l e n d e r
Parmetros:
Constraints Mode: Configura a funo a ser aplicada.
Location Constraints: Adiciona uma constraint para
limitao de movimentao do objeto no eixo especificado;
Distance Constraints: Adiciona uma constraint para
limitao de movimentao em relao a outro objeto;
Orientation Constraints: O mesmo que location, porm
aplicado orientao;
Force Field Constraint: Cria um campo de fora fsica que
o afasta de qualquer objeto detectado na direo especificada.
Cmera
O atuador cmera faz com que um objeto cmera siga outro
objeto de forma automtica.
Parmetros:
Cmera Object: Especifica o objeto alvo da funo;
Height: Especifica a altura que a cmera estar do objeto;
Axis: Especifica o eixo preferencial.
Action
O atuador Action toca uma animao do objeto especificado.
126
11/02/2012 12:51:17
A t u a d o r e s
Parmetros:
Function: Especifica a funo de player a ser executada;
Action: Especifica a animao a ser executada;
Continue: Continua a animao do ultimo quadro tocado
quando a animao ligada/desligada;
Start: Quadro inicial da animao;
End: Quadro final da animao;
Child: Toca a animao de todos os filhos tambm;
Blending: Nmero de frames mixados na troca de animaes;
Priority: Prioridade de execuo dessa animao;
Layer: Layer da animao;
Layer Weight: O quanto o layer anterior mixa com o atual;
Frame Property: Joga o ndice do keyframe atual para a
propriedade especificada.
Dicas e Sugestes
ACTUATORS e PULSOS
Cada atuador funciona de forma
diferente com relao aos pulsos
recebidos pelos sensores. Fique atento
para configuraes diferentes, usando
Pulse Mode True.
127
11/02/2012 12:51:17
ANOTAES
11/02/2012 12:51:17
B l e n d e r
C a p t u l o
A p r o f u n d a n d o
e m
1 3
L o g i c
B r i c k s
11/02/2012 12:51:17
B l e n d e r
11/02/2012 12:51:17
A p r o f u n d a n d o
e m
L o g i c
B r i c k s
States
Podemos entender o sistema de estados de Logic Bricks como
um conjunto de Layers para programao, onde somente sero
executadas as operaes dos Layers ativos.
Este sistema particularmente til quando um elemento do
game possui vrias funcionalidades diferentes, dependendo do seu
131
11/02/2012 12:51:17
B l e n d e r
Dicas e Sugestes
STATES
States podem ser utilizadas como
mquinas de estado finitos e/ou como
arvore decisrias economizando assim
o uso de propriedades.
Tente sempre utilizar states e no
propriedades para qualquer situao em
que haja troca de estados fundamentais
por exemplo On/Off da movimentao
de um player.
132
11/02/2012 12:51:17
ANOTAES
11/02/2012 12:51:17
11/02/2012 12:51:17
B l e n d e r
C a p t u l o
1 4
A s s e t M a n a g e m e n t
11/02/2012 12:51:17
B l e n d e r
Captulo 14 - AssetManagement
A conversao de arquivos entre softwares 3D um ponto
crucial para reutilizao de trabalho e para o gerenciamento de
grandes projetos. Neste captulo aprenderemos como trabalhar
com vrios arquivos .blend e como importar modelos de outros
softwares de edio 3D como Maya, 3DMax e/ou Zbrush.
Append
A funo Append funciona criando uma cpia do elemento do
arquivo especificado e o adiciona no seu cenrio atual. Podemos
assim importar objetos, scenes, texturas, materiais, cmeras, etc.
de outros arquivos .blend para o atual.
Atualmente a funo Append est disponvel no menu File/
Append do painel Informations. Assim que a opo selecionada
a interface do Blender apresenta o editor file browser.
136
11/02/2012 12:51:17
A s s e t M a n a g e m e n t
Link
A funo Link age de forma similar ao Append, adicionando
o elemento importado no cenrio atual. Mas ele cria apenas uma
referncia para o arquivo original, e no uma cpia, de modo que
no possvel editar o elemento no .blend destino.
O Uso de um gerenciamento de modelos do tipo Link
importante quando se deseja usar um mesmo objeto ou estrutura
em vrios scenes diferentes. Deste modo, haver modificao no
original, e estas sero propagadas para todos os outros arquivos.
137
11/02/2012 12:51:17
B l e n d e r
138
11/02/2012 12:51:17
ANOTAES
11/02/2012 12:51:17
11/02/2012 12:51:18
B l e n d e r
C a p t u l o
I n t r o d u o
1 5
B G E
A P I
11/02/2012 12:51:18
B l e n d e r
Python na BGE
11/02/2012 12:51:18
I n t r o d u o
B G E
A P I
143
11/02/2012 12:51:18
B l e n d e r
144
11/02/2012 12:51:18
I n t r o d u o
B G E
A P I
FragmentShader =
varying vec4 texCoords;
uniform sampler2D diff;
void main() {
vec4 color = texture2D(diff, gl_TexCoord[0].st);
gl_FragColor = color;
}
obj = bge.logic.getCurrentController().owner
mesh = obj.meshes[0]
mat = mesh.materials[0]
shader = mat.getShader()
shader.setSource(VertexShader, FragmentShader,1)
shader.setSampler(diff,0)
145
11/02/2012 12:51:18
B l e n d e r
Dicas e Sugestes
PHYTON
A linguagem python extremamente
simples
e
robusta,
ideal
para
programao de scripts de games. A
API do Blender oferece uma soluo
bastante robusta para aqueles que
querem desenvolver seus games para a
plataforma PC. Investir no aprendizado
de uma linguagem de programao
geralmente algo tedioso para artistas.
Entretanto, a linguagem python
certamente uma boa porta de entrada
para o mundo de programao para
aqueles que desejam aprender esta
etapa do desenvolvimento de jogos.
146
11/02/2012 12:51:18
ANOTAES
11/02/2012 12:51:18
11/02/2012 12:51:18
B l e n d e r
C a p t u l o
F i n a l i z a n d o
u m
1 6
G a m e
11/02/2012 12:51:18
B l e n d e r
Gerando executveis
Para gerar um arquivo executvel precisamos habilitar um addon disponvel de forma build-in no Blender.
Para isto, acessamos o editor User preferences, no menu File
no editor Info, e habilitamos o add-on Save Game as Runtime.
E podemos filtrar facilmente o add-on ativando o filtro Game
Engine.
150
11/02/2012 12:51:18
F i n a l i z a n d o
u m
G a m e
11/02/2012 12:51:18
B l e n d e r
Dicas e Sugestes
EXECUTVEIS
Executveis gerados com o Blender s
funcionam no SO no qual ele foi gerado.
Ou seja, uma aplicao gerada no
Windows no ir rodar no Linux e vice
versa.
ARQUIVOS .BLEND
Todas as funes do Blender relativas
a arquivos .blend funcionam mesmo
que a extenso do arquivo no seja
explicitamente esta. Isto permite
que os arquivos .blend possam ser
renomeados para outros formatos,
como, por exemplo, .scene ou .data,
aumentando a segurana da aplicao.
152
11/02/2012 12:51:18
ANOTAES
11/02/2012 12:51:18
11/02/2012 12:51:18
B l e n d e r
C a p t u l o
B o n u s
M a t e r i a i s
11/02/2012 12:51:18
B l e n d e r
Shaders
Antes de iniciar o estudo de materiais na Blender Game
Engine, precisamos compreender como funcionam os sistemas de
materiais em aplicaes em tempo real.
Basicamente, material o conjunto de propriedades de um
objeto ou geometria que define a forma com que ele reage a
iluminao. Materiais podem ser mais ou menos reflexivos,
translcidos, terem cores diferentes ou mesmo simular geometrias
inexistentes. Tais propriedades podem ser calculadas atravs de
2 modelos de sombreamento (shading): o per vertex e o modelo
per pixel.
No modelo per vertex a iluminao calculada para cada vrtice
do objeto, atravs da formula de Lambert I= Dot(NL), sendo I a
intensidade da luz e Dot o produto interno entre vetores/matrizes.
No vetor normal do vrtice, L o vetor posio da luz. Ou seja:
cada vertex ter um valor relativo sua iluminao. E a face ir,
ento, interpolar os valores dos vrtices em um dgrad, de modo
que no existam descontinuidades.
Este modelo foi muito utilizado durante algum tempo. Mas logo
se detectou um problema: quanto maior a qualidade da iluminao
calculada no objeto, maior tem de ser a quantidade de polgonos.
Assim, aumentando bruscamente a quantidade de polgonos,
aumentava de modo semelhante o custo de processamento. Era,
pois, necessrio um modelo de sombreamento que, independente
da quantidade de vrtices, mantivesse a mesma qualidade. Assim
surgiu o shader e o modelo de iluminao per pixel.
O Modelo de iluminao per pixel atua de forma similar, mas
no calcula a iluminao baseada na normal do vrtice; e sim na
normal do pixel relativo ao objeto.
Toda vez que o processo de renderizao encontra um pixel
156
11/02/2012 12:51:18
M a t e r i a i s
Shaders na BGE
Podemos habilitar o uso de shaders na View3D e na BGE,
atravs do menu Properties da 3Dview (Boto N), e em seguida
na guia Display/ Shading.
Para habilitar a visualizao na 3D view precisamos setar a
interface para o modo de visualizao de texturas. Esta opo se
encontra no Header da 3Dview.
11/02/2012 12:51:18
B l e n d e r
158
11/02/2012 12:51:18
M a t e r i a i s
Node Editor
Outra caracterstica do sistema de materiais do Blender/BGE
a possibilidade de configurar materiais utilizando o sistema de
Node.
Para isto necessrio dividir um editor e adicionar o Node
Editor em um dos lados. Depois, ative a opo Use Nodes, no
header do Node Editor, e ento o material ativo aparecer no editor.
Em seguida, selecione a que material o Node se refere.
159
11/02/2012 12:51:18
B l e n d e r
X-RAY SHADER
REFRACTION
160
11/02/2012 12:51:19
ANOTAES
11/02/2012 12:51:19
11/02/2012 12:51:19