Hi there and welcome to the Maya Learning Channel.
In this tutorial, I’ll show you how to use Maya’s Render Setup
to generate some initial renders of an entire scene at once,
then start organizing it into different renderable layers.
I'll do that using this city scene, complete with HDR skydome light and Arnold materials.
Unfortunately, the file is too big to share with you this time,
but feel free to follow along with a file of your own.
I'll be using Arnold to do all my rendering,
but Render Setup works equally well with any renderer you care to choose.
As you can see, it starts to give us a beautiful image, but it does so very slowly,
which will be a problem when testing various settings.
So my first order of business will be to speed this up as much as possible.
While Maya does feature a couple of Rendering workspaces,
I’d prefer to introduce you to the Render Setup features more slowly.
So I’ll leave it on Classic for now and instead open just the Render Setup Editor.
This is where I’ll be doing most of my work, so let’s dock it here beside the Outliner.
This will be my main source of information for both scene level settings,
as well as individual layers.
We’ll get into layers in a moment, but for now I want to focus on this Scene section.
These are all the settings that affect the scene as a whole.
By double-clicking I can open the Render Settings window,
which gives me acces to various quality settings for the Arnold render.
I can also double-click the AOVs (Arbitrary Output Overrides),
which allow me to output specific channels like diffuse or specular colors only.
Once active, I can then toggle between them in the Arnold Render View after a quick refresh.
These are useful for pinpointing certain types of problems,
or decomposing a finished beauty image for compositing.
I’ll get into this more in a later video.
Finally, I can double-click here to open the Light Editor.
This is where I can find and tweak all the lights in my scene.
Now that you know what all of these are, let me go back to the Render Settings for a moment.
As I said before, I need to get my render time down
if I’m going to be rendering over and over.
The easiest way to do that is to lower some of these quality settings.
The question is, which ones?
Rather than just lowering them at random, I’d prefer to get the most bang for my buck.
Thankfully, I don’t need to figure this out on my own.
Instead, I can use a Preset.
These are pre-optimized settings for various levels of quality,
which may be provided by lighting specialists, or even fellow artists
In this case I’ll load this premade low quality setting I made earlier,
which you can download in the description below.
As you can see, loading the Preset has changed my settings.
And sure enough, rendering is much faster than before.
Of course, if you’re an expert at this kind of thing,
feel free to add your own tweaks on top of this and save them out as a new preset.
But for this tutorial, I’m going leave things as they are.
Now, everything we’ve done so far has affected things at a scene-wide level.
But in production you’ll want a finer degree of control than that.
Ideally, I’d like to break my scene down into more manageable chunks,
such as by background characters, hero characters, or set dressings.
That way I can make tweaks to similar elements all at once,
or even render them out separately for compositing later on.
That’s what Render Layers are for.
To create a render layer, I’ll click this button up here.
Then I can use the eye icon to display it solo.
Similarly, I can also toggle whether to render the layer out separately from the main render.
using this icon.
Turning this on and then batch rendering
will output everything in this layer in its own subfolder
(currently named renderSetupLayer1).
But in order to show you how that works, first I'll need to populate this layer.
Currently the layer is empty, except for the HDR light,
which was automatically included with all lights due to this option up here.
You can turn this off if you prefer to include your lights manually, but I’m going to leave it on.
I'm going to start my setup with a Vehicle layer by adding all my cars.
But notice when I select the layer I don’t really see any options to do so.
That’s because I can't actually add them directly to the layer.
Instead, I need to right-click and create a new collection within the layer first.
“Now hold on,” you might say, “why do we need both render layers AND collections?”
To answer that, consider our cars.
Notice that they have a shiny material that reflects their surroundings.
However, if we put the cars in a layer strictly by themselves,
we wouldn’t have anything to reflect.
So we need to include all the other scene elements in order to get these reflections,
but in a way that still allows us to render out the cars by themselves.
This is the kind of thing that collections will allow us to do.
I’ll get into this a lot more in the next video on overriding attributes.
For now though, let’s call this collection “Vehicles”.
Notice that there’s a lot more going on in the Property Editor compared to before.
Now I can add an object to the collection by middle-dragging it from the Outliner.
And sure enough, it appears in the layer.
I can also add selected objects using the Add button.
However, adding objects one at a time like this is laborious and imprecise.
What if our scene had a traffic jam with hundreds of cars?
Not to mention that if any of these names changed, I’d have to re-add them all over again.
Thankfully, there's a better way.
First, notice that that my two cars are contained within the "cars" namespace.
I can use that to my advantage with a dynamic expression.
So up here I’m going to write “|cars:*”.
The "|" and ":" indicate that I want to include the namespace "cars".
while the * indicates that I want everything within that namespace.
Once it's done querying,
you'll see that it picked up a third car that I completely forgot about!
Clicking the View All button confirms the absolute contents of the collection.
And even if I remove my static entries from earlier...
...the dynamic expression still includes them in the collection!
This proves how much more robust dynamic expressions are over static entries.
And now if I batch render with the collection's Batch icon turned on...
...I get a subfolder of images with just my vehicles, including both Beauty and AOVs.
However, notice that while my cars are appearing,
my buses are getting left out of the renders. I’ll need to include them as well.
If I look to the Outliner again, I can see that the buses are actually contained in a nested
namespace within the "cars" namespace.
To include nested namespaces, all I need to do is add another ":" to my expression.
And just like that, the buses appear.
And if I batch render again...
...then this time the buses are included.
However, as noted earlier, my vehicles still don’t have any reflections yet.
In the next video, I’ll show you how to use multiple collections within a single layer
to get these reflections back, while still masking the reflected objects out of the render.