Facebook LinkedIn Discord Youtube E-mail

Scripts - bjelDark

Animation | Rigging | UE | Unity | Scripts | Photography | MISC

Category selection

MAYA SCRIPTS

Scroll down to get free Maya scripts [or click arrows]

Python Vertex Follows Object [click here to watch quick demo]

There are 2 versions of script, for Maya up to 2024, and for Maya 2025. Choose correct script (script for Maya 2025 is in 'scripts_2025' folder).

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Copy icon to Maya's default icons folder: Windows=> \Users\username\Documents\maya\version\prefs\icons\
Restart Maya ( or run "rehash" command ).

Run script by typing following command [or create shelf button from it] in Python interpreter, not MEL:

from vertex_follows_object import VertexFollowsObjectUI; VertexFollowsObjectUI.show_dialog()

Script creates connections, using matrix nodes, between selected vertex (CV from curve, or vertex from mesh) and selected object - vertex will follow object.It can be used for showing where something is aiming (Pole Vectors, eye controls, etc.). Nice effect is when this connection is used in combination with aiming whole control/mesh, that vertex is part of, to object it's following (via aim constraints, or other means).

* * * Dependency: PyMel * * *

Sign in to see download link.

Attribute Manager

Quickly manage attributes on selection, or add custom attributes.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_attributeManager

For managing attributes:
- Select object (or several), choose what to do, and press "EXECUTE OPERATIONS".

For adding new attributes:
- Enter name for attribute (required). Optionally, add short name.
- Choose attribute type (push "?" for help on various types).
- Select and fill available fields (depends on type of attribute).
- Click "ADD ATTRIBUTE" button.

Sign in to see download link.

Quad Checker

Check mesh for triangles and n-gons with more than 4 sides.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_quadChecker

Select your mesh, execute script; choose whether to check for triangles, or n-gons with more than 4 sides. Script will inform you if your mesh is ok, or will select non-quads, and give you total count of them.

Sign in to see download link.

Mesh Height

Measure height of selected mesh.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_meshHeight

Select mesh. Choose whether to calculate height from ground level or from lowest point (vertex) on selected mesh. Choose unit of measurement.

Click "CALCULATE HEIGHT".

Sign in to see download link.

Straighten Line

Straighten up vertices along the line, defined by two selected vertices.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_straightenLine

Select vertex for start of line, then select vertex for end of line, then select all misaligned vertices in between. Execute.
If "Automatically straighten selection" is on, that's it.
If it's off, then scale down selection of vertices along Y and Z axes, until you get straight line.

Sign in to see download link.

Align to Curve

Align selected vertices or CV's to curve.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_alignToCurve

Select curve and click "Add" (or type exact name of curve)

Choose type of vertex distribution:
  - Linear will evenly space them along curve
  - Flat will favour start and end
  - Rest is obvious

Select vertices you want to align to selected curve (order of vertex selection matters!) and click "ALIGN TO CURVE".
If "Delete curve" is on, curve will be automatically deleted after execution.

Sign in to see download link.

Override Color

Change color of shape node.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_overrideColor

Select node (any object with shape(s)), or several nodes, execute script; choose color, click "CHANGE COLOR"; all shapes of all selected nodes will change their drawing override color to selected color.

Sign in to see download link.

Snap to Vertex

Snap joint or locator to selected vertex.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_snapToVertex

Select vertex (or vertices). Run script. Choose what to do:

"Snap joint(s)" button:
It will create joint(s), and if "Offset groups" checkBox is on, it will create SDK and GRP groups above it (them), and snap GRP group (offset group) to each selected vertex, while keeping joint(s) zeroed out. If checkBox is off, it will snap joint directly to each selected vertex.

OR :

"Snap locator(s)" button:
It will create locator, and snap it to each selected vertex. If "Zero-out locator(s)" checkBox is on, locator(s) transforms will be zeroed out. If it's off, transforms will keep their world coordinates.

PointOnPoly constraint option - when checked, created joint (locator) will be constrained to selected vertex, and follow it (can be used for baking animation from cloth simulation to joints, or similar).

Sign in to see download link.

Control Shapes

