You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the project you are working on:
2D top-down videogame, undertale style
Describe the problem or limitation you are having in your project:
I need to change the transparency of "Room" nodes, which contain 3 tilemap nodes with overlapping tiles. Right now, the the "Room" parent node transfers its modulate to the children, thus changing its modulate.a property won't result in a homogeneous transparency, since overlapping sprites will have a different transparency than non-overlapping ones, because they are separate layer with that alpha value.
Describe how this feature / enhancement will help you overcome this problem or limitation:
This feature would allow me to change the overall transparency of the "Room", like if it were a ViewportTexture. I'm not using ViewportTexture because it gets overly complicated for just a graphical change. My character will have to interact to tiles based on their position, and using Viewports might affect existing game logic.
Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
Describe implementation detail for your proposal (in code), if possible:
Not applicable
Is there a reason why this should be core and not an add-on in the asset library?:
I believe this behavior is the expected behavior from the user's point of view. When changing the transparency of a node, we expect the whole node to become transparent, not its children.
For instance, open GIMP and do the following:
Create an image
Fill the background layer with black
Create two layers with alpha channel turned on
Draw two objects of different color, one per layer, and make sure they overlap
Create a layer group
Put the two layers with the drawings in the group
Select the group
Change transparency
This is the expected behavior.
Opacity 100% on all layers:
Opacity 50% on Layer Group, expected behavior:
Emulating Godot modulate.a behavior:
The text was updated successfully, but these errors were encountered:
(TL:DR; pictures at the bottom)
Describe the project you are working on:
2D top-down videogame, undertale style
Describe the problem or limitation you are having in your project:
I need to change the transparency of "Room" nodes, which contain 3 tilemap nodes with overlapping tiles. Right now, the the "Room" parent node transfers its modulate to the children, thus changing its modulate.a property won't result in a homogeneous transparency, since overlapping sprites will have a different transparency than non-overlapping ones, because they are separate layer with that alpha value.
Describe how this feature / enhancement will help you overcome this problem or limitation:
This feature would allow me to change the overall transparency of the "Room", like if it were a ViewportTexture. I'm not using ViewportTexture because it gets overly complicated for just a graphical change. My character will have to interact to tiles based on their position, and using Viewports might affect existing game logic.
Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
Describe implementation detail for your proposal (in code), if possible:
Not applicable
If this enhancement will not be used often, can it be worked around with a few lines of script?:
Workarounds require the use of viewports, and it's not possible to work around the problem with shaders. You can find a discussion regarding this problem here: https://www.reddit.com/r/godot/comments/ertdgm/2d_transparency_of_overlapping_nodes_how_to/
Is there a reason why this should be core and not an add-on in the asset library?:
I believe this behavior is the expected behavior from the user's point of view. When changing the transparency of a node, we expect the whole node to become transparent, not its children.
For instance, open GIMP and do the following:
This is the expected behavior.
Opacity 100% on all layers:
Opacity 50% on Layer Group, expected behavior:
Emulating Godot modulate.a behavior:
The text was updated successfully, but these errors were encountered: