Add ability to have multiple celestial objects besides the sun and moon as part of the skybox

Related feature requests:

Problem

As a Roblox developer, it is currently impossible to create an alien environment that contains more than the two default celestial objects (Sun and Moon).

Use Cases

The following use cases are presented.

Use Case 1

In reality, there are a number of star systems which are either binary (2 stars) or even trinary (3 stars). The closest example which is in our galactic neighborhood is Alpha Centari. It is a system with three stars. In order to simulate such an environment (either planetary or in space), more than one star needs to be shown as part of the skybox, complete with light sources and color filtering (Related feature request here).

Use Case 2

Another case for the ability to have multiple celestial objects is to simulate a planet with multiple moons where each moon would have a different texture. Such a case in point is the planet Mars which has two moons, or planet Jupiter which has 67+ moons. For the Jovian system, the four major moons (Io, Europa, Castello, and Ganymede) follow predictable paths. The minor moons have completely different trajectories. Therefore, to simulate such environments, the ability to have multiple celestial bodies besides just one sun and one moon would be critical.

Use Case 3

In many cases, planets are visible with the naked eye in real life. For instance, Venus, Mars, Jupiter, and Saturn are all visible with the naked eye. So the ability to have these as part of the skybox would add to the immersive realism of the environment. One such case from science fiction fantasy is from the movie Star Wars: Return of the Jedi. A lot of the action takes place on a moon of the planet Endor. Because of this, Endor would be quite visible from the sky due to it’s close proximity to it’s moon.

Additional Information

Although this can be done by using parts and meshes, there is a distance rendering issue with lower end devices not rendering distance objects. This is part of the reason why such a feature is needed.,

Implementation Suggestions

One possible way to implement something like this is the creation of a new CelestialBody class which contains the following properties:

Property Purpose
Color3 Color filter for the object.
Transparency Sets the transparency of the object. Useful for interaction with other objects.
Texture A rbxassetid URL for the texture.
AngularSize The angular size of the object in degrees.
GeographicLattitude Where in the sky the object tracks.
ClockTime The position of the object along its track using a 24 hour clock.
Brightness The brightness of the light source.
LightColor The color of the light source.
ObjectClass A proposed new Enum that specifies between star, moon, planet, or some other type of object.
Z-Index Allows the ordering of celestial objects in the case that one object passes in front of another. This would allow for the creation of eclipses.

An object class such as this will allow each object to independently track through the sky with it’s own specific parameters which can be tweened to show movement across the sky.

Conclusion

If Roblox is able to address this issue, it would improve my development experience because it would allow a developer to be able to create a more immersive alien environment for their games. With the creativity of developers, some very spectacular environments can be created.

22 Likes

i want that feature so much

it really is not good to make a space themed map, with some planets orbiting around and stuff