Create various shapes ( can use them as rig controls ).

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Copy "bD_controlShapes" folder to Maya's default icons folder [ Windows=> \Users\username\Documents\maya\version\prefs\icons ]
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_controlShapes

Check "Use override color" and choose color of newly created shape (optional).
Set scale for control shape.
Choose desired shape and click "CREATE CONTROL SHAPE" button .

Sign in to see download link.

Shape to Joint

Parent shape node of selected object to the selected joint, so you could select and transform joint by selecting that shape.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_shapeToJoint

Select object that has shape underneath (almost any object in Maya), then select joint; execute script. Shape(s) will be parented under joint, and objects's transform node will be deleted from scene. Now, by clicking on shape, you actually select joint itself.

Sign in to see download link.

Blend Transform Attributes

Connect transforms (translate, rotate, scale) of one node to two other nodes, and control their blending via another attribute ("control attribute").

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_blendAttributes

Connect transforms (translate, rotate, scale) of one node to two other nodes, and control their blending via another attribute ("control attribute").

* * * Example * * *
You have ik and fk joints chains, and chain with skin attached to it (skinChain). You can control skinChain transforms via blending attribute on, say, root_control (root_control.ik_fk_blend). In this case, ik is first driver, fk is second driver, skinChain is driven Object, and root_control.ik_fk_blend is control attribute. root_control.ik_fk_blend >> if it's 0, skinChain will follow ik transforms; if it's 1, it will follow fk transforms (or something in between, if it's float attribute).

Sign in to see download link.

Connect Transform Attributes

Connect transforms (translate, rotate, scale) of two nodes.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_connectAttributes

Select two nodes, first driver, then driven (click "Refresh" button, just to confirm your selection - left field is driver, right field is driven), then check what attributes you want to connect, and click "Connect" button.

Sign in to see download link.

Rotation Connector

Connect (X, Y or Z) rotation of 2nd object to the (X, Y or Z) rotation of 1st object selected.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_rotationConnector

Select two objects - first driver, then driven. Choose rotations to connect.

Sign in to see download link.

Rotate Order

Set rotate order for multiple selected nodes at the same time.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_rotateOrder

Select nodes, and choose rotate order you want.

Sign in to see download link.

Offset Groups above Control

Create two offset groups above control.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_offsetGroups

Create control (name it, so you don't have to do renaming later, three times - for control, and two newly created groups), then select joint (or any other node), and execute script. Two groups are created above control (_SDK and _GRP), and named accordingly. Upmost group (_GRP) will be snapped to selected joint's position and will get orientation values from it. Second group (_SDK - meant to hold driven keys (hence the name), or similar, if needed) and control itself will both be zeroed out.

Sign in to see download link.

Root-Parent Nodes

Parent root-parent of node selected first, to the second node, then it's root-parent to the third node, etc... Good for parenting controls that have buffers, SDK, or some other groups above them (eg, like parenting finger-knuckle controls to each other).

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_rootParent

Select nodes - first child (node that should be lowest in new hierarchy), then parent, then parent, in that order, 'till the upmost control in hierarchy, then execute script...

* * * EXAMPLE * * *

If you select ctrl_03, then ctrl_02, then ctrl_01 from left, and execute script, new hierarchy will look like right one :

hierarchy_01 hierarchy_02

Sign in to see download link.

Clamp Keys

Clamp, to the clamp value, keys for selected attribute that are greater (or less) than target value. Also, remove flat keys for selected attribute.

Copy script file to Maya's default script folder: Windows=> \Users\username\Documents\maya\version\scripts\
Restart Maya ( or run "rehash" command ).

Run script by typing : bD_clampKey

Select one attribute in Channel Box and click "Set attribute", set Time Range (it will default to Time Slider's range at the moment of script's execution, but can be set to any range), set "Target Value", set "Clamp to" value.
Choose whether to clamp values that are greater or those that are less than entered "Target Value".
If "Remove flat keys" is checked, all flat keys on selected attribute will be deleted.
* Flat keys : if 3 successive keys have same value, middle one is redundant (it has no influence on animation), and is called flat.

* * * EXAMPLE * * *

If set to "greater than", all key values on selected attribute that are greater than entered "Target Value" will be set to "Clamp to" value (and vice versa, if set to "less than").

Sign in to see download link.


Sign in in to make a wish.