GuiObject.ClipsDescendants (Rotation Support)

Personally I think it’s been a feature in the realm of “needed” since Rotation was first introduced in GUIs.

-GuiObjects that are Rotated under other GuiObjects with ClipsDescendants set to true, will be clipped as opposed to the current behavior (no clipping support)

To be perfectly honest my formal argument For this request is that GUIs that are rotated while parented to a GuiObject with ClipsDescendants set to true, will not produce the correct behavior (rendering wise) that comes with being a Descendant.

My Informal reason is that Minimaps would actually be a viable thing to script on ROBLOX. Not that they aren’t possible now, it’s just that they look crudy without the proper behavior.

  • For
  • Against

0 voters

3 Likes

I believe @zeuxcg explained once or twice that it’d be super performance intensive.

That being said, I’d still love to have it regardless.

There have been a few threads on this already if you’re looking for more info:

I found these by searching for “rotation clipsdescendants” using the search tool in the top right. (It’s a cool feature, use it!)

Here’s the reply by @zeuxcg:

2 Likes

Bumping old posts does less justice than getting the current opinion of the current community.

That being said, thank you for the references anyways

The point was that threads on this have already been made making this thread pointless. There isn’t any disagreement to ClipsDescenants rotation support. Previous threads have proven this. The point is the staff have already given an answer to the request which is a performance issue.

This will be the case no matter how many threads are made.

1 Like

Why not just modify the gui code to make those “cutoff” rectangles local to the frame’s rotation? basically each frame has its own world space?

Yes… that’s roughly how it would likely be done (Converting coordinates by giving each rotated object a “CFrame” and doing clipping / event handling in that space), but the difficulty of actually doing so is anything but a “just”. At the lowest level the rending system just renders triangles, it has no notion of complex clipping etc. Even once you’ve done a world <-> local space conversion, you still have the problem of clipping an arbitrary convex polygon vs a box, and have the same problem for event handling (to determine what GUI element the mouse is inside of / what to send events to).

Not to mention that significant rotated regions with clipping are likely to look really bad in a lot of situations due to the lack of anti-aliasing on GUIs, so Roblox may not want to encourage the use of significant amounts of rotated GUIs with that in mind.

Not to mention that adding rotated GUIs likely splits the GUI system into two code-paths, because you still want the current fast path for unrotated things, only resorting to the slow path for rotated hierarchies with clipping in them.

Overall it would certainly be a large project to make it happen no matter how you put it.

1 Like

I didn’t know that we couldn’t clip rotated GUIs… guess I’m gonna have to come up with an entirely new concept for the part of my game’s HUD that I’m working on…