Scratch-render: O efeito de brilho + cor não funciona da mesma forma que o Scratch 2

Criado em 1 jun. 2017  ·  8Comentários  ·  Fonte: LLK/scratch-render

Comportamento esperado

_Por favor, descreva o que deve acontecer_
Arranhão 2, se você definir o efeito de brilho para 100 e o efeito de cor para 50, é isso que você obtém
image

Comportamento Real

_Descreva o que realmente acontece_

No Scratch 3, você fica todo branco (adicionei um fundo para que você possa vê-lo).
image


Este bug é uma simplificação de um problema que tive ao abrir este projeto no scratch 3 https://scratch.mit.edu/projects/1270935/
Deve ser assim
image

E em vez disso parecia com isso
image


cc @cwillisf

bug compatibility needs-triage

Comentários muito úteis

Os projetos usam principalmente o efeito de brilho para fazer a transição de e para branco e preto, então acho que faria mais sentido corresponder ao renderizador 2D do Scratch 2. Sprites tornando-se brancos também era o comportamento original antes de adicionarmos o renderizador 3D, e o bug LLK / scratch-flash # 570 foi criado porque o renderizador 3D estava "errado": https://scratch.mit.edu/discuss/topic/73118/

Todos 8 comentários

Ainda estou vendo alguma estranheza com o Brilho, mas é um pouco diferente do que está listado acima. Parece que o projeto 1270935 está funcionando corretamente. Além disso, brilhos entre -100 e 0 estão se comportando conforme o esperado.

Para brilhos entre 0 e 100, parece que está ficando mais claro, mas não totalmente branco como no 2.0.

Aqui está em 2.0:
brightnesstest2 0

E aqui está no 3.0:
brightnesstest3 0

Usei este projeto: https://scratch.mit.edu/projects/276912470/ para testar isso.

/ cc @kchadha @ktbee @cwillisf

Eu encontrei algo estranho. Se você usar apenas o efeito de brilho em um sprite no scratch 2, será parecido com isto (0 a 100)
Scratch 2:
screen shot 2019-01-09 at 22 32 37

No entanto, se você também usar o efeito de cor em qualquer sprite, todos os sprites mudam para se parecer com isto:
Também Scratch 2:
screen shot 2019-01-09 at 22 32 14

E é assim que o efeito de brilho se parece no Scratch 3.0 agora
Scratch 3:
screen shot 2019-01-09 at 22 29 56

@cwillisf quando o efeito de cor quebrou as coisas da última vez que você disse que tinha algo a ver com o mecanismo de renderização?

Encontrou um tópico relevante com links de código úteis: https://github.com/LLK/scratch-flash/issues/570

No entanto, observe que o HSV vs HSL não é o problema aqui. Aqui está 1) o efeito de brilho atual, 2) o efeito de brilho usando HSL, 3) o efeito de brilho no Scratch 2. Nem 1 nem 2 correspondem a 3.
screen shot 2019-01-09 at 22 30 45

Talvez seja relevante: https://scratch.mit.edu/projects/269088736/#comments -105915881

TL; DR um efeito de brilho positivo não parece ter um impacto em um traje cujas cores de preenchimento já são 100% de brilho (ou seja, os controles deslizantes mostram brilho = 100). Eu acho que o efeito de brilho em 2.0 é mais como "misturar com branco (ou preto)" ao invés de "ajustar o componente de brilho"? Eu não fiz testes embora.

Eu encontrei algo estranho

Bom achado, @fsih! Adicionar um efeito de cor ao projeto faz com que o Scratch 2.0 mude para seu modo de renderização 3D, o que explica por que a diferença aparece quando isso acontece. Parece que os renderizadores 2D e 3D no Scratch 2.0 funcionam de maneira muito diferente para o efeito de brilho. Isso é verdade para vários dos efeitos gráficos: por exemplo, o efeito turbilhão inverte a direção.

Infelizmente, não tenho um bom senso de qual versão do efeito de brilho a maioria dos projetos deseja; meu palpite é que a maioria dos projetos acaba usando o renderizador 2D, mas não tenho certeza.

O efeito de brilho no Scratch 3.0 parece coincidir com o renderizador 3D no Scratch 2.0, mas não coincide com o renderizador 2D no Scratch 2.0. Se decidirmos combinar o renderizador 3D, então acho que já estamos prontos; se decidirmos combinar o renderizador 2D, então há algum trabalho de shader, pelo menos.

Os projetos usam principalmente o efeito de brilho para fazer a transição de e para branco e preto, então acho que faria mais sentido corresponder ao renderizador 2D do Scratch 2. Sprites tornando-se brancos também era o comportamento original antes de adicionarmos o renderizador 3D, e o bug LLK / scratch-flash # 570 foi criado porque o renderizador 3D estava "errado": https://scratch.mit.edu/discuss/topic/73118/

@cwillisf @fsih Corresponder ao comportamento do renderizador 2D faz sentido para mim. Obrigado pela investigação!

Esta página foi útil?
0 / 5 - 0 avaliações