Blender Game Engine: Uma introdução

A Blender Game Engine é uma das engines mais populares para desenvolvimento de aplicações 3D interativas. Este artigo apresenta a engine e suas principais funcionalidades de uma maneira breve e possibilitando o desenvolvimento de jogos.

[ Hits: 30.205 ]

Por: Felipe Martins dos Santos em 19/08/2009 | Blog: http://www.ime.usp.br/~fmsantos


Exemplo usando Logic Bricks



Para utilizar a BGE é necessário ter o Blender instalado. Para o exemplo será utilizada a versão 2.49. Para acessar os Logic Bricks, acesse a ferramenta Logic na Buttons Windows (parte inferior) do Blender ou pressione F4. Com a ferramenta Logic sendo visualizada é possível adicionar sensores para objetos já criados e caracterizar objetos com propriedades físicas através do Bullet.

Ao abrir o Blender já existe criado na 3D View um cubo. Explicar como modelar outros objetos mais complexos foge do escopo do artigo, que é apresentar a BGE. Por isso, utilizaremos o cubo para explicar na prática como utilizar os sensores, controladores e atuadores.

Clique com o botão direito do mouse sobre o cubo e veja que é possível adicionar sensores, controladores e atuadores ao cubo na Buttons Window.

Adicionaremos primeiramente um sensor:

Observe que abaixo de 'Sensors' existe a palavra 'Cube', que é o nome do objeto selecionado, seguido da palavra 'Add'. Clique sobre 'Add' para adicionar um novo sensor ao cubo. O sensor adicionado é do tipo 'Always', aquele que gera pulsos a todo instante. Clique na seta ao lado de 'Always' e altere para 'Keyboard'. Isso fará o sensor gerar pulsos quando teclarmos a tecla especificada. Mas ainda falta especificar a tecla. Clique sobre o espaço vazio à direita de 'Key' e pressione a tecla para cima quando solicitado.

Adicione agora um controlador:

Abaixo da palavra 'Controllers' existe a palavra 'Cube' novamente, clique na palavra 'Add' do lado direito. O controlador adicionado é do tipo 'AND' e satisfaz nossas necessidades.

Adicione para finalizar um atuador:

Abaixo da palavra 'Actuators' existe novamente a palavra 'Cube', ao lado dela, clique em 'Add'. Agora foi adicionado um atuador do tipo Motion. Isso possibilita que o cubo se movimente.

Observe que nas propriedades do atuador existem duas linhas chamadas Loc e Rot. Loc possibilita que o objeto se locomova no(s) eixo(s) especificado(s). Cada uma dessas palavras é seguida de 3 números no formato ponto-flutuante. Esses números indicam a movimentação nos eixos x, y e z respectivamente. Aumente o valor de y na linha correspondente a Loc para 0.1.

Conectando sensor, controlador e atuador:

Agora que temos um sensor, um controlador e um atuador, basta conectá-los.

Para isso observe que do lado direito do sensor existe uma pequena esfera amarelada. Clique sobre ela e arraste-a até o espaço correspondente do lado esquerdo do controlador criado. Repita o procedimento do controlador para o atuador.

Agora os três itens devem estar conectados da seguinte maneira: Sensor => Controlador => Atuador.

Mude para a câmera 0 e clique em 'P' para visualizar o que acontece. Quando clicamos em 'P', adentramos no modo de teste do jogo. Teclando na seta para cima, podemos movimentar o cubo no eixo y até que ele desapareça. Clique em 'ESC' para sair do modo de teste do jogo.

Repita o procedimento para os outros movimentos:

Repita o procedimento adaptando teclas nos sensores e números nos atuadores para movimentar cubo em todas as direções.

Clique na url para baixar o primeiro exemplo: Exemplo1BlenderGameEngine.blend - 4shared.com

No exemplo incluí as movimentações no eixo x, y e rotação em torno do eixo z.

