As a Roblox developer, it is impossible to simulate a rotating sky environment.
Use Cases
The following use cases are presented.
Use Case 1
In reality, nothing in space is truly stationary. Everything is in motion in one way or another. Some of that motion is rotation. Consider a skybox with a planet, and the game takes place on a space station that orbits that planet. Instead of just having a static image in the background, a rotation can be imparted onto the skybox to give the illusion of the station rotating on all three axes even though in actuality, it’s stationary. Some games such as Unreal Tournament 2003 and it’s descendants implement something like this. As such, this is available in the Unreal Engine.
Consider this scenario: An orbital platform corkscrews through space as it orbits a planet or moon. To achieve this effect, a tween is used to change a Vector3 value that sets the orientation of the skybox. Therefore the illusion of a 3D rotating environment is accomplished. Since gravity does not change direction, this will allow individuals to create unique and spectacular environments that appear more realistic.
Use Case 2
For a terrestrial environment, one use case would be a floating island that slowly rotates on the Y axis to give the illusion of movement. Instead of being stationary, such an ability would achieve a dynamic environmental effect which will enhance player immersion in a game.
Implementation Suggestions
Basically, a Vector3 value is added to the skybox to set the rotation. Such a value can be tweened to provide the illusion of moving. A vector of (0, 0, 0) would be the default static position.
Conclusion
If Roblox is able to address this issue, it would improve my development experience because it would make it possible to give the player the illusion of moving through space.
I think a better implementation would be to use a CFrame as the rotation angle instead of a singular vector3 the CFrame would just not account for its position vector3 as the skybox is infinitely far away, the CFrame would just be easier to use in my opinion at least.
It would be way easier to properly interpolate CFrames. With Vector3s, in order to avoid gimball lock, you’d either have to use some kind of an internal Quaternion system, or convert the Vector3 to a CFrame, Lerp that CFrame and convert it back to a Vector3.
to add on this, for some reason the sky is only visible when its day. when its night it gets completely black. only way to sort of “customize” that is with a cloud instance on terrain, plus the star amount and moon size/id. roblox should also fix that.
Roblox is about 11 years behind every other major game engine because of a lack of listening to developers and technical issues. (Aka them not wanting to because mobile wah)
The game that I’m talking about that supports this is Unreal Tournament 2003, albeit in a limited fashion. This game predates Roblox by about a year or so. Unreal Engine 5.1 does some stuff that Roblox can only dream of.
Sometimes I think the issue has to do with patents. They might not be able to implement something if there’s a software patent on it. As a software engineer, I think software patents should not be a thing, and definitely not last 20 years. Case in point is the JPEG and RSA patents which expired a number of years ago. This brings to light the entire patent troll fiasco where companies buy up a bunch of patents from companies being liquidated and then do a shakedown of other companies.