max5- convert bone to muscle


how to use:

  1. create a bone.
  2. select the tip (the small child bone)
  3. run the script
  4. link the new point helper to one side and the original bone to another side of the skeleton.

now see how the bone scales acordingly…
you can select squash under bone options for larger effect…


cool script

have you used it to animate a skin yet?

Does it work when you mirror the “bone/muscle” over to the other side of your rig?

Where did you get the idea :wink:



Nice technique. I was working on a similar thing a few weeks back using script controllers though. Essentially does the same thing but yours is much nicer.

One thing I’ve been trying to do is use a stretchy bone / muscle for the thigh muscles (stops the mesh collapsing through the hip area). now i’ve tried using your method as well as mine but they both seem to suffer from having the bones rotate around as the leg straightens. it does so because as the look at nears vertical its up axis gets confused…

So my question I suppose is have you been using this on your rigs, and have you encountered this problem / have any work arounds.




can you use an upnode on the look at constraint and get to to use something that will prevent the flipping for instance a dummy parented/link to the femur.

If this is the upnode it will stop the flipping, make sure you use the lookat upnode control and get the axis correct

the problem you were having was good old gimble lock



thanks samhodge

yeah i’ve tried a couple of things to try and keep them oriented. Usually i create another dummy as the lookats upnode but in this case i’m having trouble figuring out where that should be… basically i have two bones as muscles near a thigh bone and the muscles need to keep relative to that. I think i just need to sit down and have a good think about it all…trying to do it whilst i do my real work as well…hehe

I’ll get it right soon.



well you were correct, the gimble issue wasn’t taken into acount.

I’ve made the scaleble bone lookat use the point helper (target) as the upnode, so now when you link the point helper to the rig and the scale bone to another part it works… I hope


Yep that works really well. Top work there. I’ve tried it out on my leg setup and so far it seems to work really nicely. A lot easier to set up that the script controller way i was attempting. Have you rigged up any characters with this technique? I’d love to see the output you’re getting from it.




I made this script after seeing the subject rise several times and I simply had to learn a bit scripting…
I’m too dip into production to start rigging now…

please send samples!

I hope I’ll have the time to build an interface for it where you can choose scale/squash.


well… no time for rigging but still:

  1. added interface.
  2. added an option to choose the type of scale.
    – you can choose between scale/squash
  3. hit the button and fly!

todo list:
add a reset scale button


well I’ve added the muscle tools…

send your rigs and comments.


Just thought i’d say that i’ve been using this in max 4.26 and seems to run fine. I might have somethng to upload and show sometime soon. It probably wont be too exciting as i’m using it on a real time model (about 3000 tri’s). Using it mainly to stop stupid deformations.



I can’t manage to have it working on max5.
Is anyone could post some screenshot of what it does exactly ?




It doesn’t work in max5, what it does:


I realy have no Idea at the moment of the cause for the bug the wrokaround is…

when max finished starting open the listener and choose run script: choose the script I wrote in the macroscript library and it will stop the bug…

I need more time to find whats the bug is all about and why menual eval’ do work.

sorry for the trouble but it’s still a beta version



I’m sorry, I know how it crash under m5. I wanted to have a screens of what the script do when it works ,-) Sorry



It sets up a bone to be able to be squashed or scaled therefore you can find multiple ways of using it as a psuedo muscle… this image is a rough example of how you could attach it to two different bones…



for some reasone the comments on the top of the script are the cause for the bug


It works PERFECT here !!!

Damm… this is a good and usefull script :bounce:


the damn bug is over…
don’t ever start a macroscript like this:

–macroscript muscles was written by…

since max thinks the this is the name statement for the script!

send me your comments and more ideas to make it even better.


hehe…let it automatic interact with Character studio :smiley: :applause:
Push the magic button and u have a full blown muscle setup :buttrock: :beer:

btw. thanks for the script tip !!!

…also remember to post the script on

About the script: maybe select the point and activate “Select and link” could be a good idear, so u can link the point in one go !!!

Else then that… this is just a damm good script :wink: