Have you ever wanted to fly up close to a sun? To see those dynamic boiling details, shimmering corona, and mesmerizing surface textures patterns… But creating an animated volumetric sun with all these attributes is quite difficult.
It turns out that you can constrain a Maya fluid into a sphere. But the fluid system is tricky to work with since there are so many different attributes to explore and figure out their intertwined relationships. So it’s important that you already have in mind the type of star you want to create. Otherwise you’ll end up tweaking details endlessly without any basis for when it’s finished.
In some cases, you can’t use a fisheye camera to render a domemaster. So the solution is to create a hemicube camera rig.
But what is a hemicube camera rig? By setting up 5 different cameras into a specific arrangement you can seamlessly capture 180° of footage. And then with some stitching software you can later on merge the hemicube renders into a domemaster.
The tutorial to the right was created for Maya users, but the concepts could easily be replicated within in any CGI toolset.
After you have completed the tutorial and rendered out footage from the hemicube cameras, now you’re ready to stitch them together.
hemicube camera rig for maya
— Check out my custom Maya camera for fulldome production which has the hemicube rig included.
— Here is a hemicube camera for Blender
Source of hemicube render – Source of idea for explanation
Stitching hemicube renders into fisheye
So you’ve rendered a scene from a 3D animation software and used a hemicube camera. Now you’re left with 2k footage from each of the 5 cameras: top, left, right, front, and back. But now what? Well you need to stitch the hemicube renders into a domemaster (fisheye).
But lets be clear from the start. Typically when someone says stitching, they mean that there is some automatic algorithmic analysis of how to best combine the footage. But in this instance we simply mean that we are specifically placing footage on the dome and having the dome distortion compensated for. Just like the image above.
When I first saw the Hubble ultra deep field photos, I was in awe. Our brief glimpses out into the universe brings a certain deep peace to my mind. A mysterious and majestic connection to the cosmos. So I undoubtedly needed to create a galaxy field in Maya…
The galaxy distribution currently has a randomized layout. Meaning I used a MEL script to randomize the translateXYZ and rotateXYZ of each galaxy (more info below). So it does not currently mimic the cosmic web. In this first iteration of creating a galaxy field, the goal was simply to fly among the galaxies in 3D. But in postproduction you could easily put a real Hubble ultra deep field photo as the backdrop of everything, just to help the illusion.
There are 68 different galaxies images that have been photoshopped to paint out the background stars/galaxies. It is important to have the image edges fade to true black or else the image edges might be visible and ruin the effect.
I didn’t know if using 68 images would be enough to create a galaxy field and still feel dynamic in the amount of unique galaxies, but it works surprisingly well. Every so often two duplicate galaxies will appear close to each other and you can simply delete or move one of them away.
maya scenes (using mental ray) – galaxy field experiments
There are many aspects to think about when creating earth: terrain color/bump map, cloud layer casting shadows, ocean specular/color map, night city-lights map, and of course an atmosphere. But the trickiest part of creating a good looking earth is keeping the clouds white without the atmosphere tinting them blue.
I learned this technique from the two video tutorials below. What I particularly enjoy about this technique is that the planet shadow casting on the atmosphere isn’t created by a light, instead it’s controlled by a color ramp in the atmosphere shader. So you can directly control where the atmosphere falls off and imitate light scatter. In other words, it doesn’t matter where you place your light because the atmosphere is a system of its own. This means faster render times since there no volume shadows to compute.
One of my favorite things is to fly through a star field in the dome. It’s those particular moments when the dome seemingly disappears and your imagination takes over. It’s truly a majestic and thought provoking experience. But how can you make a star field thats easy to manipulate and renders efficiently?
In the spirit of creating a star field that is reusable but still realistic, we chose to mimic the star distribution of a main sequence star field. Of course it’s all editable if you need. But for all practical purposes this template works beautifully for a flight between star systems. You just need to choose the density of stars.
We decided to go with four different star colors that are the foundation for all the star sprites. They are designed to simulate the look of Sky-Skan’s DigitalSky stars since we use it as a basis for the star globe. You would think that only 4 different star color images being repeated thousands of times on the star sprites wouldn’t be enough variability. But the truth is that within the dome it’s all about the immersion of flying among the stars. Everyone is focused on the grand sense of scale.
Maya Scene Source – fisheye image / rendered with Domemaster3D
So you want to dive into creating fulldome content? Get ready for a wild and weird experience. You’re going to need a camera with a fisheye lens. Call it what you like: fisheye, fulldome, or domemaster… They all refer to the same thing.
Below is a collection of the many different softwares which support fisheye.
(For an improved version of this star globe, please see Background Stars v2.)
Do you need night sky stars with accurate magnitudes and a good looking milky way for the background of your whole Maya scene? Do you want 360 degrees of coverage without any stitch marks, seams, or pole pinching? Well here is what I call the ‘star globe’. (Named out of ease for communicating with my team.)
Just import it, point-constrain it to your camera, and scale the star globe to surround your entire scene. This insures that the star globe will follow the cameras position but not its rotation. For a final render, we typically use preview quality settings and don’t have any aliasing/blinking of the stars. Fisheye camera typically at 500 focal length to shortcut the grey blurry line problem, but it depends how big you’ve scaled the star globe (you’ll know easily if the stars look blurry and weird).
Also, make sure to check the light linking of the star globe so that there are no lights attached. This is because the star globe material has the texture set to incandescence. This insures that it will look always look the same without having to worry about other light sources accidentally brightening the stars.
maya scene (using mental ray) – star globe
Here is a custom Maya camera I’ve made for our fulldome productions. Just import and go! (Requires Domemaster3D)
maya scene (using mental ray) – custom fulldome camera rig
— Uses an aim/up to point the camera. It is applied in a way that allows you to aim the camera and not worry about the camera Z rolling within 180° field of view.
— A hemicube camera rig is parented within fisheye camera (and hidden). Therefore it automatically uses the aim. So if you need to switch over and use hemicube cam for whatever reason, then it’s there and waiting for ya!
— Includes a dome visualization that isn’t selectable. It just lets you know where the camera is facing. It’s also helpful as a guide to see where the springline hits in a scene. I called it the “FYI”.
— Click the camera to see the custom attributes: FYI scale, FYI visibility, FYI Uni Helper, Cam Locator Scale, and Custom Roll. Includes the ability to scale the camera locator without affecting the cam scaleXYZ. (Since changing cam scaleXYZ changes how textures are placed onto surfaces.)
— Preset Domemaster3D settings. (This assumes you already have Domemaster3D installed). Check out this simple tutorial to apply the DomeAFL lens shader to a Maya camera.
— It’s by no means perfect and definitely has a gimbal-lock-camera-flip if you go past 180°, but it works well if you know its limits. Play around with it and you will quickly understand.
When using custom fisheye lens shader, when the camera reaches a certain distance of a textured model then a grey blurry line will appear on the surface. As the camera moves closer to the model, then the grey blurry line moves along the surface until it suddenly sweeps across the entire model and disappears.
To demonstrate the issue, here is a proof of concept Maya scene.