360 Space Skybox: From Blender to YouTube

The Planet

The planet is a sphere with a complicated material on it. It uses a Wave Texture to get the bands and a second Wave Texture to give some more variation in the bands. The distortion in the middle is controlled by a gradient texture. I spent a lot of time trying to get the gradient to be more _gradual_. It seems like it is mostly just grey. In the end I just sent it through a Color Ramp to try and boost the middle. The goal was to show some fast crazy winds around the equator that got slower towards the poles. A Color Ramp at the end of all that with a few stops gives the blue coloring.

The Rings

The rings use a similar material with two Wave Textures to give some variation as seen with Saturn’s rings. I just used a flat plane(with a hole in the middle) and fed the result of the textures into the alpha channel of the BSDF shader. One gotcha with alpha is that the Blend Mode has to be set to Alpha Blend in the properties panel. I used a Noise Texture and a Mix Node to cut away some parts of the ring and make it look like a collection of objects instead of solid bands.

The Nebula

The nebula was the most time consuming part, both to make and to render. It was mostly copied from Curtis Holt’s Nebula Tutorial linked below. It uses an enormous torus surrounding everything as the basis of a Volume Object. The object has the Mesh to Volume modifier on it and the torus as the target. The shapes and some of the coloring come from a volume material. This material has two Noise Textures providing the main shapes of the clouds and a third Noise Texture used to provide some highlights where the clouds meet the dark areas. Some Color Ramps on the main Noise Textures give general coloring, in this case, blues and purples.

After the clouds were done, I added dozens of lights throughout the volume. This adds some very nice highlights and coloring at the cost of much longer render times. The lights are hugely powerful, 1 megawatt each, in order to cast enough light on the volume around them. Their color has a big impact on the final volume color. I also wanted the lights to have some visibility when seen directly so I added a sphere around each one. The spheres have to be set to Shadow Mode – None in the properties panel, otherwise they will block the point light inside them.

The Stars

The star background was the easiest part. It uses the World object in the node editor. The stars are a Voronoi Texture set to Minkowski. This is inverted and fed to a Color Ramp to make them more pointy. The Color output of a Noise Texture was mixed with them to give each star a different color.

Rendering in 360

In order to render this as a 360 video, it must be output as a equirectangular image. Cycles has an option in the camera settings for this but the render times were far too long and the nebula didn’t come through very well at all. Eevee does not have an option for this natively. I found a plugin called eeVR(linked below) that will allow you to render out 360 images using Eevee. Under the hood I think it renders 6 cameras and then stitches them together. Fortunately, it only requires one camera and a single button press. The output width should be 2 times the height. I used a final render resolution of 8192×4096. I think this is the minimum for a 360 image to not be blurry as a background. Render times with Eevee were about a minute vs 1+ hours with cycles.

Uploading to YouTube

Once the image was rendered I made it into a video. YouTube does not recognize 360 videos by default. In order to make it show up you have to run it through a program called Spatial Media Metadata Injector(linked below). This was relatively painless and even worked in Ubuntu by downloading it from GitHub and running _python gui.py_. Needs to have python installed though.

Some ideas for improvement:

  • This background is going to be used in another scene. It is important to consider the final shot. Where does the interesting stuff show? Because you have to re-render to change anything.
  • As you’re placing the camera, think of what you want to be on the horizon, what you want to be behind, etc. If your background is going to be covered up by foreground stuff, what is the point.
  • I would like to add more stuff to the scene, like asteroids/ice chunks in the rings or maybe a moon or two.
  • I think the whole thing could be toned down a bit, especially the brightness of the rings.
  • I’d love to improve the render times. Maybe figure out a way to reduce the size of the volumetrics, or reduce the number of lights.
  • An animated sequence would be really cool. Maybe some nebula flashes, moving planetary bands or asteroid movement.


eeVR: https://github.com/EternalTrail/eeVR

Spatial Media Metadata Injector: https://github.com/google/spatial-med…

← Previous post

Next post →

1 Comment


Leave a Reply

Your email address will not be published. Required fields are marked *