November Tool: Center of Mass

Apologies on being a couple days late on this one.

This months tool is inspired by a workflow laid out by Richard Lico in this video:

Center of mass script from Richard Lico on Vimeo.

His idea is really clever and the workflow is great for hunting down elusive physicality issues that come from having your root not be necessarily where the character’s center of gravity is all the time.

The script is an attempt to automate this set-up in a generic way that should hopefully work with most characters. I’ve tested it on a handful of free rigs, but every rig is different and so it’s very probable that it wont work perfectly for everyone. Ideally the way it works is you select the root control of your puppet, and then run the tool either to create a locator which is constrained to the center of mass, or to transfer animation from the root to a center of mass locator. I wanted it to be as streamlined as possible.

It’s also using a very rough approximation to calculate the relative masses. I think I’ll try some different approaches in the future, but for the time being, it simply looks for visible geometry that is being driven by the root, and then tries to discover a skinCluster in the history of that geometry. It uses the skinCluster weights to get the surface area of the mesh that is being affected by each joint, and then uses those surface area values to weight a point constraint. So for simple characters this seems to work pretty well, but for example if your character has a lot of hair geometry, there will be a lot more relative surface area on the head, and so it will be assumed to be more massive. If you hide geo that you don’t want included in the calculation, that should solve that problem.

It also may have trouble finding the appropriate geometry to use. It will have the best success if your rig scene is referenced, so consider referencing your rig if that is a problem.

Anyway, I consider this to be pretty beta since there’s a lot of different rigs out there, give it a try and let me know if you get any useful sounding errors, or especially if you can share a scene that has issues.

Special thanks to Richard Lico, wherever you are! And to my Patreon supporters!

Center Of Mass
Center Of Mass
Version: 1
17.9 KiB

Also note that this requires the latest ml_utilities script:

Ml Utilities
Ml Utilities
Version: 28
74.1 KiB


Share Button
This entry was posted in Animation, Python, Tools. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *