image image image image image

Archive for December, 2010

Look for more here:

Script for Maya, based upon Worn Edges from Neil Blevins

There is a new Help section in the script to clarify things further.

PD: And yes, switching to English only from now on. It’s too painful to have to write every single thing in two different languages, haha.

A workmate asked me how I found the angle between the vectors (which is the most important process of the cgx_wornEdges script) so that he could apply the same technique in other software. The truth is that in the Maya script I used an specific MEL function but this angle can be found using some Linear Algebra.

So I did another script that does all this mathematic for you an this is just pure Python, which means you can use it in any other soft that works with Python.


Basically, you have to call the script passing two arguments (the two vectors) and the script will return the resulting angle in degrees.

I left four lines of code that you can uncomment if you want to test how this works. Here you have those lines as well (Remember to place the .py file in your scripts folder):

Hope this will be useful.


PD: In Khan Academy you’ll find more info about the math behind this.

Un companiero del trabajo me pregunto como habia hecho para encontrar el angulo entre los vectores (que es la parte mas importante del script cgx_wornEdges) para poder aplicar el mismo proceso en otros programas. La verdad es que en el script para Maya lo hice con una funcion especifica de MEL pero ese angulo se puede descubrir usando un poco de algebra lineal.

Hice otro script que hace toda esta matematica pero esta vez es Python puro y duro por lo cual lo pueden usar en cualquier soft que les acepte Python.


Basicamente tienen que llamar al script pasandole dos argumentos (los dos vectores) y el script les va a devolver el angulo en grados.

Puse cuatro lineas de codigo que pueden “descomentar” para testear como funciona.

Espero que les sirva.


PD: En Khan Academy pueden encontrar mas data sobre la matematica detras de esto.

cgx_wornEdges script


To download:

cgx_wornEdges at Creative Crash or Here

To use it:

Place the .py file in your scripts folder, restart Maya and execute the following code from a Python tab in your Script Editor:


Paints hard edges, in a user defined threshold, using Vertex Paint. Look for the Help in the script to get a lot more info about it.

Script based upon Neil Blevins’ ( Worn Edges Using A Distorted Vertex Map and his DVD for The Gnomon Workshop.

I recommend using a Warp Node as the one from Binary Alchemy to get better results. I also used to work with the Raylength node from Binary Alchemy to do the same thing as the script but since it is raytrace based many times the rendering time needed to get noise-free renders were too high.


Use case:

This script was used by my fellow artist Adriana Nieto as a base layer to paint the Worn Edges for the soldiers in this TVC (where I worked as Lead CG artist):



Q. The script is not creating the shading network as in your tutorial.
-Make sure you have Mentalray loaded in Settings/Preferences, Plugins Manager. The script relies on Mentalray to get the vertex info out of the geometry.
Q. The script doesn’t work in my Maya version.
-I have tested and used the script in Maya versions from 2008 and up to 2014. If you’re having problems, I can help but only if you send me the error or warning you’re getting when you try to use it.


Hope you find it useful. Your feedback will be greatly appreciated.


(18-12-2010): I got more feedback than I expected and worked on the script (I didn’t expect any feedback to be honest, haha). There are a couple to do’s pending.

(19-12-2010): Added a new option that creates a Maya Set containing the vertices used by the script. This will allow you to do things like growing or shrinking the resulting vertex map using Maya’s vertex painting and selection tools. Also, cleaned up the code a little bit.

(20-12-2010): Uploaded the wrong version yesterday, sorry for that.

(19-01-2011): Fixed a bug that connected the vtxMap to an empty colorSet. Thanks Vic Fina!!

(21-10-2012): Optimized a few lines to make the script faster.

(05-11-2012): More code optimizations to make the script faster. New UI creation code added. Changed the way the UI is created so please use the new code (see above). Videotutorial added too at

Get email notifications

About me

I'm a Colombian living in Buenos Aires (Argentina) and working as a CG Generalist and Motion Graphics artist for TV shows and commercials for all around the world.
My professional goal is to be a Character Animator and to help me fulfill it I studied at Animation Mentor. (read more...)

Character Animation Reel 2014

Character Animation Reel 2014
It took a lot longer than I expected but after two broken arms, one graduation, many months of recovery and some crazy projects in between, here it is, my Character Animation reel. What a journey, and this is just the beginning!! Hope you like it 😉

Class 1 Progress Reel

Class 1 Progress Reel
So, this is my Progress Reel for Class 1 of Animation Mentor. Again, I really want to thank Don Kim for sharing all his knowledge with us. And of course, thank you classmates!! Without your comments and support this wouldn’t be half of what it is, haha Chris Granados Animation Mentor Progress Reel Class 1 […]

End of Class 1

End of Class 1
Ok, this is a sad but happy moment. I don’t think I’ve ever felt this way for school. I mean, I do want to take a break (because I had to work my ass off, haha) but I really want to keep learning from such great people (mentors and students). Last Q&A was really fun, […]
  • 1
  • 2
  • 3
  • 4