then one day you find ten years have got behind you

david | mel script,mentalray,nuke,opinions,python,rendering,vray | Wednesday, January 5th, 2011

Miss Hollywood

This time last year I started a new job at a new studio. For me, this was a big change since I had been at the previous studio (one that I helped build from almost nothing) more than 20 years.

My new job has given me the opportunity to learn several new applications and as a result I have found little time to update my blog and it has been very much neglected.

So to begin a new year of enthusiastic blogging, I've decided to write a (long, possibly boring) post about what I've been doing the last 12 months. It is just a quick rundown of changes affecting my general workflow. If you are still interested, keep reading (btw... the photo is my new puppy, Hollywood)

mentalray to VRay

At the old studio our pipeline for creating small to medium budget tvc's was built around maya , rendering with mentalray for maya then compositing in Adobe After Effects. This worked pretty well for our small team of generalists where most of the time an entire project (modelling, rigging, animating, texturing, lighting, rendering, compositing, editing) was handled by one (occasionally two) people.

One of my duties, while wearing my TD hat, was to help some of the less experienced artists with the demands of mentalray. I enjoy the lighting and rendering stage of a project and the deeply technical nature of mentalray is something that appeals to me so over the years I've gained, through experience, considerable knowledge about the inner workings of this complicated renderer.

The new studio is much bigger. They do visual effects and animation for big budget movies as well as medium to high end tvc's. Maya is used for animation (but not always), and the renderer of choice is VRay for Max. Max is lacks the functionality of Maya's render layers, so these guys developed their own in-house Render Pass Manager for 3dsmax.

Early in the year, I spent some time learning to do basic things in Max so that I could get to know vray and become familiar with getting animation out of maya and into max for rendering using point caches. Even in this very unfamiliar application it was obvious to me how much more power vray puts into the hands of the artist. The complicated technical workflows required by mentalray are almost non-existent in vray, and artists can achieve better quality renders in less time without bothering a TD as much.

Around March 2010 I began using vray for maya. As a result, I have not rendered anything in mentalray for at least 6 months (except for some fluids, since they are one of the few features vray does not yet do well).

cool things about switching to vray for maya

Number one is the fantastic support provided by the devs at Chaos Group. They release nightly builds of the beta version of the next release, so new features are added all the time. These builds are surprisingly stable and I've been using them in production. Occasionally I've asked for help via the support forums and always received it. The other week I posted a request on the wish list and they included it in a nightly build 2 days later. Need I say more?

Then there are render passes (known as render elements in vray). The simplicity with which you can break out a render into any number of elements, either as separate files or as channels in a multi-channel exr, has to be seen to be believed. The only thing I miss from mentalray's pass system is the "pass contribution map" functionality, but that is a small price to pay for something that works so well in every other way.

Motion Blur and Depth Of Field render quickly. I'm usually aiming to keep my renders at somewhere around 15 mins per frame, and obviously this varies depending on what I'm rendering. Turning on motion blur and depth of field usually only adds about 3 minutes to a 15 minute render.

Linear workflow  is  straight forward with much less confusion than mentalray.

after effects, fusion, nuke

At the old studio, everyone was responsible for compositing and often editing their own work. We never thought of it as a separate process. The divisions between lighting, rendering, post-processing and editing were completely blurred. Aftereffects is perfectly suited to this way of working but I've been using it for as long as I can remember, so this year, learning to use Fusion and Nuke was a very satisfying change. These node based compositors are not as well suited to editing as the timeline based aftereffects but they are an excellent way to handle single shots.


I should mention that the idea of treating everything as a single shot was another big change to my usual workflow. I had been used to working with what I call "monolithic" projects. My maya scene file would typically contain a camera for every shot with a master camera that was constrained to the shot cameras using the zooShots mel script. From block-out animation through to lighting and final rendering my scene file would usually hold the entire tvc. The same would apply to my aftereffects project files where I would add effects and assemble the tvc. I could work on the whole thing at once and see every shot in context. Thats what I liked about it. Everything and every change in context.

But the monolithic approach breaks down when the workload needs to be shared across team members or departments in a large studio. Its been really interesting for me to learn from my new colleagues how a pipeline can be set up to accommodate a shot based approach. Part of the learning process has been to adapt scripts written for film pipelines to work in the context of a tv commercial department.


I had been putting this off, but one of the great things about working at a large studio is being able to tap into a huge knowledge base. In the last few months of 2010 I've been bug testing a new Render Pass Manager for maya 2011, that one of the guys I work with has written. It is written in python with a pyqt user interface. It works in a similar way to the max RPM that I linked to earlier in this post. Essentially it takes maya's render settings window and render layer manager, combines them into a single elegant UI and implements a more powerful, easier to use layer override system.

I used the testing process as a stating point for learning how to write python scripts, and, with help and encouragement, I've implemented a really useful render settings preset system that lets you save to a file a snapshot of the render settings configuration for multiple renderlayers.

how these changes will affect my blog

If you got this far, then its probably obvious that I'll be writing less about mentalray and more about vray. I'm also going to add Python and Nuke to the mix.

I love writing about what I love doing. I love sharing my work. At the old studio I did most of my mel script development and mentalray research in my own time, so if I felt like sharing my work, I would share it. It's a bit of a gray area, but I'm pretty sure my boss had no issues with this. I was very open about it and he never complained.

However, now I am developing tools at work with considerable input from those I work with. I just don't think it would be right for me to share in the same way as I did before. I'm going to try and find a balance though, because I have always felt like this is not a one way street. I've gained so much from participating in forums and mailing lists where experts freely give of their experience and I want to keep contributing to the wider CG community. This blog is one of the ways I'd like to continue to do that.

Well thats it!

Thanks to everyone who has commented on the blog or emailed me personally. Your support is much appreciated. I'll attempt to blog about something more interesting in the very near future.


  1. great to see you're back David!

    i've just adopted v-ray for maya at the studio I work as well and you nailed it about artists achieving the look in less time. I always felt MR was a rabbit hole of endless optimisation

    look forward to your future posts in 2011

    brendan, fellow aussie :)

    Comment by sealz — January 6, 2011 @ 6:40 pm

  2. I'm little sad I read this blog thread. I hope in a short time, mental ray go on the top of the render engine and implementation inside maya.
    Thanks to you David

    all the best


    Comment by ytsejam — January 12, 2011 @ 8:22 am

  3. Thanks for your comments Brendan. I hope you're not being flooded.

    Dario, I did realize my post might sound a bit vray biased, but I will still keep an open mind about mentalray. For me, the switch to vray was primarily about adopting the preferred renderer where I work, but it really has been a good experience. Sometimes I do miss building the complex mentalray shader networks to achieve some special look and I'm disappointed I have not had time to evaluate the mentalcore pass system. I think that Arnold might be just around the corner too, so it could be an interesting year.

    Comment by david — January 13, 2011 @ 11:32 pm

  4. You are right David !
    Do what you like and enjoy it, everything change.

    I'll keep a fresh eye on your blog.

    Keep going and thank you again !

    Comment by David — January 21, 2011 @ 11:04 pm

  5. Hello David. I remember exactly a year ago at this time when you were helping me through-out the linear workflow process as well as other things. Just wanted to say that this sounded like a farwell to Maya MR...I will definitely be missing the great tips and resources you always provided.

    Glad to hear your having great success in what your doing and could only hope for the best!

    Thanks for all your help...

    Comment by smokedogg — March 2, 2011 @ 6:59 am

RSS feed for comments on this post.

Leave a comment

You must be logged in to post a comment.

Powered by WordPress | Based on a theme by Roy Tanck