MT Chart Designer Version


I have made some modification in this script. A custom frame range number is added, and max-amount for datapoints are now driven by upLimit value.

Stay up-to-date!

Some fun script would be uploaded within a few days. Now I’m just dealing with PHP.

Download MT Chart Designer Version

Comprehensive Introduction to Rigging in Maya

In this video I will talk about the most primary settings of rigging in Maya. After learning what is joint and how it work, we will move into rigging a cubic model, and complete our operation full in a step-by-step fashion.

Download the finished project:

Creating and Rendering Charts in Maya

In this tutorial I will go through “how to design and create Charts in Maya”, I use a script to accomplish the goal, and after that a survey is done to get all rendering necessities for a nice look. This tutorial is not a just-finish-video but a true-explanation-video that gives you enough information to build the same chart. However I presume that you know Maya basics, still if not,, wouldn’t bring you much difficulty. One last point to add would be the quality of the video which is aimed toward making a commercial-friendly appearance.

MT Chart Designer Version     مكاني براي آپلود رايگان فایل های شما

Download MT Chart Designer Version
MT Chart Design Version

or you can…

Download MT Chart Designer Version
MT Chart Design Version

Download MT Chart Designer Version
MT Chart Design Version

Animating and Designing Charts for various puposes now is possible
with one click and several simple settings. You may
render them with high quality shading to boost the
beautiness of your final production.

Chart Type:
Column would make for each data point a column, and cube
would do so with cube instead of the column. A curve type would be enabled
in future, however if I receive comments requesting this to make
myself sure that updates are welcomed.

Name: A namefield is used to allow users to keep a name for all of
their created nodes.

Frame Range: Since one of the principal usage of this script is to make
the Datas grow over time,  frame-limits are presented for the user to choose

Number Of Data Points are the number of statical columns/cubes you need.

Up Limit: As the name is explanatory, it is used for vertical limit of the chart.

Unit: After how many value a number must be used for vertical range. Try to use
numbers greater than 10. Still all numbers are possible.

Offset: Next to vertical bar, numbers are used with markers, this number set the space
between numbers and the vertical bar.

Data Points: Entering a number for your respective data point.The value entered must
be less than Up Limit number, otherwise process might malfunction.
For each data point a name field is used for making the appropriate
textual representation.

Under the Structure Tab there are several options:

Range Value Text Scale: Scale of the number next to the vertical bars.
Spacing: Space between various data points, changing this option affects on the whole chart. Use this option to make your chart desirable.
Base Final Offset: The space from the last data point to the end of base platform.

Range Bar Thickness: The thickness of the vertical bar.

Base Platform Thickness: The thickness for the base platform.

Data Point Scale: Scale for the columns and Cubes.

Data Text Scale: Scale of the texts below each individual data point, retrieved from UI.

Data Text Z Offset: The Z translation of each created Data Text.

MT CVBased Duplication/Constrained

This script is useful for all people in Maya, since you can use it for clusters and
deformers to plants and grass distribution and sometimes
even for emitter population.


-You must first select your curve and then your node/object.
-There is an “Instance” check box, if checked the distributed
objects would only be an instance of the original object. A great time saver.
-In this UI select “Get Selection” to insert them into UI’s relevant position.
-There are randomization options that you can use them to make your distribution look much more
-In the bottom you have a Twist control where you have control over your rotational properties.

Twist has two methods:

Increment Based(recommended): It uses a value (from the slider in the UI) to add to each instance up to the last
360Based: It uses the number of distributed nodes, and for instance if you have ten objects distributed,
it would divide 360 by ten and uses the result which is 36 to increment each time. This method
is recommended in high quantity distributions.

You can Download it from here:

MT CVBased Duplication/Constraint Google Codes     مكاني براي آپلود رايگان فایل های شما

MT Gamma Correct Node Connection

With this script you select your texture and then material (no matter whether it is already connected or not) and then execure the script to add a gamma correct node added between your texture and materia. No matter how expensive is your shader, so safe is the material that it would add a gamma node without any damage to your existing connections.
Risk at your own use :D
no Use at your own risk.

