Caixa de Texto

Desde que fui apresentando à Game Engine do Blender, uma dúvida que vejo com uma certa freqüência nos fóruns de discussão e de algumas pessoas que me procuram é sobre como criar uma caixa de textos. Porém, essa dúvida não era só deles, era minha também…após já ter criado gigantescos scripts python que faziam esse papel, descobri que a tão árdua caixinha de texto era uma das coisas mais simples de serem implantadas na engine.
Para evitar que muitas entusiastas do blender passem pelo mesma situação que passei, vou ensinar neste artigo, como criá-la.

Definição:
A caixa de textos consiste em um campo que captura os caracteres digitado no teclado, armazenando a sequência e mostrando-a na tela.

Como Fazer:
A primeira coisa a se fazer é criar um texto do game engine. Caso haja alguma dúvida sobre como fazer, visite esse meu outro artigo sobre Textos no Game Engine
.

Nosso objeto texto já tem uma variável com o nome de Text. Vamos criar outra variável do tipo lógico(boolean) com um nome qualquer.
Adicione um sensor do tipo Keyboard e deixe o botão "All Keys" ativado
. No campo "LogToggle", coloque o nome da nossa variável lógica que criamos. No campo "Target", coloque a variável Text.

Prontinho faça o teste. Aperte (P) e digite alguma coisa. Como você pode ver, o que for digitado irá para variável Text enquanto a variável lógica define se a caixa de texto esta ativa ou não: Se o valor for True ela funciona, se for False não.

Veja na figura abaixo como ficaria nossa configuração:

    img011.jpg

Agora é só dar uma implementada ao seu gosto!

Share and Enjoy:
  • del.icio.us
  • digg
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Reddit
  • Shadows
  • Smarking
  • YahooMyWeb


Maio 2007

Criando Texturas UV-Mapeadas a partir da Radiosity

Requisitos: Conhecimentos em Radiosity e Mapeamento UV
Versão do Blender: 2.44

Uma das maiores dificuldades na hora de se criar texturas para jogos é conseguir um efeito de sombreamento convincente. No game engine, para conseguir esse efeito sem usar lâmpadas, pode-se usar radiosity, mas, seu uso em excesso pode causa queda de desempenho. Neste artigo iremos aprender a criar uma textura UV-Mapeada a partir da Radiosity.

Vamos usar como exemplo a personagem low poly da figura abaixo, mas essa técnica pode ser usada também para cenários:

    img01.jpg

Faça o mapeamento UV do objeto normalmente:

    img02.jpg

Após terminar o mapeamento, Adicione uma nova cena com uma cópia completa do objeto (Full Copy). Nesta cena iremos realizar a Radiosity. Se for em um cenário, coloque a emissão de luz normalmente como você faria. Se for em personagem, você deverá colocar a emissão de luz com o “emit” no máximo em todos os lados do objeto, e não esqueça de aplicar materiais os conforme o seu gosto, como na figura:

    img03.jpg

Aplique a Radiosity e apague as fontes de luz. Nosso macaco de teste ficou assim:

    img04.jpg

Entre no modo de seleção de faces (F), selecione todas as faces(A). Abra uma janela de “UV/Image Editor”. Como você pode ver, o mapeamento UV que você fez continua nesse novo modelo.
Agora na janela “UV/Image Editor”, nos menus, vá em “UVs” -> “Scripts” -> “UV Painter”. A mágica da conversão de Radiosity para Mapeamento UV está neste script.
O único problema neste script é que ele costuma fazer algumas barberagens na hora de salvar a imagem no HD. Eu recomendo que em vez de salvar por ele, faça um Screenshot(print screen) da imagem e depois edite em seu programa de edição de imagens preferido.
Abaixo a imagem do script em ação:

    img05.jpg

Após ter editado a imagem num programa de edição qualquer, vá à nossa primeira cena, onde está o personagem inicial, e mapeie-o com a imagem criada. Agora vamos acertar os vértices no UV/Image Editor, que deve estar um pouco fora do lugar, mais ou menos como a imagem abaixo:

    img06.jpg

Se isso acontecer (e provavelmente vai acontecer), trabalhe em cima dos vértices de forma que acerte o mapeamento em cima da imagem:

    img07.jpg

Prontinho! Agora para ficar mais legal, é só colocar os detalhes na sua imagem. Até a próxima!

    01.jpg
    uv2.jpg
Share and Enjoy:
  • del.icio.us
  • digg
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Reddit
  • Shadows
  • Smarking
  • YahooMyWeb


Maio 2007

Textos no Game Engine

No Blender, temos a possibilidade de escrever textos no Game Engine usando uma imagem no formato targa(tga) com a textura da fonte desejada. Criar essa imagem usando um editor de imagens é um pouco complicado, já que existem algumas regrinhas básicas que devem ser seguidas para que não haja problemas (A imagem tem que ser em 8 bits, em tons de cinza etc…). Abaixo um exemplo de como ficaria essa imagem:

    arialbd.jpg

Criando sua fonte bitmap
Já existe uma ferramenta chamada ftBlender, que cria essa imagem a partir de uma fonte True Type. Esse programa é executado em linha de texto, através de parâmetros, e a fonte que você deseja converter tem que estar no mesmo diretório do programa.
Para algumas pessoas, que não estão acostumadas a trabalhar em linha de comando, o ftBlender se torna um pouco complicado. Pensando nessas pessoas, desenvolvi uma interface gráfica para esse programa: “Ftblender Interface”. Ele, em conjunto com o ftBlender, consegue criar as texturas sem ter que digitar uma linha de comando. Lembrando que o FtBlender Interface, como o próprio nome já disse, é apenas uma interface, sendo que o mérito da conversão fica todo para o FtBlender.
Abaixo uma imagem do programa em ação:

Ele é totalmente alto explicativo, bastando apenas seguir as instruções para criar sua fonte com sucesso!
O link para download do programa:
Download FtBlender Interface

Inserindo Textos no Game Engine

1 -- Adicione um plano (Plane);

    plano01.jpg

2 – Agora você vai fazer um mapeamento UV deste plano usando a textura que você criou com o Programa “FtBlender”. O mapeamento deverá ficar em cima do primeiro caractere arroba, conforme as imagens abaixo:

    plano02.jpg

O plano deverá ficar assim:

    plano03.jpg

3- Nos botões “Texture Face” (F9), abilite as opções “Tex”, “Text” e “Alpha”:

    plano04.jpg

4 – Agora adicione uma propriedade com o nome de “Text” (com a primeira letra em Maiúscula). Essa propriedade pode ser de qualquer tipo (float, integer, string etc…), ela é que vai definir o texto que será escrito. No nosso caso, criamos a propriedade do tipo String e colocamos o se valor como “Testando”:

    plano05.jpg

Faça o teste (P). Pode acontecer de sua imagem ficar com as letras viradas, como na figura:

    plano06.jpg

Se isso acontecer, você deve selecionar o plano e em “Modo de Edição”, rotacionar a malha de forma que fique na posição correta.

    plano07.jpg

Criamos nosso texto no game engine. Para você modificar esse texto em tempo real, é só criar um logicbrick de forma que modifique o valor da propriedade.

Share and Enjoy:
  • del.icio.us
  • digg
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Reddit
  • Shadows
  • Smarking
  • YahooMyWeb


Maio 2007