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

Textos Bitmap com Suporte a Lingua Portuguesa

Alguns dias atrás me vi obrigado há modificar um projeto já terminado para alterar um texto errado. Na ocasião, usei o Blender versão 2.44, e, meu projeto tinha sido feito na versão 2.43, na qual havia o suporte a caracteres especiais (ç, é, ó, etc…), se fosse acessado via python. Até ai tudo bem, mas quando gerei o arquivo executável, percebi que as letras comumente usadas em nosso idioma haviam sumido! Verifiquei novamente o arquivo blend e cheguei conclusão que essa nova versão do blender havia perdido esse suporte…

Decidi não ficar esperando uma boa alma entre os desenvolvedores do blender incorporar a suporte no game engine do nosso idioma e procurei uma solução mais rápida, que se resume basicamente em editar a imagem da fonte, substituindo as letras que não vão ser usadas pelas que eu preciso usar.
Neste tutorial simples, irei substituir o caractere #(ao qual não me interessa, pelo menos para mim), pelo ç (que quase sempre preciso usar) utilizando o programa de edição de imagens Gimp. Então quando quiser escrever por exemplo a palavra “esperança” no game engine, a nova grafia usada será “esperan#a”.

Então vamos lá:
1º Passo: Crie uma fonte bitmap para o game engine do blender, mas é necessário que seja uma fonte no formato português. Caso haja alguma dúvida, dê uma olhada neste artigo sobre como criar textos para o Game Engine do BlenderTexto no Game Engine

2º Passo: Abra o arquivo da fonte bitmap no Gimp e com a ferramenta para seleção de regiões retangulares (atalho:R), selecione o caractere especial, no meu caso, eu selecionei o ç:

    img01.JPG

3º Passo: Copie e cole a seleção. Vai ser criada uma “Seleção Flutuante”, aperte o ícone da folha, como indica a figura, para transformar em uma camada.

    img021.jpg

4º Passo: Agora com a ferramenta de “Mover camadas e seleções” (atalho: M), mova a caractere até sobrepor (#) o outro caractere que será substituído, certifique-se que esteja bem alinhado com as outras letras.

    img031.jpg

5º Passo: Agora, na janela de camadas, selecione a camada onde se encontra a letra ç com o botão direito e clique na opção “Merge Down”.

Faça as mesmas operações para as outras letras que você deseja substituir. Agora é só salvar o arquivo (Atalho: Ctrl+S)!

Até a próxima!!!!

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 Próxima Página »