djPFXUVs with history
A few people have asked me if there is a way to use my uv layout script, djPFXUVs, on a paint FX mesh that is animating. The answer is "yes". Keep reading if you are interested in knowing how...
A few people have asked me if there is a way to use my uv layout script, djPFXUVs, on a paint FX mesh that is animating. The answer is "yes". Keep reading if you are interested in knowing how...

This mel script creates a renderLayer that can be used to quickly render mattes for selected objects or groups of objects with the VRay for Maya renderer.
As you can see from the screen shot, djVRayCreateMatteLayer.mel looks very similar to the mentalray mattePassMaker.mel script which I wrote about in my previous post. In fact djVRayCreateMatteLayer.mel is an attempt to emulate the mentalray matte pass functionality using "VRay Render Elements".
At this point in time I am fairly new to vray and vray is relatively new to maya so djVRayCreateMatteLayer.mel should be viewed as a work-in-progress, but one you may find useful if you ever need to create mattes using vray. (more...)

You can use this script to create black and white matte renders using mentalray's pass system which means that it takes no longer to render 100 mattes than it does to render one. And since the script makes it so easy to set up these passes you can render a separate matte for every object in your scene, if thats what you want, or for combinations of objects that you select or based on the materials that are assigned. (more...)
Here's a simple method you can use to add a bump map to the mi_car_paint_phen_x material without using custom shaders or complicated shading networks.

If the emails I get are any indication, then I'd say there is a fair amount of confusion around the subject of linear workflow in mentalray for maya. And over the past few years in my search for answers I have contributed my share of half truths and misinformation to the discussion. So, in the next few paragraphs I'm going to state simply and without detailed explanation how to achieve a linear workflow in mentalray for maya by doing two things. Simple! (more...)
If you don't have access to a render manager, or even if you do, you might want to render from the command line one frame at a time. There are a few reasons why you may want to do this. Sometimes maya does not get to the end of a long batch render due to memory errors. You set off a 100 batch and it dies after frame 27 maybe. Another reason is that sometimes your animation does not seem to work in a batch render. A single frame renders correctly, but when you batch it some things don't update correctly. (more...)
I was asked to write a simple getting started guide for using Michael Comet's poseDeformer, so here it is. (more...)
![]()
![]()
![]()
These 3 custom mentalray shaders are part of an extensive shader collection written by Pavel Ledin (aka puppet). In this post I will show how you can use a geometry shader, p_shader_replacer, to assign the p_HairTK shader to maya fur when using mentalray with fur mode set to hair primitives. Doing this gives you much more control over the look of the fur and, depending on how you use it, may dramatically improve yoru render times.
Most of the time its ok to mix maya base shaders with mentalray shaders in the same shader network but sometimes things don't work as you would hope. An example of this is when you layer something like a blinn and a mia_material_x using mib_color_mix. At first glance the render looks correct, but you will find the blinn is missing in the alpha channel. A quick fix is p_color_plus_alpha.
![]()
You can use an aim constraint to make one object face another, but what if you also want that object to only pivot around a single axis. An example of when you might want this behavior is a candle flame made of a simple texture mapped plane. To create the illusion of a 3d flame you need it to face the camera, but you only want it to rotate around its y-axis so that the flame stays vertical even if the camera moves up higher than the candle.
To do this you could simply make an aim constraint and select only the y-axis to constrain, but you would discover that it doesnt work they way you might expect.