It is very useful for the project that you have many built networks, and you find the need of Gamma Node to go through all the existing connection, so it would be too hard to add a connection between many already made connections.
Look! first select the texture and then the material, ignore if there is any connection made to color/diffuse channel. all Maya materials as well as mia_material are supported.

(it is a personal folder on, therefore be sure there is no virus – still if you assume it as a risk, download it from website.)

MT Shading Network Generator

A good script to make shading networks easily; of course, ramp-based networks which are so popular, specially for making glass, chrome, velvet and etc.

MT Shading Newtwork Generator
Written by Mostafa Talebi

Build Ramp-Based Networks.
Image and video hosting by TinyPic

With this script users can make networks of related ramps and a base shader, and if checked, a dirt material.
This script has three major parts. Blinn base settings, ramp settings and dirt material override.
-Core Name
If you type the name here, for instance “wooden_”, it would go into all the maps names.
As a result, you have for instance “wooden_specularMap” which is a great time-saver.

-Base Material:
In this part primary channels of the material are placed. There is an “IOR” checkbox which
allows the user to set the “Index of Reflections”.

-Ramp Setting:
The main goal of this script is to produce ramp-based network, therefore if you check-on
one of those checkboxes, the respective ramp setting would turn on, while the primary channel related
to it greys out.

-Ramp Setting General Layout:
For each ramp setting there is a “Use Sampler Info” checkbox, turning it on would make that ramp come with
a sampler info node. If all ramped-channels have this box on, one sampler info would be used in common. there
will not be a chaos of sampler info nodes.
A slider used to query how many ramp instant colors are to be made. A ramp basically has three colors. You can tweak
it to five colors. There are several color-presets which are handsome to use, if appropriate.
User must apply the setting for it to pop up. This makes a ramp ready to be published.

-Dirt Material
Unfortunately I have not written this part to be made within the UI. You can make a dirt material, select it and then hit
the button and input its name into the field. Eventually if you hit “produce network” the network, with a layeredShader would
be made and all connections are linked, respectively.

This script would update to more richer tools that if you FEED THE RSS, you can be updated by updates.
How to install it?
just copy the script content onto your shelf. and also copy the bitmap into your bitmap folder.
usually it is : yourDocument/maya/version/perfs/icons/…


MT Shading Network Generator_v1.rar


I hope it would be a working script for your projects.

From IRAN.

MT Shading Newtwork Generator
Written by Mostafa Talebi

Tips: Use an if-statement before UI creation

Hello everybody. Today I’m going you to share with you a tips about writing UI in MEL.


When you write an UI in MEL, and let’s say, you add a button to the window, and eventually execute it, your UI, if there be no syntactical mistake, will pop up. Then you need to add another button, regularly you close the window and add your textual line and rerun the script.

If you don’t close your window, and apply changes and call your script for an execution, you will see an error which reads:

// Error: line 1: Object’s name ‘testWindow’ is not unique. //

This error is very common that sometime it might transform your health into a headache.

The most common interlude of this error is in non-displayed windows. What do I mean?

If you execute the following code, your window will not popup, while the declaration of the window has happened, and only the button creation has encountered a problem, a syntactical problem.Try this code:


window -t “This is a test window” testWindow;

button testButton -w 100; // Note that this line is syntactically wrong, and errs.

showWindow mm;


In our button line, the second line is meant, we have made a wrong syntax which is unknown to Maya; therefore, Maya doesn’t understand it and breaks the execution process, which will result in no displaying of the UI.

But Maya has made a space in his memory allocation, and registered there a window with the node’s name “testWindow which will collide with recreation of the same window having the same name applied, if you change the name of your window everything calms down and your process comes routine, but is it really possible each time you change your window node’s name?

If you tell Maya if such name already exists, please delete, and the naturally Maya if the case be true will do that.


if (`window -exists testWindow`)


deleteUI testWindow;



Just place this script before any window declaration in any script, and then change the name in conditional statement to your window’s name.

our script will look like this:

if (`window -exists testWindow`)


deleteUI testWindow;


window -t “This is a test window” testWindow;

button testButton -w 100; // Note that this line is syntactically wrong, and errs.

showWindow testWindow;




I hope this tip come to be useful.

The Assignment Statement and Variable

