Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[tutorial] Iluminação
+4
theguitarmester
GabrielXavier
vinians
Esaucm98
8 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[tutorial] Iluminação
Iluminação 2d por Esaucm98
No caso oque eu vou fazer e seu jogo ficar com uma certa escuridão e com apenas uma luz seja no jogador ou no mouse etc.. depois você pode adicionar luzes aonde quiser tipo postes, lampadas ...
pra entender bem e necessario saber oque é uma surface.
Primeiro criamos uma surface... então faça um objeto chame de por exemplo obj_surface e no create
no step:
no draw
agora importante coloque o sprite da luz no seu jogo
A função blend mode e uma "mistura de cores"ela tem varias funções que fazem papeis diferentes, por exemplo bm_subtract subtrai a cor atual, tipo que inverte a cor, se o sprite da nossa iluminação e preto ficou branco etc.. tem tambem outros tipo o bm_add o bm_max, todos influem nas cores, se alguem se interessar e so apertar F1 que tem no manual ou no site da yoyo wikia. no caso ele reage com a função draw_clear_alpha que limpa o "alpha" ou a transparencia pela cor e o alpha especificado, assim sendo ele subtrai o valor da cor do sprite com o alpha que esta setado na região ai ele faz ficar parcialmente transparente a area da luz.
problemas ou duvidas me avise
Download de um exemploNo caso oque eu vou fazer e seu jogo ficar com uma certa escuridão e com apenas uma luz seja no jogador ou no mouse etc.. depois você pode adicionar luzes aonde quiser tipo postes, lampadas ...
pra entender bem e necessario saber oque é uma surface.
Primeiro criamos uma surface... então faça um objeto chame de por exemplo obj_surface e no create
- Código:
//isso deve criar uma surface do tamanho da room
Surf = surface_create(room_width,room_height);
no step:
- Código:
surface_set_target(Surf)
//focaliza na surface criada anteriormente
draw_clear_alpha(c_black,0.9);
//limpa o "alpha" ou a transparencia por uma cor preta (c_black) e com uma transparencia muito pequena (0.9) isso fara o //efeito do escuro.
draw_set_blend_mode(bm_subtract)
//seta o "blend mode" para subtrair. veja no final do tutorial
draw_sprite(spr_light,image_index,mouse_x,mouse_y);
//desenha o sprite da luz, lembrando que o blend mode esta subtraindo
draw_set_blend_mode(bm_normal);
//seta o blend mode para normal
surface_reset_target();
//desfocaliza na surface e atualiza já que esta no step
no draw
- Código:
draw_surface(Surf,0,0)
//vai desenhar a surface criada nas coordenadas x=0 e y=0 que ficam na parte superior esquerda da room
agora importante coloque o sprite da luz no seu jogo
- Spoiler:
A função blend mode e uma "mistura de cores"ela tem varias funções que fazem papeis diferentes, por exemplo bm_subtract subtrai a cor atual, tipo que inverte a cor, se o sprite da nossa iluminação e preto ficou branco etc.. tem tambem outros tipo o bm_add o bm_max, todos influem nas cores, se alguem se interessar e so apertar F1 que tem no manual ou no site da yoyo wikia. no caso ele reage com a função draw_clear_alpha que limpa o "alpha" ou a transparencia pela cor e o alpha especificado, assim sendo ele subtrai o valor da cor do sprite com o alpha que esta setado na região ai ele faz ficar parcialmente transparente a area da luz.
problemas ou duvidas me avise
Última edição por Esaucm98 em Qui 23 Ago 2012, 20:56, editado 4 vez(es)
Re: [tutorial] Iluminação
Excelente tutorial muito útil, e seria bem interessante se explicasse o funcionamento do draw_set_blend_mode(bm_subtract) isso seria muito importante para entender todo o processo pois ele é a chave de tudo.
Flws!
Flws!
Re: [tutorial] Iluminação
Cara esse tuto é interessante mas nao consegui conclui-lo, ta muito confuso e tem muitos erros explica melhor oque cada funcao faz e o lugar dde coloca os codigos e talz , aguardo a atualizacao pois to muito interessado no tuto.Concerta ai cara vale apena flws
GabrielXavier- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: [tutorial] Iluminação
Seu code está errado, Nestas Partes:
e aqui:
Gostei Muito do Efeito, Já procurei isto a algum Tempo, mas achei estranho uma coisa:
Coloquei no Meu Jogo 'EscoraBall' para ver como ficava, funcionou legal,mas só que a Bolinha ficou aparecendo no Escuro, e em Outra fase(que existia Portas e Chavez) ficou aparecendo mais coisas:
Editado logo após ver que eu estava errado.
O Problema era que o Depth do Surface era Maior de que aqueles objetos!
Vou usar Este Efeito no EscoraBall Versão 2.0, Obrigado.
- Código:
draw_sprite(mouse_x,mouse_y,obj_light);
- Código:
draw_sprite(spr_luz,-1,mouse_x,mouse_y);
e aqui:
- Código:
Surf = surface_create(room_widith,room_height);
- Código:
Surf = surface_create(room_width,room_height);
Gostei Muito do Efeito, Já procurei isto a algum Tempo, mas achei estranho uma coisa:
Coloquei no Meu Jogo 'EscoraBall' para ver como ficava, funcionou legal,mas só que a Bolinha ficou aparecendo no Escuro, e em Outra fase(que existia Portas e Chavez) ficou aparecendo mais coisas:
- Spoiler:
Editado logo após ver que eu estava errado.
O Problema era que o Depth do Surface era Maior de que aqueles objetos!
Vou usar Este Efeito no EscoraBall Versão 2.0, Obrigado.
Re: [tutorial] Iluminação
Eu consegui!
Erros acontecem mesmo quebrei a cuca um pouco e só adaptei! Ó só:
Pra quem ainda topa com esse tipos de erros, eis aqui minha forma de acha-los e corrigir= tradução:
o resultado foi:
o erro ocorreu no steep do objeto com nome obj_surface e ainda mostrando
a linha e posição além do próprio code com um ^ mostrando onde foi!
resumindo: se deu unknow então é por que não achou ou não existe!
se deu spectate quer dizer que falta algo no proprio code!
Erros acontecem mesmo quebrei a cuca um pouco e só adaptei! Ó só:
Pra quem ainda topa com esse tipos de erros, eis aqui minha forma de acha-los e corrigir= tradução:
- tradução:
- ___________________________________________
ERROR in----------------------------------------=erro em
action number 1---------------------------------=na tentativa
of Step Event-----------------------------------=do evento
for object obj_surface :--------------------------=do objeto
Error in code at line 10:--------------------------=erro do code na linha 10
draw_sprite(spr_lighiiiiit,1,mouse_x,mouse_y)-=esse é o code
^--------------------------------------=ponto exato
at position 14: Unknown variable spr_lighiiiiit------=não encontrado a variável ou outra coisa.
- Ou prefere assim?:
- ___________________________________________
ERRO em
na ação número 1
do Evento Steep
para o objecto obj_surface :
Error no code na linha 10:
draw_sprite(spr_lighiiiiit,1,mouse_x,mouse_y)
^
na posição 14: não encontrado variável spr_lighiiiiit
o resultado foi:
o erro ocorreu no steep do objeto com nome obj_surface e ainda mostrando
a linha e posição além do próprio code com um ^ mostrando onde foi!
resumindo: se deu unknow então é por que não achou ou não existe!
se deu spectate quer dizer que falta algo no proprio code!
Re: [tutorial] Iluminação
Cara esse tuto é interessante mas nao consegui conclui-lo, ta muito confuso e tem muitos erros explica melhor oque cada funcao faz e o lugar dde coloca os codigos e talz , aguardo a atualizacao pois to muito interessado no tuto.Concerta ai cara vale apena flws
Não entendi eu coloquei onde e pra colocar cada coisa, já corrigi os pequenos erros que tinham, se puder especificar melhor qual a parte que esta confusa eu posso melhorar vlw.
Seu code está errado, Nestas Partes:
CODE:
draw_sprite(mouse_x,mouse_y,obj_light);
Seria assim:
CODE:
draw_sprite(spr_luz,-1,mouse_x,mouse_y);
e aqui:
CODE:
Surf = surface_create(room_widith,room_height);
Seria:
CODE:
Surf = surface_create(room_width,room_he
É verdade, foi mal fiz o tutorial com um pouco de pressa porque tava meio tarde, mas ja corrigi, desculpe.
Excelente tutorial muito útil, e seria bem interessante se explicasse o funcionamento do draw_set_blend_mode(bm_subtract) isso seria muito importante para entender todo o processo pois ele é a chave de tudo.
Flws!
Vlw fico feliz que tenha gostado, a função blend mode repare que eu dei uma pequena explicação agora, achei até meio superficial mas e pq eu nao sei explicar direito, e algo que eu aprendi por experiencia propria tentando então eu particulamente acho dificil de explicar.
Re: [tutorial] Iluminação
Consegui concluir o tutorial,
mas achei um erro Esaucm98, (não sei se é um erro mas axo que sim, se não desculpe-me.)
"então faça um objeto chame de por exemplo obj_surface"
"draw_sprite(obj_light,image_index,mouse_x,mouse_y);"
Bom so consegui concluir o tutorial quando coloquei o mesmo nome nos dois lugares destacados em vermelhor.
Coloque algo assim:
"então faça um objeto chame de obj_surface" sem o por exemplo.
e no codigo coloque:
"draw_sprite(obj_surface,image_index,mouse_x,mouse_y);"
Gostei muito do tutorial Esaucm98, parabens
continue assim!
Flws cara Te+
mas achei um erro Esaucm98, (não sei se é um erro mas axo que sim, se não desculpe-me.)
"então faça um objeto chame de por exemplo obj_surface"
"draw_sprite(obj_light,image_index,mouse_x,mouse_y);"
Bom so consegui concluir o tutorial quando coloquei o mesmo nome nos dois lugares destacados em vermelhor.
Coloque algo assim:
"então faça um objeto chame de obj_surface" sem o por exemplo.
e no codigo coloque:
"draw_sprite(obj_surface,image_index,mouse_x,mouse_y);"
Gostei muito do tutorial Esaucm98, parabens
continue assim!
Flws cara Te+
GabrielXavier- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: [tutorial] Iluminação
Cara, coloca a gmk exemplo(comentados) pra quem não consegui! assim eles aprendem!
sem esquecer de usar o info para dizer pra que serve, o nome do projeto que lembre o que é... e etc!
exemplo de nome: "Tutorial Iluminação (por Esaucm98).gmk"
Não vou dizer: "espero ter ajudado", pois é pensando nisso que postei agora!
Fuiz!
sem esquecer de usar o info para dizer pra que serve, o nome do projeto que lembre o que é... e etc!
exemplo de nome: "Tutorial Iluminação (por Esaucm98).gmk"
Não vou dizer: "espero ter ajudado", pois é pensando nisso que postei agora!
Fuiz!
Re: [tutorial] Iluminação
Tô com o moisesBR o gmk seria um otimo complemento para o tutorial.
GabrielXavier- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: [tutorial] Iluminação
Sempre vi o pessoal dizendo isso e nunca concordei, pois se está postando é claro que "espera que tenha ajudado". Foi ótimo que alguem notou isso tambem!!!!moisesBR escreveu:
Não vou dizer: "espero ter ajudado", pois é pensando nisso que postei agora!
Fuiz!
(esse post foi meio inútil mas não resisti)
Flws!
Re: [tutorial] Iluminação
certo então, coloquei ai um exemplo, quem tiver tendo dificuldade e so baixar, mas acho que se seguir o tutorial direitinho fica funcional sim.
quem quiser so baixa...
quem quiser so baixa...
Re: [tutorial] Iluminação
Eu traduzi um tutorial sobre blend modes. Se quiser dar uma olhada, tem um link na assinatura.Esaucm98 escreveu:Excelente tutorial muito útil, e seria bem interessante se explicasse o funcionamento do draw_set_blend_mode(bm_subtract) isso seria muito importante para entender todo o processo pois ele é a chave de tudo.
Flws!
Vlw fico feliz que tenha gostado, a função blend mode repare que eu dei uma pequena explicação agora, achei até meio superficial mas e pq eu nao sei explicar direito, e algo que eu aprendi por experiencia propria tentando então eu particulamente acho dificil de explicar.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [tutorial] Iluminação
Veio em boa hora, eu não estava conseguindo um sitema de iluminação satisfatório pro meu novo jogo pra celular, adaptei o seu código e ficou bem melhor que antes.
O jogo com a iluminação de tutorial:
O jogo com a iluminação de tutorial:
cascavelo- Games Ranking :
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Reputação : 71
Número de Mensagens : 1011
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 1
x 0 x 0 x 0
Re: [tutorial] Iluminação
muito bom o tutorial..do jeito q esta ai ja esta funcionando legal...agora so preciso de adaptar para o meu game...
obrigadao pela ajuda ai com esse tuto...
obrigadao pela ajuda ai com esse tuto...
felipe.fonsecadepaula- Games Ranking :
Data de inscrição : 21/08/2012
Reputação : 0
Número de Mensagens : 97
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [tutorial] Iluminação
Este tutorial já deveria esta aprovado a muito tempo!
Muito bom, sempre uso quando tenho que fazer alguma coisa relacionada a iluminação, ou aponto em tópicos com dúvidas sobre o mesmo.
Simples, explicado, eficiente e muito útil!
Movido para Tutoriais Aprovados.
Muito bom, sempre uso quando tenho que fazer alguma coisa relacionada a iluminação, ou aponto em tópicos com dúvidas sobre o mesmo.
Simples, explicado, eficiente e muito útil!
Movido para Tutoriais Aprovados.
Tópicos semelhantes
» TUTORIAL - iluminação 3D
» Iluminacao
» GMS - iluminação no 3D
» draw_set_blend_mode() - Iluminação fraca
» Problema com iluminação 3D
» Iluminacao
» GMS - iluminação no 3D
» draw_set_blend_mode() - Iluminação fraca
» Problema com iluminação 3D
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos