Mia_Material_Advanced

Mia_Material_Advanced is a shader phenomena which should solve most of your issues with the standard Softimage implementation of the Architectural Material, facilitate working with channels, plus add few additional nice features. Since I’ve spend quite some time investigating the whole topic, I thought it might be a good idea to describe the whole process on why I ended up writing my own spdl for the shader. But feel free to skip all that and just download the .xsiaddon at the bottom of the post.

So why would you need yet another version of the Architectural Material?

Initially I’ve been searching for a working solution to use Softimage Framebuffers/Channels in conjunction with the Architectural Material. So what’s the problem with the build-in channels?

At first glance everything works fine:

So far so good. But let’s try something more difficult. I love “Enhance XSI” procedural textures a lot and I use them very frequently. So what happens if we pipe an Enhance Procedural into the Architectural Material.

The image looks good, but rendertime went from about 10 seconds to more than two and a half minutes!!! The funny thing is, this even happens if you pipe the shader into ports like refraction color, which shouldn’t be evaluated at all. Obviously this is a bug with the Enhance shaders, because other procedurals like the standard fractal or the the Binary Alchemy Fractal work fine. And actually it’s got nothing to do with the Architectural Material as well. If you look at the code of the Architectural shader, you will discover that it’s actually a shader phenomena. It contains the Architectural_Multi-Out Shader, plus some “Store Color in Channel” shaders to store the output of the Mia into the standard Softimage channels. If we use the Architectural_Multi-out shader directly, everything renders fast again, but of course our channels are now empty. And if we try to store the output into channels in the rendertree, rendering slows down again. So obviously there is some problem  with the “Store Color in Channel”  shader and the enhance shaders. I reported the issue already some time ago, but so far it hasn’t been fixed.

So if you want to use the Enhance procedurals in conjunction with channels there is no way to make use of the usual “Store Color in Channel” shader. That’s also the reason why Guillaume Laforge’s mia_x_RenderChannels Compound won’t work very well in this case (actually there is another reason why you should stay away from shader compounds completely, as you can read below).

The solution: the excellent Mia Material Wrapper by Jarno Gruppen, which stores the channels of the Architectural Material directly on a shader level.

Like this everything, including channels, works fine, even with Enhance procedurals. Another advantage over the build-in channels are additional channels like the raw components and the corresponding level masks or AO and opacity channels. Since I wanted to add a few other features to the shader, I initially build a shader compound which exposed all the parameters. But I encountered another nasty Softimage bug, which (to my knowledge) hasn’t been fixed yet. If you expose a lot of parameters out of a shader compound, as soon as you draw a region, Softimage freezes for a certain time before it even starts to render. This delay grows with the number of exposed parameters and instances of the shader itself. And since the Architectural Material has more than 50 parameters it sometimes took minutes until the rendering started for more complex scenes, which made tweaking parameters unbearable. That’s why I decided to build a shader phenomena via spdl in the end.

Features of the shader:

Please note: I ended up including two 3rd party shaders directly in the addon. I didn’t code any of these shaders, so all credit goes to their original authors!

  • Additional Tab to add or remove channels directly in the shader: simple check-boxes to add all the available channels of the Architectural_Multi-Out Material in a way that they work together with the wrapper. Please note: this doesn’t activate or deactivate storing render channels for individual shader instances in you scene. It just globally adds channels to the scene and corresponding framebuffers to the current pass.
  • Avanced rayswitch functionallity: I recompiled the excellent RRayType shader by Reinhard Claus for 64bit systems and included it in the phenomena. An additional rayswich tab gives you the possibility to control secondary and tertiary generation rays for both reflection and refraction. This can be very useful to optimize performance as well as for artistic purposes ( for example by changing the color values).
  • Solves anisotropic highlight problem: since forever the default Architectural Material distorts highlights on objects with UV’s (even if you don’t use anisotropic reflections) unless you type “none” or something else into the anisotropic texture space. You can see the effect in the topmost picture: the left sphere shows the Architectural Material with default values and stretched highlight, the right sphere the same material with “none” typed into texture space.  Actually the original design of the MIA Material by mental ray allows both vector and numeric inputs. My guess is that since that’s not possible inside Softimage, they decided to implement only the vector input. But the problem is that you will very rarely need vector map inputs for your anisotropic reflections while on the other hand it’s very annoying to type something into the texture space, each and every time you use the shader. So I decided to go with the numeric input which gives you the following options. From the mental images arch&design docs:

    anisotropy channel can also have the following “special” values:
     -1: the base rotation follows the local object coordinate system.
     -2: the base rotation follows the bump basis vectors
     -3: the base rotation follows the surface derivatives

    In the very rare case you need to create an effect like this, you can still use the normal Architectural_Multi-out material.
  • Clamp for HDR rendering: a small utility in the optimization tab. Since we are rendering to 32bit hdr files most of the times these days, we often encounter problems with super bright highlights. Since traditional specular highlights are a remnant from the beginnings of computer graphics, they often don’t work well when rendering to hdr files. For very reflective surfaces the specular’s intensity can grow to very unrealistic values, up to hundred times brighter than white. This can lead to flickering, especially when those specular’s are seen by other reflective surfaces. To a certain extend it can help to clamp all values above a certain level, and that’s exactly what the parameters does.

