Parallax Skyboxes

As a developer, it is too hard to have parallax in roblox. The sky-boxes are all 2d planes, so the same tech with parallax backrounds should theoretically work with the six planes that make up the skybox.

Parallax backrounds are multiple backrounds, layered on top of each other, that move at different rates in relation to the player (some move autonomously as well). Heres a good video of it in action i found in for unreal engine

The source engine already does parallax skyboxes in a sense with its 3D skyboxes, where the skybox is based in a camera in a area with the 3d pieces surrounding a scale model of the playable map along with a fake skybox.

My idea/solution is to just have multiple layers of the skybox which move along with the player. For example, if there were clouds on the left and right and upper skyboxes, and you moved forward, it would look like the clouds are moving; but the layer of the skybox that shows a blue sky would not move. A second layer could be perhaps a mountain. Moving against the side of the skybox the mountain is on would make it look like it is moving very slowly, and moving on the up/down axis would make the mountain look like it is getting higher and lower. To prevent the mountain looping to the top of the screen, there could be check box for if a layer is loop-able on the x,y,z axes. Along with a x,y,z offset for the sky-box layers (only the applicable settings would be shown for each layer)

This feature would allow us to make cool skyboxes, and could be very useful for 2D/sidescroller roblox games.

17 Likes

Why can’t you do this right now?

1 Like

I never said that it can’t be done, its just that it would be hard to code in a custom skybox.

3 Likes

Wouldn’t this result in people being able to walk beyond the skybox? I can see it work on a 2D game but i can’t figure out how this can be pulled off in a 3D space unless you restrict the distance people are allowed to go.

5 Likes

I looked up how valve does it. Rather than being a series of image “plates” stacked on top of each other like in the 2D case, it’s just geometry that’s rendered at a lower fidelity & scaled up. Additionally, it is non-colliding in Valve’s engine.

Edit: if it helps, one possible way roblox could implement this is to have a second workspace which is the low-fi workspace. Then you get the speed of Valve’s strategy which seems to be the only perk of such a system.

3 Likes

Yeah, she mentioned that

But then she says

Which i don’t understand

1 Like

I take the “mechanisms” people suggest in these feature requests with a grain of salt and instead try to think about the problem they’re trying to solve.

If skyboxes weren’t consistently centered on the camera, they would get distorted, so the multiple layers of the skybox probably wouldn’t work.

However, there is a problem: it’s hard to make realistic things (islands, mountains, whatever) in the distance even if they’re low poly & cheap to draw. Valve solved it with the “3D skybox”.
And this is a problem that bothers a lot of people. Search results for 'render distance #feature-requests:client-features' - Developer Forum | Roblox

3 Likes

One of my favorite games – Distance – also implemented 3D skyboxes recently.


There is a way to implement it such that you can’t walk beyond the skybox, but it would look really weird since the planes would all shift independently of each other.

I think being able to walk beyond a “skybox” is completely fine, though at that point it’s just a normal object that always renders instead of a skybox. I also think 3D skyboxes that are attached to the camera and render behind everything would be really neat. More skybox tools would be great.

1 Like