Problems with cglink


I’m having problems using cglink with ACT. A video showing the problem and the max file can be found at:

The file contains a biped and two psoas muscles (a right and a left). The left psoas has a cglink modifier attached to it and two keyframes that move the dummy helper forward a little so that the muscle doesn’t disappear into the pelvis of the biped. However, when you scrub the timeline the muscle rotates all over the place instead of just moving forward a little.
The steps I used to creating the dummy are this:

Create the muscle and link the muscle dummy helpers to the bipeds spine and thigh and animate the thigh. Then re-position the cross sections from frame zero, then add the cglink modifier, select the cross section I want to affect and click the “creat dummy and link” button. This all works fine until I animate the cglink dummy helper, then things go way wrong.

Any suggestions?



Hm… CGlink works in internal muscle co-ordinate space. If you link the CGLink dummy to something else then you need to unlock (not inherit) rotation. THat should fix things.


Hi Mark,

I had to put the cglink part on hold while I finished up other work, but I’m back at it and still having problems. What’s strange is that the modifier works great when I start with a blank 3dsMax file, draw a muscle, use the cglink and move it around. It all works great.

However when I do the same thing within the cgcharacter scene, that’s when the twisting/distoring of the muscle occurs. There’s something to the cgAdam_v1.0.2.5.max file that’s causing the problem. I’m creating the biped, applying the fig file and running the max script that you provided. Then I’m creating the psoas muscle in the pelvis and linking the distal/proximal points to the biped and animating the leg going forward and backwards. This all works well until I add cglink and problems occur. Is there something I’m missing? I’m not linking the cglink dummy box to anything. I’m simply animating the box forward and backward a little. The odd thing is that prior to animating the dummy box, it’s rotating a lot as the muscle animates which doesn’t happen at all when I create the single muscle scene from scratch.

The video link above isn’t active at the moment I’m posting this. If you need to see it again I’ll get the proper video linked to the above website.



Hi Jef,
OK. It’s comming back to me now. On creation the cgLink dummy is parented to a hidden dummy that is driven in the cgMuscles internal coordinate space. It’s the difference between the control dummy and it’s parent that is used to modify the cgMuscle deformation. If the cgLink control dummy is linked directly to anything other than the hidden one we create then you have to take care of the orientation issue yourself. The way to do this is to put an orientation control on the parent you link to and target it’s orientation to the hidden dummy we create when the cgLink modifier is applied. Make sense?


Hi Mark,

I’m not linking the dummy controller box to anything however. It’s just hangen out there with a couple key frames that modify its position. I don’t touch the hidden point controller. I find it so odd that I can use this feature really nicely in a clean scene with one muscle in it, but when I do the same thing in the cgcharacter file the dummy controller box is spinning around an axis totally different then the axis I’m moving the muscle about. I would be happy to email you the file I’m having the problem with. I’ll delete all the muscles and bones that don’t apply to the problem at hand to decrease the file size.

I really appreciate your help.



AH – OK. In the new scene you made the cgLink dummy is linked to it’s hidden parent… things are working OK as you are just animating the control dummies position – which is relative to it’s parent.

Clearly something has come un-linked in our file. You will have to email me the specific part that has gone wrong – just ZIP up the max file with the offending part visible and everything else hidden. I will fix the problem and email it back.



This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.