360° Video Fundamentals

I’ve long been excited of the possibility of 4k video in a planetarium dome. And so I was captivated with the recent introduction of a 360° video camera rig with 8192×4096 resolution. (Which translates to 4k domemaster resolution.) It also meant that I could increase the fisheye FOV from 180° to 220° and see the immediate ground surrounding the camera. In my opinion this makes for a heightened immersion experience. So I have spent the last two months experimenting and learning directly about the intricacies of shooting 360° video.

The 360Rize PRO10HD is a 3D printed object. Meaning it’s one solid piece of plastic that is precisely engineered to fit 10 GoPro cameras into the smallest possible space. It’s printed using aircraft grade plastic, so it’s durable and has been through a strenuous bend test to prove it’s strength over time.

Currently the 360° video community is tiny and little documentation is available. So I was on my own to figure out the potential problems, shooting subtleties, and overall workflow. This can be a tedious and nerve-wracking process. After all, with 10 GoPro cameras shooting in unison, something is bound to go wrong at some point. So alas, plan within plans within plans, theorize contingencies, and take notes of your experience. And now for you brave souls remaining, below are my own findings, tips, and thoughts.

Continue reading

Jupiter Bands Simulation

Just a few days ago, I found out about a MIT competition called The Art of Astrophysics. Naturally my interest was piqued. The only problem was the deadline… 24 hours!

As a back burner project I’ve been experimenting with creating jupiter cloud bands that are truly fluidic. It’s very difficult to keep the multiple bands separate, so I’ve been testing the interaction between just two bands. The Kelvin–Helmholtz instability is a fascinating topic to focus on, but it’s heavy to simulate and difficult to predict.

Continue reading

Background Stars v2

example_render(This post is an update to Background Stars v1. It will provide some context.)

A while back I shared a ‘star globe’ which has the night sky mapped onto a sphere. This can be used to completely surround a maya scene with stars. Andrew Hazelden and I often collaborate on various fulldome projects and he had an idea of how to re-engineer the star globe into requiring only 1 surface and 1 file texture. This allows for a vast improvement in rendertime. For instance:
— 4-poly & 4 texture star globe – 1m 40s
— 1-poly & 1 texture star globe – 30s

A bunch of other improvements are included:
— Fixes the grey blurry line glitch since it uses a Mental Ray texture network.
— A 2k texture for previewing in the Maya viewport. Then 8k texture used for renders.
— Other lights in the scene will not affect the star globe.
— Star globe never casts shadows.
— Star globe will automatically show up in reflections & refractions.
— Renders faster since the 1 texture needs much less initialization and poly is reduced.
— Here is a detailed explanation of these things are achieved.

maya scene (using mental ray) – star globe
(also available in the Domemaster3D toolset)


Cosmic Loops – Dome Visuals for Live Music

CosmicLoops_preview2 CosmicLoops_preview1 CosmicLoops_preview3

We are working hard on our latest fulldome production show about NASA engineering, but we do try to squeeze some fun projects into the mix. So lately we have been creating some custom dome visuals for an upcoming live music event in the planetarium — Cosmic Loops: Music Beneath the Stars

But there are some interesting challenges in trying to create pre-rendered dome visuals for live music. The musicians supplied the songs they will be playing live, so we at least had an understanding the specific moments to match. We have seen that many entertainment shows try to stay synced to the beat. But we realized that in an immersive space you just want to soak it up the moment of beauty around you. So we have taken a different approach of grandiose scenery with gentle camera moves. We aren’t making a music video but instead an experience where the music and visuals amplify each other. We aspire for goosebumps. For frisson!

Continue reading

Edit DigitalSky Scripts On Any Computer

If you’ve ever needed to edit a DigitalSky script but you’re on a computer that that doesn’t have DigitalSky installed… Well editing the plain text definitely works, but it’s easy to make mistakes and quite hard on the eyes.

So Andrew Hazelden has added syntax highlighting of DigitalSky scripts to several code editors .  In other words, the code is automatically colorized to make it much easier to read.

These code editors have downloadable modules to add DigitalSky support:
— Notepad++ (Windows)
— TextWrangler (Mac)
— BBEdit (Mac)
— Gedit (Linux, Max, Windows)


Fake Ambient Occlusion


Ambient occlusion is quite a helpful effect in easily achieving some realism. But the default render layer occlusion setup in Maya (using Mental Ray) is somewhat render intensive. And when you’re doing lots of render tests, well you just want to see it quickly.

fake-ambient-occlusion-tutorialSo we can speed up the render process by instead using Final Gather to computer the occlusion and then use the mib_fg_occlusion utility shader to make it grayscale. Then by adjusting the Final Gather render settings we can affect the render times. This is really helpful if you are doing a test render where the render quality is not paramount, but later you can increase the settings for the final render.

To the right is a tutorial of how to get the mib_fg_occlusion node setup within a surface shader. You must use mental ray since that is what Final Gather requires.

You can also learn more in depth about the mib_fg_occlusion utility shader and how to get a texture with transparency to be recognized.


The Nebula Challenge

One of the most difficult types of space imagery to create is a volumetric nebula. There are three main styles of nebulae to imitate: diffuse nebulae, planetary nebulae, and supernova remnants. The fluid framework within Maya is extremely flexible but it can be very tricky to just get a fluid/emitter set up with settings that are repeatable.

So to ease the cumbersome setup, below is a maya scene for the interactive creation of a fluid nebula. While experimenting with the attributes it’s important to have a real nebula reference image in mind; or else you’ll just continue tweaking attributes without any real measure of when it’s done. With fluids it’s quite easy to run down endless rabbit holes… There are just so many attributes that are interlocked. But it’s not impossible to tame fluids, you just need to have a goal in mind.

The nebula maker template is initially set up to have the look of a supernova shell because it’s actually more useful to experiment with. But I’ll share how to adjust the opacity ramp to create a diffuse nebula.

Continue reading

Fix for Maya – RenderView Not Found


Have you ever opened up a Maya scene downloaded from a website and upon trying to do a render… all you get is a blank window and an error! BAH!

Error: setParent: object ‘renderView’ not found

RenderViewError-TutorialLuckily there is an easy solution to fix this. Check out the tutorial to the right on how to create a MEL shelf button to keep this solution handy. The MEL script is below.

for ($item in `getPanel -scriptType "renderWindowPanel"`) {
if ( $item == "renderView" ) {
print "renderView exists.\n";
if ( $exists == 0 ) {
for ($item in `getPanel -scriptType "renderWindowPanel"`) {
//print ( $item + "\n");
if ( $item == "renderWindowPanel1" ) {
deleteUI renderWindowPanel1;
$renderPanel = `scriptedPanel -type "renderWindowPanel" -unParent renderView`;
scriptedPanel -e -label `interToUI $renderPanel` $renderPanel;

Note: A permanent way to fix this issue is to simply upgrade Maya 2012 with the latest service pack. But this requires a reinstall of Maya… And when you’re in the middle of production, well thats just not a pleasant option.