If you like to skip the texture file use the following flag -texture_continue
Normally, standalone versions of mental ray abort as early as possible when a texture file cannot be read, to avoid spending a lot of time on unusable images and letting the farm controller know as soon as possible. If this option is specified, mental ray will continue and use transparent black or red-and-black checkerboard defaults (depending on the shader) for missing texture files.
If you are new to Maya Composite and are looking for the Preferences files, you can find them here:
1) The "default.txproject" file which is located by default in
or within Toxik go to Edit ---> Project Preferences, under the Information Tab you will see the path and name of the file.
This file is your project preferences, so will hold for example, render settings and composition settings. You can have multiple project preferences file and therefore can easily change project without have to reset all the paths.
2) The "preferences.txuser" file which is located by default in
This file is your user preferences, so will hold for example, color palette, hotkey catalog information and bookmarks. This file is saved automatically when you change a preferences within Toxik, simply go to Edit ---> User Preferences
3) The"Hotkey Catalog.txsetup" which is located in
With Maya 2010 there is a new entry in the regular docs
User Guide > General > Python > Tips and tricks for scripters new to Python
Even not so new scripters may be interested in reading about:
Registering a Python function as a MEL procedure using: maya.mel.createMelWrapper() The above is great for using Python functions with the new "Container Rmb Menu" attribute on the container node. It also helps work around some of the more difficult callbacks that need to receive args from Maya.
Using Wing IDE with Maya Debugging Python scripts in Maya Custom UI using a Python class
In this case the API method is defined as follows:
doubleoperator() (unsigned int row, unsigned int col) const
Which is the '()' operator.
With operators the syntax for each one is different so you just have to know them. In just about all cases 'self' goes to the left of the operator but the positioning of the other arguments depends upon the operator. For example, the '+' operator takes a single argument on the right, while the '()' operator takes any number of arguments as a comma-separated list between the parentheses.
For another example we can take MVector:
We know that MVector consists of three values: x, y and z. You decide that you'd like your method to return them as the string '[ x y z ]' which means that you need to get those three individual values. In general, there are three possible ways:
1) See if they are stored in public member variables. MVector has public variables 'x', 'y' and 'z', so you can just do this:
return '[ %g %g %g ]' % (this.x, this.y, this.z)
2) See if there is an operator which will return the values. In this case that would mean looking at all of the operators which return a float or a double and then reading their descriptions to see which ones are returning the individual component values. It's generally safe to eliminate operators such as +, -, *, / since those usually try to have meanings similar to add, subtract, multiply and divide, where possible. In practice, indexing operators will almost always be either  or ().In this case we have both operator and operator(), either of which will work:
In the case of MVector, #1 is the clearest and simplest approach.
Now let's try the same thing with MMatrix:
1) MMatrix has a 'matrix' public attribute which contains the values we need. It requires a double index operator, which Python does not support. However, if you try to print out the 'matrix' member you'll get something like this:
<Swig Object of type 'double (*)' at 0x13926f0>
In other words, Python sees the 'matrix' member as a pointer to an array of four doubles. If you look at MScriptUtil.getDouble4ArrayItem() you'll see that it takes two indices, named 'r' and 'c', which sound suspiciously like 'row' and 'column'. And indeed, it works!