Restore 2D Masking in 4.0 regression #4923
markdibarry
started this conversation in
2D
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This has been discussed a bit, but with Beta's feature-freeze getting closer and unless we can come up with a good proposal, we may end up with 4.0 being a downgrade in terms of 2D rendering, so it's worth having an official thread.
Currently, in 3.x,
Light2D
has aMask
mode that (while limited, difficult to use, and requiring specially prepared images) allows for canvas items to use light mask layers to mask other canvas items.In the 4.0 master branch,
Light2D
has been replaced withPointLight2D
and has theMask
mode removed. The reason for this was to separate the masking capability to a new nodeCanvasGroup
, which would partially replace some of the featuresLight2D
's mask mode provided. WhileCanvasGroup
is still not yet working, a proposal for an easier and more fully featured node has been suggested. Even though this would be a welcome alternative toCanvasGroup
, and remove the hard requirement of needing specially prepared images, this still would not restore the lost features provided in 3.x'sLight2D
. To achieve the same result as above, 4.0 requires separation of the masks and their sources, spread across the scene tree, needing the overlay AND the light source masks to be in the sameCanvasGroup
, shown below.This forces much more scripting (vs none) for parent scenes to manage lighting and add/removal of the "lights" and light sources, additional
RemoteTransform2D
s on the sources, and dependency on brittle, carefully crafted scene tree structures.The purpose of this discussion is to find an implementation that would satisfy the condition of restoring the ability to mask without requiring separation of the sources and the source masks and coupling of the source masks and the target. Additionally, if the masking worked with the expected "mix" rather than "multiply" or multiple mode options, it would be ideal.
Any suggestions?
Beta Was this translation helpful? Give feedback.
All reactions