IssueRaiser

Add a "Mask2D" node (and/or a "mask_parent" property for Sprite2D)

### Describe the project you are working on This applies to all 2D projects I have worked on in the last 3,5 years, so ever since I started working with Godot. ### Describe the problem or limitation you are having in your project Ever since I started using Godot, 2D masking is one of these fundamental basic areas which has given me the most trouble. This is something most people who hear the praise for Godots great 2D support would think already exists as an extremely simple and straight forward solution. But very unfortunately, the opposite is the case: The existing solutions are extremely cumbersome and counter-intuitive to use, require a high skill level and often very performance hungry as well. They are in fact so complicated and hard to explain to a beginner it I actively try to avoid doing so. Even explaining this process is no fun. Basically you have two options: use Light2D with Mask mode or write a Shader. Neither of them offer the same intuitive simple use as a Sprite with texture. Light2D has it' own crazy collision-layer type system over which Light2D affects which other canvas item. This might make sense for a 2D light, but for a Sprite Mask this is extremely counter productive. Light2D nodes are also really performance hungry, especially on lower end mobile hardware. Shaders on the other hand are more performance friendly, but are a huge step up in the difficulty curve, especially for those who are not already familiar with a C-like language. Trying to

Posted by golddotasksquestions on Mar 25, 2022, 3:49 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.2,500 issues0 comments

ux (Other)

Add a "Mask2D" node (and/or a "mask_parent" property for Sprite2D)

golddotasksquestionsMar 25, 2022, 3:49 PM

### Describe the project you are working on This applies to all 2D projects I have worked on in the last 3,5 years, so ever since I started working with Godot. ### Describe the problem or limitation you are having in your project Ever since I started using Godot, 2D masking is one of these fundamental basic areas which has given me the most trouble. This is something most people who hear the praise for Godots great 2D support would think already exists as an extremely simple and straight forward solution. But very unfortunately, the opposite is the case: The existing solutions are extremely cumbersome and counter-intuitive to use, require a high skill level and often very performance hungry as well. They are in fact so complicated and hard to explain to a beginner it I actively try to avoid doing so. Even explaining this process is no fun. Basically you have two options: use Light2D with Mask mode or write a Shader. Neither of them offer the same intuitive simple use as a Sprite with texture. Light2D has it' own crazy collision-layer type system over which Light2D affects which other canvas item. This might make sense for a 2D light, but for a Sprite Mask this is extremely counter productive. Light2D nodes are also really performance hungry, especially on lower end mobile hardware. Shaders on the other hand are more performance friendly, but are a huge step up in the difficulty curve, especially for those who are not already familiar with a C-like language. Trying to

Comments (0)

No comments yet. Start the discussion.

Comment on this issue