Para incluir rotação no seu exemplo, basta adicionar um sensor para a tecla de rotação (no meu exemplo utilizei 'R'). Um controlador AND e um atuador que possua o atributo Rot, alterado em sua última coluna para 1.0. Não se esqueça de linkar os blocos.

Pronto, esse é o primeiro exemplo, mas ainda tem mais...

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Exemplo usando Logic Bricks
   3. Exemplo usando Logic Bricks e física com a Bullet Engine
   4. Finalizando
Outros artigos deste autor

LaTex no Fedora 20 - Instalação via YUM

Reprodução de arquivos WAV com SDL_mixer e linguagem C

Compilador GNU Prolog

Leitura recomendada

Camera Kombat: Mortal Kombat ao vivo com WebCam

Rodar o DDO no Ubuntu usando o Wine

Como instalar um servidor de Counter-Strike

Rodando jogos a partir de uma imagem ISO

Transforme seu Linux num Neo Geo

  
Comentários
[1] Comentário enviado por felipemartinsss em 19/08/2009 - 12:22h

Bom dia pessoal,
houve um problema para exibir a tabela na página "Introdução", no tópico "Controladores". Para visualizarem corretamente a tabela acessem: http://sites.google.com/site/slackerbrasil/blender-html/blender.html?attredirects=0

Obrigado.

[2] Comentário enviado por acollucci em 21/08/2009 - 13:24h

cara muito bom o artigo, apesar de que eu nao entendo nada de blender... parabens!

[3] Comentário enviado por felipemartinsss em 21/08/2009 - 14:15h

Obrigado pelo comentário acollucci.
Eu também não conheço muito, comecei a estudar por causa da Game Engine.
Tente implementar, acho que você vai gostar.

Abraço.

[4] Comentário enviado por br4in5t0rm em 24/08/2009 - 10:18h

Mais um artigo excelente Felipe.
Parabéns pela qualidade e pela didática empregada no artigo sobre game engine do Blender.
\__/
(oo)
_||_
erick

[5] Comentário enviado por felipemartinsss em 24/08/2009 - 12:02h

Obrigado br4in5t0rm.
Estou me esforçando para ter conteúdo suficiente para outro texto em breve.

Abraço

[6] Comentário enviado por Cr4sh_Dump em 06/02/2013 - 15:05h

Primeiramente queria dar um parabens pelo artigo e pela dica de que se nos nao fizermos os jogos... quem os criara? mais tenho apenas uma pergunta sou programador c/c++ mais o pouco que sei de programaçao de jogos sempre foi sobre sobre allegro e qt 4 + opengl entao desculpe a minha ignorancia. Minha pergunta e a seguinte tive olhando para interface do blender e vi que se colocar varios blocos logicos numa mesma figura chega um momento que nao é possivel interligarlos pois nao cabem todos na tela do pc. Como se contorna isso?

[7] Comentário enviado por felipemartinsss em 19/09/2014 - 11:45h


[6] Comentário enviado por Cr4sh_Dump em 06/02/2013 - 15:05h:

Primeiramente queria dar um parabens pelo artigo e pela dica de que se nos nao fizermos os jogos... quem os criara? mais tenho apenas uma pergunta sou programador c/c++ mais o pouco que sei de programaçao de jogos sempre foi sobre sobre allegro e qt 4 + opengl entao desculpe a minha ignorancia. Minha pergunta e a seguinte tive olhando para interface do blender e vi que se colocar varios blocos logicos numa mesma figura chega um momento que nao é possivel interligarlos pois nao cabem todos na tela do pc. Como se contorna isso?


Cr4sh_Dump, peço desculpas porque não pude responder na época em que você fez a pergunta.
No momento não estou com um ambiente Blender configurado para fazer o teste, mas no Blender você pode deslocar a câmera e mover-se pelo cenário que
está criando. Então teoricamente, se você quer adicionar novos Logic Bricks, você pode expandir seu cenário e isso não seria problema.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts