Scratch-render: L'effet Luminosité + Couleur ne fonctionne pas de la même manière que Scratch 2

Créé le 1 juin 2017  ·  8Commentaires  ·  Source: LLK/scratch-render

Comportement prévisible

_Veuillez décrire ce qui devrait arriver_
Scratch 2, si vous réglez l'effet de luminosité sur 100 et l'effet de couleur sur 50, voici ce que vous obtenez
image

Comportement réel

_Décrivez ce qui se passe réellement_

Dans Scratch 3, vous obtenez tout blanc (j'ai ajouté un fond pour que vous puissiez le voir).
image


Ce bug est une simplification d'un problème que j'ai eu lors de l'ouverture de ce projet dans scratch 3 https://scratch.mit.edu/projects/1270935/
ça devrait ressembler à ça
image

Et à la place ressemblait à ça
image


cc @cwillisf

bug compatibility needs-triage

Commentaire le plus utile

Les projets utilisent principalement l'effet de luminosité pour passer du blanc et du noir, donc je pense qu'il serait plus logique de faire correspondre le rendu 2D de Scratch 2. Les sprites devenir blancs étaient également le comportement d'origine avant que nous devions ajouter le rendu 3D, et le bogue LLK/scratch-flash#570 a été créé car le moteur de rendu 3D était "mauvais": https://scratch.mit.edu/discuss/topic/73118/

Tous les 8 commentaires

Je vois toujours une certaine étrangeté avec Brightness mais c'est un peu différent de ce qui est listé ci-dessus. Il semble que le projet 1270935 fonctionne correctement. De plus, les luminosités comprises entre -100 et 0 se comportent comme prévu.

Pour des luminosités comprises entre 0 et 100, il semble qu'il soit de plus en plus lumineux, mais pas tout à fait blanc comme dans 2.0.

Le voici en 2.0 :
brightnesstest2 0

Et le voici en 3.0 :
brightnesstest3 0

J'ai utilisé ce projet : https://scratch.mit.edu/projects/276912470/ pour tester cela.

/cc @kchadha @ktbee @cwillisf

J'ai trouvé quelque chose de bizarre. Si vous utilisez uniquement l'effet de luminosité sur un sprite dans scratch 2, cela ressemble à ceci (0 à 100)
Gratte 2 :
screen shot 2019-01-09 at 22 32 37

Cependant, si vous utilisez également l'effet de couleur sur n'importe quel sprite, tous les sprites changent pour ressembler à ceci :
Aussi Grattez 2:
screen shot 2019-01-09 at 22 32 14

Et voilà à quoi ressemble l'effet de luminosité dans Scratch 3.0 en ce moment
Gratte 3 :
screen shot 2019-01-09 at 22 29 56

@cwillisf quand l'effet de couleur a cassé les choses la dernière fois que vous avez dit que c'était quelque chose à voir avec le moteur de rendu ?

J'ai trouvé un fil de discussion pertinent avec des liens de code utiles : https://github.com/LLK/scratch-flash/issues/570

Notez cependant que HSV vs HSL n'est pas le problème ici. Voici 1) l'effet de luminosité actuel, 2) l'effet de luminosité utilisant HSL, 3) l'effet de luminosité dans Scratch 2. Ni 1 ni 2 ne correspondent à 3.
screen shot 2019-01-09 at 22 30 45

Peut-être pertinent : https://scratch.mit.edu/projects/269088736/#comments -105915881

TL;DR un effet de luminosité positif ne semble pas avoir d'impact sur un costume dont les couleurs de remplissage sont déjà à 100% de luminosité (c'est-à-dire que les curseurs affichent la luminosité = 100). Je pense que l'effet de luminosité dans 2.0 ressemble plus à "mélanger avec du blanc (ou du noir)" plutôt qu'à "ajuster le composant de luminosité"? Je n'ai pas fait de test par contre.

j'ai trouvé quelque chose de bizarre

Bonne trouvaille, @fsih ! L'ajout d'un effet de couleur au projet fait basculer Scratch 2.0 vers son mode de rendu 3D, ce qui explique pourquoi la différence apparaît quand c'est le cas. Il semble que les rendus 2D et 3D de Scratch 2.0 fonctionnent très différemment pour l'effet de luminosité. C'est vrai pour plusieurs des effets graphiques : par exemple, l'effet tourbillon inverse la direction.

Malheureusement, je n'ai pas une idée précise de la version de l'effet de luminosité souhaitée par la plupart des projets ; je suppose que la plupart des projets finissent par utiliser le moteur de rendu 2D, mais je n'en suis pas certain.

L'effet de luminosité dans Scratch 3.0 semble correspondre au rendu 3D dans Scratch 2.0 mais ne correspond pas au rendu 2D dans Scratch 2.0. Si nous décidons de faire correspondre le moteur de rendu 3D, je pense que nous avons déjà terminé ; si nous décidons de faire correspondre le rendu 2D, il y a au moins un travail de shader.

Les projets utilisent principalement l'effet de luminosité pour passer du blanc et du noir, donc je pense qu'il serait plus logique de faire correspondre le rendu 2D de Scratch 2. Les sprites devenir blancs étaient également le comportement d'origine avant que nous devions ajouter le rendu 3D, et le bogue LLK/scratch-flash#570 a été créé car le moteur de rendu 3D était "mauvais": https://scratch.mit.edu/discuss/topic/73118/

@cwillisf @fsih Faire correspondre le comportement du moteur de rendu 2D me semble logique. Merci pour l'enquête !

Cette page vous a été utile?
0 / 5 - 0 notes