// Ribbon tool – Python by Ignacio Zorrilla for Autodesk Maya
// version 1.04
// Sept 19, 2023
// Ignacio Zorrilla
Copyright(C) 2023 Ignacio Zorrilla. All Rights Reserved
Fixes and Updates:
- Removed Pymel to make fully compatible between python 2 and python 3
- cleaned unnecesary code lines
- errors on maya version 2020.4 fixed
This python tool for Maya allows the user to create a Ribbon on any given Nurbs Curve with the ability to customize:
– Number of Controllers
– Naming Convection
– Number of Joints
– Controller size, shape and color
– Add deformers
– Parent under Hierarchy
– Attach Ribbon to both Ends
The ribbon is game Engine ready. In order to export to a game Engine:
1. Bake Animation
2. Delete the constraints of every bind Joint
3. Delete The “Extras” Group (optional)
4. Delete the controllers (optional)
5. Export to game Engine
“Ribbon_Nacho” in python 3 is used for maya version using python 3. Compatible with Maya 2020 and newer versions
1) Copy the “Ribbon_Nacho” folder inside your python Version to your Maya scripts directory. On Windows that is Documents/maya/20xx/scripts/
2) Open Maya. In the Script Editor (Python), past the following code:
from Ribbon_Nacho import Ribbon_NachoUI
3) Hit execute (or Ctrl Enter)
Naming Convenction Tab:
This tab will allow the user to customize the naming of every object and item in the rig. These include: Joints, Controllers, Locators and Groups.
Ribbon Creation Tab:
It is the main section of the tool, from where you can customize your ribbon to your liking. Further down I will explain what every option does
– Number of Bones: It controls the amount of bind joints created. These joints will be constrained to a controller that will be again constrained to a follicle
that is connected to the NURBS Surface of the Ribbon
– Number of Controllers: It creates a given amount of Joitns and Controllers that drive the NURBS Surface of the Ribbon through a skin Cluster.
The user can adjust the weights of the NURBS Surface to customize the behaviour of the ribbon to their liking
– Controller Scale: Adjusts the scale od the Controllers created. The controllers will be NURBS Curves and the shape can be customized in the “Controller Creation” Tab
– Ribbon Width: It controls the width of the Ribbon. It won’t affect the behaviour, it is just for display purposes.
– Direction: Controls the direction of the ribbon. “X”, “Y” or “Z” will determine the forward axys of the NURBS Curve, thus the direcction of the Joitns and Controllers
– Attach Ribbon to both Ends: If this checkbox is checked, an extra Nurbs Curve will be created to drive the in between Controllers of the ribbon. Both ends of the ribbon will be the drivers of the drivers of the rest of the controllers. This is usefull for example when you want to rig a rope that is connected to both ends.
Example: a rope holding a bridge that is attached to a wood stick at both ends
– AddFK: If this checkbox is checked, it will add one extra controller to every IK controller what will have an FK Hierarchy. It gives extra moving posibilities to the rig
– Add Deformers: If this checkbox is checked, it will create the selected deformers to duplicates of the Nurbs Curve. The duplicates will be then connected to main NURBS Curve through Blendshapes
– Parent to Hierarchy: If this checkbox is checked, it will allow the user to parent the objects of the Ribbon to a an already existing Rig.
– Create Ribbon Guides: This will show the NURBS Surface before the creation of the ribbon. It will Allow the user to adjust the shape of the surface or change the direction.
Sometimes, depending on the direction of the ribbon that you selected, the Nurbs Surface will have a flip or will not know what direction is forward.
This button is a good way to test the direction before creating the ribbon
It is name dependant, so please don’t change the name of the guides before Creating the Ribbon
– Create Ribbon: Final Button. It will create the Ribbon based on all the options given above
Controller Creation Tab:
It will allow the user to customize the shape and color of the controllers. FK controllers will only work if the “AddFK” checkbox is checked
Thanks for using!
Let me know if you find any bugs and how you like the tool! I will be happy to help.