Scratch-render: El efecto Brillo + Color no funciona igual que Scratch 2

Creado en 1 jun. 2017  ·  8Comentarios  ·  Fuente: LLK/scratch-render

Comportamiento esperado

_Por favor, describa lo que debería suceder_
Scratch 2, si establece el efecto de brillo en 100 y el efecto de color en 50, esto es lo que obtiene
image

Comportamiento real

_Describe lo que realmente sucede_

En Scratch 3, obtienes todo blanco (agregué un fondo para que puedas verlo).
image


Este error es una simplificación de un problema que tuve al abrir este proyecto en cero 3 https://scratch.mit.edu/projects/1270935/
Debe tener un aspecto como este
image

Y en cambio se veía así
image


cc @cwillisf

bug compatibility needs-triage

Comentario más útil

Los proyectos utilizan principalmente el efecto de brillo para hacer la transición hacia y desde el blanco y el negro, por lo que creo que tendría más sentido combinar el renderizador 2D de Scratch 2. Los sprites que se volvían blancos también era el comportamiento original antes de que tuviéramos que añadir el renderizador 3D. y el error LLK / scratch-flash # 570 se creó porque el renderizador 3D era "incorrecto": https://scratch.mit.edu/discuss/topic/73118/

Todos 8 comentarios

Todavía veo algo de extrañeza con Brightness, pero es un poco diferente de lo que se menciona arriba. Parece que el proyecto 1270935 funciona correctamente. Además, los brillos entre -100 y 0 se comportan como se esperaba.

Para brillos entre 0 y 100, parece que se está volviendo más brillante, pero no tan blanco como en 2.0.

Aquí está en 2.0:
brightnesstest2 0

Y aquí está en 3.0:
brightnesstest3 0

Usé este proyecto: https://scratch.mit.edu/projects/276912470/ para probar esto.

/ cc @kchadha @ktbee @cwillisf

Encontré algo raro. Si usa solo el efecto de brillo en un objeto en scratch 2, se ve así (0 a 100)
Rasguño 2:
screen shot 2019-01-09 at 22 32 37

Sin embargo, si también usa el efecto de color en cualquier sprite, todos los sprites cambian para verse así:
También Scratch 2:
screen shot 2019-01-09 at 22 32 14

Y así es como se ve el efecto de brillo en Scratch 3.0 en este momento.
Rasguño 3:
screen shot 2019-01-09 at 22 29 56

@cwillisf cuando el efecto de color rompió las cosas la última vez que dijiste que tenía algo que ver con el motor de renderizado?

Encontré un hilo relevante con enlaces de código útiles: https://github.com/LLK/scratch-flash/issues/570

Sin embargo, tenga en cuenta que HSV vs HSL no es el problema aquí. Aquí está 1) el efecto de brillo actual, 2) el efecto de brillo usando HSL, 3) el efecto de brillo en Scratch 2. Ni 1 ni 2 coinciden con 3.
screen shot 2019-01-09 at 22 30 45

Quizás relevante: https://scratch.mit.edu/projects/269088736/#comments -105915881

TL; DR un efecto de brillo positivo no parece tener un impacto en un traje cuyos colores de relleno ya son 100% de brillo (es decir, los controles deslizantes muestran brillo = 100). Creo que el efecto de brillo en 2.0 es más como "mezclar con blanco (o negro)" en lugar de "ajustar el componente de brillo". Aunque no he hecho pruebas.

Encontré algo raro

¡Buen descubrimiento, @fsih! Agregar un efecto de color al proyecto hace que Scratch 2.0 cambie a su modo de renderizado 3D, lo que explica por qué la diferencia aparece cuando lo hace. Parece que los renderizadores 2D y 3D de Scratch 2.0 funcionan de manera muy diferente para el efecto de brillo. Esto es cierto para varios de los efectos gráficos: por ejemplo, el efecto de remolino invierte la dirección.

Desafortunadamente, no tengo una idea clara de qué versión del efecto de brillo quieren la mayoría de los proyectos; Supongo que la mayoría de los proyectos terminan usando el renderizador 2D, pero no estoy seguro.

El efecto de brillo en Scratch 3.0 parece coincidir con el renderizador 3D en Scratch 2.0 pero no coincide con el renderizador 2D en Scratch 2.0. Si decidimos hacer coincidir el renderizador 3D, creo que ya hemos terminado; si decidimos hacer coincidir el renderizador 2D, al menos hay algo de trabajo de sombreado.

Los proyectos utilizan principalmente el efecto de brillo para hacer la transición hacia y desde el blanco y el negro, por lo que creo que tendría más sentido combinar el renderizador 2D de Scratch 2. Los sprites que se volvían blancos también era el comportamiento original antes de que tuviéramos que añadir el renderizador 3D. y el error LLK / scratch-flash # 570 se creó porque el renderizador 3D era "incorrecto": https://scratch.mit.edu/discuss/topic/73118/

@cwillisf @fsih Hacer coincidir el comportamiento del renderizador 2D tiene sentido para mí. ¡Gracias por la investigación!

¿Fue útil esta página
0 / 5 - 0 calificaciones