Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

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

Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

Mensagem por Mauricio em Dom 03 Out 2010, 18:22

Pessoal preciso da ajuda de vocês para entender um "bug" na transparência dos sprites no GM 8. É o seguinte:

Meu jogo foi feito no GM 7, usando para praticamente todos os sprites o comando sprite_set_alpha_from_sprite, aplicando um sprite extra como se fosse uma máscara para transparência. Para o recorte ficar bom fazia 1 sprite normal e mais um com tons de cinza que seria o alpha. Então no create do objeto aplicava esse sprite extra com o comando que falei antes, era a única forma de ter um recorte suave.

Bem agora no GM 8 o meu jogo carrega bem mais rápido (loading inicial) então queria portar do 7 para o 8. Tudo funciona, porém todos os sprites que usam o sprite_set_alpha_from_sprite não ficam recortados direito. O recorte funciona mas fica com as bordas mais diluídas... Ex:

No GM 7 fica assim, do que jeito que devia ser (é uma borda da interface, fica brilhoso pelo alpha bem aplicado)


E aqui no GM8, a mesma coisa. Fica com recorte ruim, corroendo nas bordas... bem diferente do que deveria ser.


Para arrumar isso teria que pegar todas os sprites extras que fiz como alpha, colocar no potoshop e montar uma nova imagem png com alpha embutido. Mas o resultado não fica igual como no GM7, fica mais fraco o recorte, teria que aumentar o brilho do alpha no png manualmente até ele parecer com o que deveria ser. Isso é um trabalho enorme para todos os sprites do jogo (tem muitos) e o resultado não fica 100% bom como o original.

O que estou fazendo de errado? No GM8 esse comando do alpha com sprite extra fica ruim mesmo? Como resolver isso?
É bug no GM 8??

Valeu!!!

Mauricio

Número de Mensagens : 114
Data de inscrição : 13/06/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   :

http://mbg3dmind.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

Mensagem por Kabeção em Dom 03 Out 2010, 19:43

Olha, eu até achei que ficou melhor sem o brilho mas também tem como fazer isso direto do editor de imagens do GM.
No editor vá em Images -> Set Alpha from File e teste aquelas opção do lado da janela "Make Opaque" ou "Smooth Edges", talvez o resultado fique igual agora além de diminuir o tamanho do jogo.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

Mensagem por Janx em Dom 03 Out 2010, 19:46

Será que não é porque você está aplicando o alpha 2x?
Se você está usando o sprite com alpha channel e depois aplicando uma sprite de alpha eu acho que acaba somando e deixa o "brilho" muito fraco.

Tente usar apenas uma imagem com aplha channel, sem usar o comando
sprite_set_alpha_from_sprite.

(Nunca tinha visto esse comando o_o)

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

Re: Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

Mensagem por Mauricio em Dom 03 Out 2010, 23:40

Hmmm usando pelo comando do editor de sprites parece que fica melhor... vou fazer uns testes mas acho que melhorou! Estranho por código ficar diferente do comando no editor... ainda há algum mistério.

E Janx, sim quando eu uso png não uso mais o comando, senão seria redundante.

Valeu as respostas! Vou ver se consigo resolver o problema.

Mauricio

Número de Mensagens : 114
Data de inscrição : 13/06/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   :

http://mbg3dmind.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

Mensagem por Mauricio em Seg 04 Out 2010, 00:55

Ups... mas se for um sprite animado?

Ex: tenho 1 sprite animado com 2 subimages. Quando vou no edit e mando salvar um png e ele cria um strip, uma imagem no lado da outra.

Então quando pego outro sprite com 2 subimages e tendo aplicar o alpha (esse que salvei png antes) usando o Images -> Set Alpha from File, ele não entende que são 2 subimages e coloca tudo encolhido em cada imagem para recortar...

Precisaria que cada subimage do alpha fosse aplicado em cada subimage na imagem normal...... Se isso não der certo com subimage ai estou perdido... grande maioria dos meus sprites tem animação.......

O único jeito é via o comando sprite_set_alpha_from_sprite, que aplica o alpha direito, respeitando as subimages, mas o recorte fica ruim como falei antes...

Mauricio

Número de Mensagens : 114
Data de inscrição : 13/06/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   :

http://mbg3dmind.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

Mensagem por Janx em Seg 04 Out 2010, 13:51

Parece que o comando sprite_set_alpha_from_sprite não pode ser "desfeito", então não sei como poderia fazer isso que você quer.
No primeiro post, a segunda imagem é usando uma sprite PNG com alpha channel ou usando o comando sprite_set_alpha_from_sprite?

Você tambem pode tentar desenhar o sprite usando image_blend.
Veja esses links:
Exemplo de Blend
Dúvida sobre blend
Tutorial + Engine : Cosmos, Ki, aura + blend etc (Fireworks Cool

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

Re: Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

Mensagem por Mauricio em Seg 04 Out 2010, 18:43

Na segunda imagem é igual o que foi usado no GM7 (só abri o projeto no GM8) usando o comando sprite_set_alpha... etc.

Por isso estranhei tanto essa diferença de resultado em algo que deveria ser o mesmo.

O image_blend até funciona em coisas com brilhos, mas tenho outras desenhas de sprites com animação normal, sem ter brilho.

Bem um jeito que funcionou de aplicar o comando do editor de sprite em algo animado é esse: (nada muito prático mas deu certo!)

Exporta o sprite de cor como um png (função do GM8)
Exporta o sprite de alpha como um png

Cria um sprite novo (temporário) e carrega o sprite de cor sem ser strip, só como sendo uma imagem normal (tem que remover o "_strip*num*.png" do nome do arquivo, para ele não querer ler como se fosse strip animado.
Então aplica ai o set alpha do editor de sprite. Como não tem subimage vai ficar direito. Então salva isso como png, que já será o sprite animado com alpha pronto.

Por fim basta carregar esse novo png como strip (renomeia o arquivo de novo) e deu! Mas perde a posição do pivot de antes, tem que anotar e re-colocar.


É uma mão... mas funciona...


Mauricio

Número de Mensagens : 114
Data de inscrição : 13/06/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   :

http://mbg3dmind.wordpress.com/

Voltar ao Topo Ir em baixo

Re: Problema com alpha no GM8. sprite_set_alpha_from_sprite tem bug???

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


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