Criando Luz e Sombra no Game Maker

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade Criando Luz e Sombra no Game Maker

Mensagem por Convidad em Sex 13 Jun 2008, 23:09

Criando Luz e Sombra no Game Maker

Blend signigica "mistura","mixagem" ou "mesclagem". Isso é bem fácil de assimilar quando se trata de sons, não é mesmo? Mas e quando a mixagem é feita por cores? Antes de aprender os efeitos de mesclagem, recomendo que dêem uma olhada no mini tutorial de texturas e formas vetoriais com cores em degradê que fiz. Isso vais ser importante, pois vamos usá-los nos efeitos "blend".




Clique aqui para ver o tutorial

Fiz um mini tutorial pra quem está começando agora e não sabe como criar efeitos de luz e sombra no poderoso Game Maker. Aqui eu explico como funcionam os efeitos de "mesclagem" de cores, onde conseguimos resultados muito interessantes.

Ás veses, um efeito de mesclagem pode ser muito mais leve e incomparavelmente mais bonito do que um efeito criado "a seco". Comparem: em um jogo 2D, imagine o trabalho que daria ter que criar sprites diferentes para cada cor de luz ambiente quando podemos criar apenas uma usando efeitos de mesclagem.

Ao invés de desenhar uma sprite para que se pareça como uma sombra, porque não usar a sprite do próprio personagem com alguns efeitos diferentes? Ha! Não só sombra mas também reflexos de vidro e explosões!

Esse mini tutorial tem o intuito de instruir você aos efeitos de mesclagem do Game Maker. As possibilidades são infinitas e cabe à sua criatividade usar esse conhecimento para conseguir outros resultados.


Efeitos de Mesclagem (Blend)

Quando desenhamos algo na tela (uma animação qualquer, texo, imagem, ou forma vetorial), o Game Maker chama uma série de rotinas no DirectX. Antes de "mostrar pra gente" o que está acontecendo na tela do game, o Game Maker tem que "preparar" todos os componentes gráficos usados e organizá-los da forma correta.

Ao fazer um desenho qualquer na tela, podemos alterar o modo como suas cores serão interpretadas pelo Game Maker em relação ás cores na camada de baixo (depht). Para isso precisamos informar ao Game Maker como ele deve preparar
esse desenho antes de "jogá-lo" no monitor:


draw_set_blend_mode(tipo)

Essa função vai dizer ao Game Maker o tipo de mesclagem utilizada no evento draw. Isso vale para tudo o que se passa na tela, portanto, ao fazer um desenho qualquer devemos informar ao Game Maker que retorne ao modo normal após terminá-lo.

No exemplo abaixo, pedimos à função draw que faça os desenhos de um céu e de Goku:



Os modos de mesclagem mais comuns são:


bm_normal

Esse é o padrão de desenho sem efeitos de mistura. Não se esqueça de retornar à esse modo quando os outros padrões não forem mais necessários.

bm_add

Esse modo de mesclagem tem como base a luninosidade. As cores do segundo desenho a ser mesclado serão mais claras/escuras ou mais fortes/fracas , de acordo com as características do primeiro. Esse modo ignora a cor usada como transparência na sprite.

bm_max

Esse modo vai afetar o brilho/contraste da imagem de baixo. Você pode conseguir um efeito de "posterizar" através dele. Ele também vai levar em consideração a cor usada na transparência da sprite.

bm_subtract

O modo bm_subtract afeta a matiz/saturação da segunda imagem (de baixo) com base nas cores da primeira, subtraindo seus valores. Ele também vai levar em consideração a cor usada na transparência da sprite.

Agora vamos desenhar um efeito por cima de Goku, como se estivesse carregando o Ki, ok? Nesse caso eu aconselho que não se prenda muito à regras, porque o legal mesmo é experimentar e conhecer os efeitos:

Vamos usar o modo bm_add para criar uma luz em torno de Goku. A sprite que vamos usar é essa:


Passo a passo

Clique aqui para baixar o arquivo do código

1 - Crie um objeto com a sprite de Goku. Coloque também o background em movimento para que você consiga perceber o efeito.

2 - Crie um outro objeto para o efeito que quer usar.Como a mesclagem funciona no evento draw, vamos "transferir" a sprite atual do objeto para ele. Isso vai nos poupar da amolação de ficar definindo o tempo todo o que ele tem que fazer.

O código é esse (coloque no evento draw, vai funcionar em qualquer situação):

Código:
draw_sprite_ext(
    sprite_index,
    image_index,
    x,
    y,
    image_xscale,
    image_yscale,
    image_angle,
    image_blend,
    image_alpha
    );


3 - Em seguida vamos usar o blend no evento draw do objeto do efeito.

Código:

    draw_set_blend_mode(bm_add)
    draw_sprite_ext(
    sprite_index,
    image_index,
    x,
    y,
    image_xscale,
    image_yscale,
    image_angle,
    image_blend,
    image_alpha
    );
    draw_set_blend_mode(bm_normal)
   

Não se esqueça de retornar ao modo normal depois de consequir o efeito, ok?
Senão não vai funcionar.

Use sempre:

Código:
draw_set_blend_mode(bm_normal);

Clique aqui para baixar o arquivo do código

Valeu galera! Até mais!




Última edição por brendan em Sab 14 Jun 2008, 20:09, editado 1 vez(es)

Convidad
Convidado


Voltar ao Topo Ir em baixo

Qualidade Re: Criando Luz e Sombra no Game Maker

Mensagem por Janx em Sex 13 Jun 2008, 23:11

OMG!!!
EFEITO MTO LOKO!
nao testei + deve fikar mto daora pelo seu resultado!

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Criando Luz e Sombra no Game Maker

Mensagem por Volstagg em Sab 14 Jun 2008, 07:37

Cara, você só faz tutoriais ótimos!

Volstagg

Número de Mensagens : 353
Data de inscrição : 16/05/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Criando Luz e Sombra no Game Maker

Mensagem por Conteúdo patrocinado Hoje à(s) 20:20


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum