Scratch-render: 亮度 + 颜色效果与 Scratch 2 不同

创建于 2017-06-01  ·  8评论  ·  资料来源: LLK/scratch-render

预期行为

_请描述应该发生什么_
Scratch 2,如果你将亮度效果设置为100,颜色效果设置为50,这就是你得到的
image

实际行为

_描述实际发生的事情_

在 Scratch 3 中,你会变成全白(我添加了一个背景以便你可以看到它)。
image


这个错误是我在scratch 3中打开这个项目时遇到的问题的简化https://scratch.mit.edu/projects/1270935/
它应该是这样的
image

而是看起来像这样
image


抄送@cwillisf

bug compatibility needs-triage

最有用的评论

项目大多使用亮度效果来过渡到白色和黑色,所以我认为匹配Scratch 2的2D渲染器是最有意义的。精灵变成白色也是我们不得不添加3D渲染器之前的原始行为,并且由于 3D 渲染器“错误”而创建了错误 LLK/scratch-flash#570: https :

所有8条评论

我仍然看到 Brightness 的一些奇怪之处,但它与上面列出的有点不同。 看起来项目 1270935 工作正常。 此外,-100 和 0 之间的亮度按预期运行。

对于 0 到 100 之间的亮度,它看起来越来越亮,但不像 2.0 那样一直是白色的。

这是 2.0:
brightnesstest2 0

这是在 3.0 中:
brightnesstest3 0

我使用了这个项目: https :

/cc @kchadha @ktbee @cwillisf

我发现了一些奇怪的东西。 如果你只对草稿 2 中的精灵使用亮度效果,它看起来像这样(0 到 100)
划痕2:
screen shot 2019-01-09 at 22 32 37

但是,如果您还对任何精灵使用颜色效果,则所有精灵都会更改为如下所示:
同样是划痕 2:
screen shot 2019-01-09 at 22 32 14

这就是现在在 Scratch 3.0 中的亮度效果
划痕3:
screen shot 2019-01-09 at 22 29 56

@cwillisf上次您说颜色效果与渲染引擎

找到了一个带有有用代码链接的相关线程: https :

不过请注意,HSV 与 HSL 不是这里的问题。 这里是1)当前的亮度效果,2)使用HSL的亮度效果,3)Scratch 2中的亮度效果。1和2都不匹配3。
screen shot 2019-01-09 at 22 30 45

也许相关: https: //scratch.mit.edu/projects/269088736/#comments -105915881

TL;DR 积极的亮度效果似乎不会对填充颜色已经是 100% 亮度的服装产生影响(即滑块显示亮度 = 100)。 我认为 2.0 中的亮度效果更像是“与白色(或黑色)混合”而不是“调整亮度分量”? 不过我还没有做过测试。

我发现了一些奇怪的东西

好发现,@fsih! 向项目添加颜色效果会导致 Scratch 2.0 切换到其 3D 渲染模式,这就解释了为什么会出现差异。 看起来 Scratch 2.0 中的 2D 和 3D 渲染器在亮度效果方面的工作方式非常不同。 对于一些图形效果来说也是如此:例如,旋转效果反转方向。

不幸的是,我对大多数项目想要哪个版本的亮度效果没有强烈的感觉; 我的猜测是大多数项目最终都使用了 2D 渲染器,但我不确定。

Scratch 3.0 中的亮度效果似乎与 Scratch 2.0 中的 3D 渲染器匹配,但与 Scratch 2.0 中的 2D 渲染器不匹配。 如果我们决定匹配 3D 渲染器,那么我想我们已经完成了; 如果我们决定匹配 2D 渲染器,那么至少有一些着色器工作。

项目大多使用亮度效果来过渡到白色和黑色,所以我认为匹配Scratch 2的2D渲染器是最有意义的。精灵变成白色也是我们不得不添加3D渲染器之前的原始行为,并且由于 3D 渲染器“错误”而创建了错误 LLK/scratch-flash#570: https :

@cwillisf @fsih匹配 2D 渲染器的行为对我来说很有意义。 感谢调查!

此页面是否有帮助?
0 / 5 - 0 等级