Here is a video with the shader in action:

Usage:

The xsiaddon will install the spdl of the shader phenomena plus the mia_material_wrapper and the RRaytype shaders. Everything x64 only, sorry!

For some reason you will have to restart softimage after installing the .xsiaddon or the interface of the shader won’t load fine in some cases.

You should then find a shader preset in your Illumination category inside the render tree. This will drop the shader and the wrapper already connected into your tree, which is how the shader should be used. Unfortunately I wasn’t able to include the wrapper directly into the phenomena (any hints on how to do this would be much appreciated).

Additionally you will find a category called Mia_Material_Advanced which contains the three separate shaders if you need them.

Download:

Mia_Material_Advanced

Let me know if you encounter any problems.

Cheers!

MM_c4d_MultipassImporter

This is a script for After Effects I finished already a while ago. It enables you to import all your c4d multipass renderings at once and automatically layers them back together in the correct way.
Here is a small video to show what the script does:

Back then I realised that many of our compositing artists either didn’t know, didn’t care or simply didn’t have the time, to add all the passes back together in the correct way. Often they preferred to add them together in a way they liked, which in worst cases led to poorer results than the original renderings (or at least very different results than the 3d artist had in mind). So I think it’s always a good idea to start with a correctly layered composition which looks exactly like the rgba and start to tweak things from there.
Furthermore you can use the script as quite a powerful tool to import your renderings. Just for fun I tried to import the whole folder structure of quite a big project of ours, with thousands of textures, project files, pdf’s and what not. The script imported only the cinema renderings of all 27 shots without a problem and nicely distributed them into correctly named folders and compositions. The renderings do not even have to be in the same folder. For example, in our pipeline all the passes are automatically distributed into their own separate folders, because it’s much clearer this way.
So why not simply use cinema aec’s to import correctly layered compositions? Since aec’s are searching for the footage exactly in the place you have rendered your files, they wouldn’t work in our (and I think a lot of other) cases. Furthermore you would lose the script’s ability to simply select one folder and automatically import all your renderings.

Installation: Simply drop the .jsx file into your After Effects\Support Files\Scripts folder and restart AE. Tested only with CS5!

To be honest, I had no chance to test the script in production a lot, because I didn’t use cinema at all on the last couple of projects. So there might very well be some bugs I haven’t discovered yet. Feel free to email me if you have any problems and I will see what I can do. I hope this is useful to some of you, enjoy!

MM_MultipassImport.rar

Coop Underwater World

Last month we finished these two spots for the swiss bank Coop. They are a follow up to the older Coop Evolution spot which you can watch here. This time I created almost all of the environments in Softimage. All the stones, plants and reefs you see are made of folded banknotes, just like the animals. And almost everything was created and deformed procedurally through ICE. So theoretically it would have been possible to create a much denser environment. But due to the noisy texture of the banknotes it was difficult to find the right balance in detail for each shot. The pictures got uneasy pretty fast and so we tried to keep most of the shots rather simple in terms of geometric detail.
I also animated some of the camera movements and was responsible for lighting & rendering of almost half of the shots. I hope you like the result!

COOP Underwater world 40 sec