The Assignment Statement

An assignment statement is most important element is the singular equal sign = . After evaluation of an assignment statement, the variable on the left side of the equal sign is set to the value on the right side. Assignment is not limited to being used during declaration. In fact, we are able to set the value of a variable at anytime after declaration and can do so repeatedly. Whenever possible, reuse variables to save on memory usage, seen in Example 4.10.

Example 4.10: Re-declaring a variable value.

    float $tempFloat = 3.48;
    $tempFloat = 3.21212;

Note that when we reassign a new value to the variable $tempFloat, we do not re-declare its type as a float.

The humble assignment statement is the basis for all data gathering within MEL. In Chapter 3, MEL Basics, we learned that most commands contain an aspect called a return value . By putting a MEL command on the right side of the = in an assignment statement, we can capture that return value and assign it to a variable. In order to capture the return value, we enclose the command within single left-hand quotes (`). In Example 4.11, we capture the value of the translate X value of an object called ball, and store that value in a float variable called $translateX.

Example 4.11: Capturing the value returned by the getAttr statement.

    float $translateX = `getAttr ball.translateX` ;

When we use an assignment statement to capture the return value of a command, it is important to assign it to a variable that can actually hold that data. For many beginning scripters, the most frustrating aspect of this comes with array variables when they want to catch only one item. A perfect example is building a selection list when we have only one object selected, seen in Example 4.12.

Example 4.12: Attempting to assign captured data to the wrong type of variable.

    string $object = `ls selected` ;
//ERROR : Cannot cast data of type string[] to string.

The command ls always returns a string array, even if that array is empty or has just one object in it. Data return types for each command can be found within the documentation for that command.



MT Parenting Facilitator

Image and video hosting by TinyPic

MT Parenting Facilitator
With this script you can do parenting (Both Constraint and regular parenting)

You have parent, zero out and unparent, so your process of controls’ placement
would be done so quicker than regular Maya process.

I have set several Constraint Options with a maintain option for you.

There is also two fields for child and parent which update in a runtime sequence.

********************************************* I N S T A L L **************************************

Copy the .mel files into your script directory(usually: user/document/maya/version/script)

Warning: If you download the entire userSetup.mel file, it will replace a userSetup.mel which is already

in that folder(script directory) which might feed some plugins; I strongly recommend open the my userSetup.mel

and copy the content, and paste them into your scriptDirectory’s userSetup.mel.

Note: When copying it, be sure to hit enter and paste them in a new line. A letter change will result in script error.

Any question or request:

Download Link:


Or you can download it from

MT Control Curves

With this plugin you can create five different types of curves:

All of these are managed so that Each created curve is grouped twice(One Offset group and then regroup to a higher group as main group)

There three field for three area of names: main name, second group name(usually for use of Set-Driven keys) and head group or sometimes called Offset-group.

Two fields, SDK and group node are entered a name, if you like you can retype any name in the field; I, only for the sake of good pace have managed predefined names.

Hope you like it, and you can have further contact by:

Image and video hosting by TinyPic–2

MT SetDrivenKey for Maya

With this script, you can very quickly set driven keys which are very awkward when doing with Maya built-in procedure.

This script has the following features:

Driver Value Field: Value for the driver’s attribute.

Driven Value Field: Value for the Driven’s attribute.

Keyable Attribute List: List the keyable attributes in two separate optionMenus.

Positive Value: Makes the values in the field positive.

Negative Value: Makes the values in the field negative.

Zero the Value: Makes the values in the field zero.

Increase and Decrease by Ten: As the name describes, it does increase and decrease proper fields by ten value.

The Way it works:

You must multi-select two objects, the first one as Driver and the Second one as Driven.

the file that you download would include two .mel files, one is the main script, and one the other would be menu script userSetup.mel, you must copy both of them into your script directory.

Warning: I personally recommend you to copy the userSetup.mel’s CONTENT instead of copying the entire file. This case is urgent if you have other settings in the script, and if you do not, you can copy the .mel file right into your folder.
Maya Menu Entry:
Image and video hosting by TinyPic

Main UI:
Image and video hosting by TinyPic

Download Link:

Or you can visit CreativeCrash website to download it there: