Max 2013

Of all the new features in Max 2013, it seems that the one I enjoyed most was a plugin called  ‘ viewport2Bubbleslot ‘ that does exactly what its name suggests. I’m sure many of you have been using this plugin as well, but for those who haven’t yet discovered it… now’s your chance!

For those who don’t know what this plugin is about, make your way to Sketchucation  and download version 3.0 beta 21 or higher (I’ll be using version 3.0 b22). The installation instructions will guide you through the process pretty easily if you follow them carefully (if not, give me a shout and I’ll try my best to help). Once installed, restart max and you should see a new custom rollout in your UI called ‘viewport2Bubbleslot’.

Please note that this plugin seems to only work in 3ds max 2013, it does not seem to be compatible with older versions of max or any other 3D application for that matter. This article is based on max 2013 but the same principles could easily be applied using earlier versions.

If viewport reflections are enabled in the mental ray rollout, they don’t really do much at all – they just make objects appear brighter. Please note that if viewport reflections are turned off in the mental ray rollout, enabling them has no effect either since this isn’t related to the v2b plugin.

The reason why I said this works in almost all situations is because there are certain materials like glass and any kind of ceilling material that cannot be reflected. So you will notice in these cases that reflections won’t work (but this would only be the case if the reflection method for that material were set to be ‘mental ray’).

Once enabled, you should see bubbles randomly appear within your viewports with a random color. What each bubble represents is a light source in your scene with its specular highlight and color represented using the specified shader – so basically what we have here is realtime area light shadows in our viewport!

The plugin also offers an option to activate or deactivate bubble rendering – which can come in handy when turning off bubbles for specific objects for better visibility.

There are several options provided by this plugin which can be modified either directly within the rollout itself or via keymaps. Let’s take a look at these now…

Enable/disable bubbles (useful for object visibility) – to turn on or off bubbles simply tap your ‘8’ or ‘9’ keys, respectively; you can also access this option from the UI;

Viewport curvature (useful for box/sphere reflections) – enables (1) anamorphic mapping in order to display area light shadows with perspective;  (2) viewport curvature using b2 camera settings;

Directional bubble size multiplier (default = 1.0)… since the bubbles are rendering based on photometric units, the size of the bubbles will be dependent on this multiplier (and if nothing is specified it defaults to 1.0);  this is mostly useful for low/high angle shots where bubbles are larger towards the horizon,

Shadow bias – offsets the shadow calculation by a given value so you can adjust it according to your renders;

Use blobby shadows – calculates area light shadows with an iterative method that produces smoother results vs. faster performance but less accurate results compared to raytraced shadows. Blobby shadows are also more suitable when using objects without geometry since this extra step helps avoid dark artifacts near object edges caused by contact hardening,

Max draw distance / Max samples – if enabled, each bubble will cast 4 rays per sample into each direction and the resulting color will be averaged.

Please note that this means bubbles won’t cast shadows when using more than 1 sample so if you try to increase samples beyond 4 while wanting to use blobby shadows, only the lowest number of samples specified for each direction will be considered.

Also note that since 2Bubbleslot uses your viewport’s full resolution (no matter what resolution you’re rendering at) there is a performance hit on lower end machines – keep in mind that max doesn’t automatically set your frame buffer size equal to your render size, which would mean around 30 fps with a 1080p scene at 32 samples per direction. In this case I recommend keeping both buffers equal in order to avoid any performance issues.