3D Perspective / Rotation support for user interfaces

As Roblox developers, it is difficult to create unique user interfaces that are not restricted to the 2D plane.

Roblox has 2D UI, which makes UI artists have to make 3D UI off-app. Even if you design your own 3D UI, you can’t 3D animate it.

What is 3D UI manipulation?

3D UI manipulation is being able to rotate UI freely in 3 dimensions and create perspective.

Here are examples of what I mean:


Benefits

  • 3D UI creation in-app

  • 3D UI animation capability

  • Better creativity

  • Game enhancement

  • New and better form of user experience

Methods which can be used with current resources

1. SurfaceGui

Pros:
+Being able to extrude the part it’s on.

Cons:
-Ineffective with cutscenes.
-This type of GUI is required to be in the workspace which would make it harder to replicate locally and having to go through all the parents for every GUI part when scripting.
-Requires at least 1 camera.

2. SurfaceGui + ViewportFrame

Pros:
+Bound to PlayerGui.
+Works better with cutscenes.

Cons:
-Requires cameras.
-Difficult to rotate and move manually.
-Inability to click without extensive scripting.

Features this can be accomplished with

1. Planes

Pros:
+Rotatable in 3D space.
+Easy to manipulate
+Ideal for GUIs, since they’re already 2 dimensional.
+2 Sided
+Can also be used in building if this feature comes in a 2nd version: 1st version ~ UI element; 2nd version ~ part.

Cons:
-Non extrudable

2. Perspective Sizing for UI Elements

Pros:
+All 4 corners being freely adjustable.
+Perspective effect without having to rotate.

Cons:
-Backside can’t be seen, therefore 1 sided.
-Non extrudable

Personal Thoughts

I believe that if this feature is added, almost every high-end game in Roblox would use it. It’s a dream come true for most developers to have a modern feature like this. It would significantly enhance user experience due to its versatility, and would be a must-know thing for experienced UI programmers.

21 Likes