_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
_Descreva o que realmente acontece_
No Scratch 3, você fica todo branco (adicionei um fundo para que você possa vê-lo).
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
E em vez disso parecia com isso
cc @cwillisf
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:
E aqui está no 3.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:
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:
E é assim que o efeito de brilho se parece no Scratch 3.0 agora
Scratch 3:
@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.
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!
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/