ClipsDescendants should work with rotated UI elements

It’s on our roadmap to fix this some time in 2019.

42 Likes

We are in halfway 2019, are you guys working on a fix? This is still needed. Also, I can’t find it on the High-Level Roadmap.

10 Likes

She never stated that they were actively working on a fix, but it is on their roadmap to fix the issue. Often, smaller issues or features like this will get pushed back due to other features or bug fixes being prioritized.

Also, the roadmap you linked is only for high-level features and not an internal roadmap run by each team so that they can keep track.

3 Likes

We’re in Q2 of 2020 now and ClipDescendants support for rotated UI objects is still very much needed. With recent ‘bonus’ additions to the UI system like UIGradient, which multiplies any given UI object with a given color range and supports rotation, support for ClipDescendants with rotated objects (even if it only works for rotated objects inside of grid-aligned objects) seems like a great candidate to implement/fix next.

35 Likes

We are continuing to evaluate hardware features and different approaches to implementing this. Right now it’s scheduled for later this year, but no promises. This is a complex feature and we want to be sure we deliver a performant solution that works on all devices, particularly mobile platforms where graphics APIs are somewhat limited in capability. This is currently on our roadmap for Q4 of this year, but it could be pushed back depending on how things stand then.

53 Likes

cc @Tiffblocks

Been well over 4 years since this request was made, over 7 years since the first request for this and over a year with no further word, and still not implemented :upside_down_face: how hard can it possibly be?

All these awesome UI features like UICorner, UIStroke, Richtext, all (I’d imagine) would be a lot more complex to add. But simple clipping of rotated items still isn’t here? Hell, since the introduction of CSG, I’d imagine something like this, which is only 2D, would be infinitely easier to implement.

Not even on this years roadmap either, so we can’t even expect it to come out till 2022 (or at this rate, another decade)

75 Likes

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.

9 Likes

This behaviour can be achieved with the release of CanvasGroups.

7 Likes

As stated in the above reply, this feature was implemented in the form of CanvasGroups

1 Like

Ah turns out it works if the ZIndexBehaviour is on:
image
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.

9 Likes

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.

6 Likes

its been 6 years and this feature still has not been added

6 Likes

I am surprised this is not a thing yet

6 Likes

I still can’t believe this hasn’t been added yet. It must be possible now? Is there seriously no way of doing it?

3 Likes

@Buzzyy_Bee @iOwn_You
Please see the above.

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.

4 Likes

it’s end 2023 and this bug still hasn’t been fixed

3 Likes

2024 and this is still an issue :confused:

5 Likes

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