Deex Render Tool is a small tool that I created to accelerate and simplify the management of the establishment of a scene rendering.
I’m not programmer. I make this tool during my free time at night. If you see bugs, lines of programming (in Python) poorly written, please let me know in order to improve the script.
- Sunday 29 March: v0.78. Bug Fix when you save your XML.
- Friday 20 March: v0.75. Bug Fix when you delete pass of Mia_material. Adding the function of creating your own pass, all work with the XML ! =). v0.77 : bugfix, optimization of the code. Now you can see what are pass in your preset. Add shelve.
- Sunday 8 March: v0.70. Bug fix when using references. Optimization of the code (you can rename your sets, shader Lineair as you want), adding 23 pass for mia_material_x and mia_material_x_passes.
- Friday 20 February: v0.69. Fixed bug on custom pass + labelID
- Sunday 15 February: v0.68. Added SSS Back pass, SSS Front pass and Mid SSS pass. For misss_fast_skin_maya, misss_fast_shader_x_passes and misss_fast_simple_maya shader.
- Friday, February 13 : v0.67. Added Id pass and Coverage pass.
- Thursday, February 5: v0.65. Optimization of the script. You can rename pass and shaders as you want now.
- Tuesday, February 3: v0.6. Adding custom Occlusion pass and Y deph pass.
- Monday, February 2: v0.5. First public release.
- Add other pass in the custom creator of preset pass (Y deph, etc etc …)
- Autocomp for Nuke and Shake
- Autocomp detection of special pass as occlusion, the Zdeph, etc etc …
Do not hesitate to give me ideas .
Deex Render Tool is divided into 3 parts:
- Set Overide as XSI, you can create groups of objects where you can assign their attributes.
The objects in the group will take the attribute value of « group parent ». This gives an overall view of overides and ease of navigation.
- Pass manager : Several tools in this section. The linear Worflow can set a scene in a « linear worflow » in few cliques. The pass preset allows to create a preset for Pass saved in an XML and then apply it on your scene.
- AutoComp: This tool allows you to create a « compositing file » automatically based passes configured in your scene.
Be careful, to this version (v0.5), this only works for additives pass (diffuse, specular, reflection, irradiance, etc etc …). In future releases, special pass will be supported (occlusion, Zdeph, Id, etc etc …). Autocomp supports passContributionMaps.
Important: only works with Maya 2009. Only « set overide » works with Maya 2008.
Copy all the files from the zip in your mel script. Usually C: \ Documents and Settings \ Administrator \ My Documents \ maya \ 2009 (or 2009-x64) \ scripts \ for Windows.
If you want put the script in a custom path, open your maya.env and write :
PYTHONPATH = C:/what/you/want
To check your path, in the script editor in Python mode :
for path in sys.path:
To start Deex Render Tool, go to the script editor in Python mode and type:
What is an attribute overide?
The problem with Maya is that we have no overview, no organization when we have several objects that have many attributes overides.
How does the Set Overide work ? To do this, I will implement a fairly simple example.
What we want :
- a lot of lights with intensity 2 (overide) and the « use raytrace shadows » enabled.
- Have a set of objects that hide objects but we see objects in reflection, refraction, etc etc, so we will overide the « primary visibility » attribute.
First, create a new renderLayer (you can not make overide attributes on the default layers).
Once your renderLayer created, if you already have the Deex Render Tool open, click on Up (green) to refresh. Then choose your new Layer.
We’ll start with our lights. Create a set / group by clicking on « Create New Set ». Call the set: « LightIntensity.
Then we will put the lights you want overide. Here, we want overide intensity of a lamp, and the « use ray trace shadows ».
When you select the transform of a lamp in Maya, Maya shows the shape of the lamp.
So as you can see, the intensity of a lamp is in the shape.
So, we must select the shape of the lamp because that is where there is the attribute intensity. Be very careful between the shape of an object and transform.
Select the shapes of all your lights, and select your set :
Click on: Add selected object to Set.
Now attach the attributes you want overide. To do this, select your set « LightIntensity.
Click on: Add Attr to Set.
We want overide intensity and use raytrace shadows. So select these attributes in the DeexAttrChoose (remember these are the attributes of shapes).
And click on : Add Attribut.
Select your set « LightIntensity » and click « Refresh Attribute List » on the right.
You see your 2 attributes appear.
Write 2 in intensity values, and check Use ray trace shadows.
Any lights that are in the set have their attribute LightIntensity on 2 and use ray trace shadows enabled !
Now we want for example, create a set that hides our objects, but seen in reflection, refraction, etc etc… To do this, as you know, just uncheck the primary visibility attribute.
Same job as lamps. If you understand, this should not be very hard.
You create a new Set. You put the items you want. You make the primary visibility attribute, and you uncheck it !
What do the Linear workflow tool? The linear Worflow connects a mia_exposure_photographic or mia_exposure_simple on your camera. Ensuite, il baisse le diffuse de vos shader en les divisant par 2.2, ou place un gamma correcte dans le diffuse si quelques chose y est connecté. It divides the diffuse of your shader by 2.2 or inserts a node « gamme correct » in diffuse if something is connected..
The linear workflow tool is very easy to use.
The DeexLinearCamChoose has 2 functions:
- It update the camera (look if a mia_exposure_photographic or mia_exposure_simple is already connected)
- It update shaders (changes their diffuse)
Do not rename the shaders modifiers containing the word « Deex ». In fact, if you want to go back, simply click Delete. The script uses the file name for filter.
The pass allows you to create preset in a .xml file with predefined pass, to use in the scene.
First, choose the layer in which you want to put your pass.
By default, a preset « basic » is present. It includes pass: diffuse, indirect, reflection, refraction and specular. To apply, click : Apply this preset.
Passes will be created in rendering options.
If you want to create another preset pass, click on: Create new preset in the XML.
Check the pass you want. Be very careful, some pass are not supported by the Mentalray shaders.
mia_material_x_passes: Beauty, Diffuse, Irradiance Direct, Indirect, Reflection, Refraction, Specular, translucent
mi_metallic_paint_x_passes: Ambient Material Color, Beauty, Diffuse, Irradiance Direct, Indirect, Reflection, Specular
misss_fast_shader_x_passes: Beauty, Diffuse, Direct Irradiance, Specular.
The pass « CustomShadows » is a pass that work with all shaders. For this, you should install the package shader_p found here: click
Applying this pass, Deex Render Tool create a WriteToColorBuffers node for each shader in your scene and automatically connect.
It will connects for each WriteToColorBuffer node the p_shadows shader.
Result : whatever shader you used (even those who do not work with « defaut shadows pass »), a shadows pass will be rendered !
For the moment, i created just this « customPass ». In the future, I think add other pass. If you want some special, please tell me !
I think this tool is very simple.
DeexPresetPass.xml file is in the folder where there is your script.
When you apply a preset, the script creates the pass that you predefined in the XML, connected to a set (to better navigate), and applies the set to your renderLayer =).
The autoComp can generate a compositing save with your pass automatically composite.
Currently, with version v0.5, this only works with Digital Fusion and additives pass (diffuse, reflection, specular, etc etc …).
AutoComp supports passContributionMap!
It is very simple, there is one button =).
To make a very simple example : do a right click on your renderLayer and create a passContributionMap. As a reminder, a passContributionMap can separate objects at the end of rendering.
Put him the object you want.
Apply the preset « basic » on your renderLayer. Apply him a second time preset « basic » on the renderLayer. By against, go to the rendering options and apply the second preset (set rendering) to your contributionMap.
If you do not know how, I invite you to see this tutorial: pass in Maya 2009 (in french).
Set your scene rendering. For a contributionMap, I advise you to put an image format that supports alpha (tga, tiff, etc etc ….).
Render your scene.
Once the rendering finished, click « AutoComp.
A save for Fusion will be generated. Open it with Fusion and your pass will be composite!
If you encounter any bugs, if you have any requests for additional functions, or any other comment, thank you for telling me.
You can save this article in Pdf file. To do this, click: PDF version in the top right.
Le blog de Damien BATAILLE