Wanted to add on that this would make developing flight computer UIs much, much easer for flight sims. Currently to make an artificial horizon, I have to Add black frames around a solid blue frame, and set the z index of the brown frame in between the black borders and the and blue horizon. This takes up more time and resources to achieve the same result if ClipDescendants
would behave properly for rotated objects.
As stated in the above reply, this feature was implemented in the form of CanvasGroups
Ah turns out it works if the ZIndexBehaviour is on:
I was testing on GlobalâŚ
Iâm afraid I have to disagree that it is hard. It involves Math, not stencil buffer or CanvasGroups. When the parent GUI intersects with the child GUI, Find the intersection point, then split into multiple triangles around the origin point. that should work.
If implemented in C++, this shouldnât be too expensive, or too difficult. Again, we have CSG, which is essentially the 3D version of this.
its been 6 years and this feature still has not been added
I am surprised this is not a thing yet
I still canât believe this hasnât been added yet. It must be possible now? Is there seriously no way of doing it?
Iâve noticed that at low graphics qualities, CanvasGroups crap out and have awful resolution. Itâs very noticable and doesnât look natural at all. Also, using this just to clip things while rotated would be a good waste of texture memory.
itâs end 2023 and this bug still hasnât been fixed
2024 and this is still an issue
This is still a very annoying issue, limits our UI a lot since most of our UI is or become rotated
Edit: Found a work around, use a CanvasGroup instead as it will always clip descendants
The âworkaroundâ you mentioned appeared previously. Too many and itâs a great memory waste and it affects performance.
Performance and memory usage are important, so this must be implemented.
What exactly is the performance issue? Is it the use of canvas groups? Should I be avoiding them?
Little is good, but not too many. if you put too many big CanvasGroup in a single place, it might experience memory leak.
Is there a dev forum post on this with more details? Wanna make sure this doesnât affect my game
CanvasGroups generate a texture that is rendered in the place of the CanvasGroup. This texture does use up extra memory, albeit that probably shouldnât be your main reason behind avoiding CanvasGroups. The two major limitations with CanvasGroups are that:
-
The final rendered texture is subject to the playerâs selected graphics quality. This could ruin your image quality.
-
When a device is close to being out of memory, CanvasGroups render as a pure black texture; this means in this case, players will not only be unable to see the intended UI but also unable to see game-content which is rendered behind.