Runner alternativo

A funcionalidade mais básica de um runner é o pulo. Geralmente se usa uma tecla do teclado, joystick, botão no dispositivo mobile, etc como entrada de dados. Nesse experimento, faremos um runner com uma entrada de dados diferente. Utilizaremos uma webcam para capturar o movimento do jogador.

Como acontece?

1. Primeiro, captura-se apenas a imagem do ambiente; Essa imagem será salva pelo programa.

Veja como na imagem de exemplo:

background

2.  Depois disso, o usuário vai pra frente da câmera para que o programa possa “ler” e gravar o posicionamento do jogador.

Como na imagem:

personagem+background

3. Agora o programa vai precisar subtrair a primeira imagem da segunda para que fique apenas o jogador.

O resultado esperado é mais ou menos assim:

personagem

4. Porém, a lente da webcam ainda deixa alguns ruídos na imagem, ela pode ficar aproximada do exemplo a seguir:

personagem+ruido

5. Para resolver esse problema, aplica-se o efeito de blur para suavizar os ruidos. Como na imagem que segue:

personagem+ruido

6. Agora para não termos a interferência do blur, aplica-se uma máscara.

personagem+mascara

7. A máscara não será utilizada diretamente, retira-se a região da máscara e usa-se apenas o personagem sem nenhuma interferência (ou o mais aproximado disso).

personagem

8. O próximo passo será determinar o ponto mais alto do personagem. Este será o limite na altura.

personagem+range

9.Caso o usuário pule (literalmente), ele passará dessa altura e assim o software vai entender que o ponto passou do limite e assim teremos a nossa entrada de dados para o pulo.personagemPulando

 

 

___________________________________________________________________________

Fontes das imagens:

http://www.acumen-design.de/temp/knuffie_game_background1.jpg

http://images.uncyc.org/pt/f/fd/Boneco-palito.jpg

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: