Scratch-render: 明るさ+色の効果はスクラッチ2と同じようには機能しません

作成日 2017年06月01日  ·  8コメント  ·  ソース: LLK/scratch-render

予想される行動

_何が起こるべきか説明してください_
スクラッチ2、明るさの効果を100に、色の効果を50に設定すると、これが得られます。
image

実際の動作

_実際に何が起こっているかを説明してください_

Scratch 3では、すべて白になります(背景が見えるように追加しました)。
image


このバグは、このプロジェクトを最初から開いたときに発生した問題を単純化したものです3 https://scratch.mit.edu/projects/1270935/
このように見えるはずです
image

そして代わりにこのように見えました
image


cc @cwillisf

bug compatibility needs-triage

最も参考になるコメント

プロジェクトは主に明るさ効果を使用して白と黒に移行するため、Scratch 2の2Dレンダラーと一致させるのが最も理にかなっていると思います。3Dレンダラーを追加する前の元の動作は、スプライトが白になることでもありました。 3Dレンダラーが「間違っている」ためにバグLLK / spark-flash#570が作成されました: https

全てのコメント8件

明るさにはまだ奇妙な点がありますが、上記のリストとは少し異なります。 プロジェクト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

そして、それは現在のScratch3.0での明るさの効果のように見えます
スクラッチ3:
screen shot 2019-01-09 at 22 29 56

@cwillisf前回、レンダリングエンジンと関係があると言ったときに、色の効果が壊れたときは?

有用なコードリンクを持つ関連スレッドが見つかりました: https

ただし、HSVとHSLはここでは問題ではないことに注意してください。 これは、1)現在の明るさの効果、2)HSLを使用した明るさの効果、3)スクラッチ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レンダラーと一致しているように見えますが、Scratch2.0の2Dレンダラーとは一致していません。 3Dレンダラーと一致させることにした場合は、すでに完了していると思います。 2Dレンダラーと一致させることにした場合、少なくともいくつかのシェーダー作業があります。

プロジェクトは主に明るさ効果を使用して白と黒に移行するため、Scratch 2の2Dレンダラーと一致させるのが最も理にかなっていると思います。3Dレンダラーを追加する前の元の動作は、スプライトが白になることでもありました。 3Dレンダラーが「間違っている」ためにバグLLK / spark-flash#570が作成されました: https

@cwillisf @ fsih2Dレンダラーの動作を一致させることは私には理にかなっています。 調査ありがとうございます!

このページは役に立ちましたか?
0 / 5 - 0 評価