Screen space camera transformation after perspective projection

New Format

Please complete one of the following sentences:
As a Roblox developer, it is currently too hard to . . .
As a Roblox developer, it is currently impossible to . . .

As a Roblox developer, it is currently impossible to move the 3D geometry around in screen space after perspective projection.

If Roblox is able to address your issue, how would it improve your game and/or your development experience? Please be as specific as possible.

Whenever creating UIs that cover a significant slice of the screen, it is often desired to “shift” the 3D geometry around so that the perspective focus is no longer in the center of the screen. Some shifting can be emulated by transforming the camera around a bit in 3D space. This has the side effect that, due to the perspective projection, different angles of the objects are being shown instead of what is expected to be shown.

The effect is best illustrated through an example, with some nearly fully opaque UI covering the left half of the screen.

No extra transform

Camera transform

Screen space transform

This is especially important when working with mobile devices, and even more so when working with portrait mode, where the slice the UI would cover up would typically be even larger than in landscape mode (such as inventory UIs on the bottom half of the screen, but still showing the 3D character above that UI).

33 Likes

I’ve wanted something like this for a while now. It would be really nice to be able to have certain parts of the screen show different areas in the world than the main view. For now, you’d have to just move the camera’s CFrame away from the UI.

1 Like