COOP Underwater world 25 sec

Lamborghini Aventador

Our newest spot: another VFX-heavy, 3-minute movie for the new Lamborghini Aventador. Me and another artist did all the sequences with stones crashing out of the ground. Although the timespan was very short I really enjoyed working on this, since it was my first bigger spot done with softimage and a lot of ICE. Hopefully I can post a making of soon. Enjoy!

MM_Group Plugin

MM_Group

MM_Group is a simple script to quickly group several objects under one null. The null will be at the COG of all selected objects and in the same hirarchy as the first selected object.

Installation:

Put the script into Application\plugins of your user or workgroup folder. Hit “Update All” in the plugin manager or restart softimage. The script register a custom script command called MM_Group2 which you can bind to any key you like (I prefer using alt-g).

Download MM_Group

Volkswagen Think Blue

Here is our latest production from Sehsucht. I helped only very little in the end when time was running low . But I really love the result, so i thought I post it nevertheless. 

MM_Matte_Pass_Plugin

MM_Matte_Pass

This script will create all your necessary mattes at once, based on your selection.

There are many ways to create mattes for compositing. One possibilty would be to create several passes for each matte. Another one is to use shaders like this or mental rays object label channel, which randomly assign colors to each object. MM_Matte_Pass has several advantages over those methods:

  • Unlike passes: Easy to set up. You just have to select all your objects in a specific way to create all the mattes you need with one click.
  • Unlike passes: Renders fast. The script stores all the masks in channels and names them correctly. So you only have to render one pass to spit out up to 64 mattes.
  • Unlike object labels: Full control. You can combine objects into mattes and decide for yourself which mattes you want to create.
  • Unlike object labels: Since all the mattes are white and fully anti aliased, no problems can occur with overlapping objects.

Usage:

MM_Matte_Pass registers three commands.

Firste create the pass by simply selecting the objects you want to create mattes for, and go to Render -> Pass -> Edit -> New Pass -> MM_Matte_Pass.

The script will create matte channels based on your selection following those rules:

  • Individually selected objects will become different mattes.
  • Branch selections will become one matte.
  • Selecting Nulls or Models will create a matte for all visible objects in the hirarchy.
  • If you need to combine multiple objects from different hirarchies into one matte, you can create groups in advance and select those.

MM Matte Pass select

MM Matte Pass resulting channels

MM_Matte_Pass Result

The script also registers two more commands under Render -> Pass -> Edit. To keep your scene clean Clear_MM_Matte_Pass will delete not only the pass, but also all associated channels and materials.

MM_Matte_Pass_Regenerate is simply a combination of the commands above. If you need more mattes, you don’t have to create a second pass. Just repeat the selection and hit Regenerate. The command simply removes the old pass and creates a new one based on your selection.

Installation:

Put the script into Application\plugins of your user or workgroup folder. Hit “Update All” in the plugin manager or restart softimage.

Download MM_Matte_Pass

If you find any bugs or problems with those commands, please let me know. And of course: use them at your own risk ;)

MM_Depth_Pass Plugin

MM Depth Pass

MM_Depth_Pass creates a Depth Pass that can be used to create Depth of Field effects in compositing. The main advantage of this script is that if gives precise control over the depth range. Everybody who ever tried to create a proper depth pass with the build-in preset pass knows that it’s crap, and very hard to control. The other option would be mental rays depth channel. The main problem with the channel comes from the fact that it calculates the depth range for each frame, based on the scene objects and independently from their distance to the camera. See the pictures below:

Mental Ray Channel close Mental Ray Channel far

This results in a depth pass with a permanently animated focal point. Sometimes that’s what you want, but most of times it’s not.

Usage:

Simply select your camera and go to Render -> Pass -> Edit -> New Pass -> MM_Depth_Pass.

The script tries to recognize the closest and most distant object, and usually gives you a good starting point. A Spot light called “Depth Controller” is created an linked to the camera. Now simply press ‘b’ to interactively control your depth range.

MM Depth Pass 1 MM Depth Pass 2 MM Depth Pass 3

Installation:

Simply put the script into Application\plugins of your user or workgroup folder. Hit “Update All” in the plugin manager or restart softimage.

Download MM_Depth_Pass

Return top