View Full Version : Mirroring Maya Muscle's SmartCollider

04 April 2010, 04:36 PM

I am trying work with Mayaq Muscle's SmartCollide. It works perfect for one side. But when I create the smartCollide object for the other side and mirror the weights (or manually paint the other side), the resulting deformation is always wrong. In the image below, the right leg has the same weights, smartCollider settings, joint position,etc. as the left leg, but the "Smart bulk widen" looks completly different.

Any ideas what could be the problem? Thanks! :)


05 May 2010, 10:32 AM
No ideas? Well, then blendshapes hurray! :argh:

05 May 2010, 03:17 PM
The only thing I can think of is that one of the Collide-Planes is facing the other direction as the limbs have usually mirrored behavior. So one of them should point as an example X and the other negative X (though I assume you already know that but...just in case).

I also notice from the screenshots that the collidePlanes are red-coloured. That happened in my case when the aim-axis pointed at each other *(very roughly). So I presume the Smartcollide has problems with both knees.

05 May 2010, 03:46 PM
Thanks for your answer. For the direction of the rotation planes... they are already inverted (+X/-X). I tried to switch the axis, but then the effect is completly deactivated, so no bulging and so on happens.

I will have to figure out this smartCollision on a different project I guess. For this one I need results soon. But if I found the problem, I will post it here... ;)

05 May 2010, 04:35 AM

This behavior of Smart Collision in mirrored is certaintly a bug, which had reported to Autodesk by me a few years before. It is depending on the joint axis orientation for mirrored rig, and cannot fixed by changing the setting in the SmartCollide node.

What I've done is tricky but simple.

Duplicate the joints structure around the place you want to set Smart Collision.
Change its axis orientations, which will be negative-X for down-to-the-length.
Make parentConstraints between corresponding joints from original rig to dupelicated one.
Make SmartCollide node on the joint in the duplicated structure.
Bind the SmartCollide node into your skin, and you will get the correct result.

You will find the resulting images in my WIP thread.
Please try this recipie, and I wish you can solve this trouble. :bowdown:

05 May 2010, 07:34 AM
Thank you! I will definitely give it a try. :cool:

05 May 2010, 12:09 PM
Are the knees the only body parts that aren't symmetrical?

05 May 2010, 12:43 PM
Nope, the same problem also occures on other parts, the elbows for instance.

05 May 2010, 01:08 PM
These days, whenever I get into trouble with things like that, I use Michael Comet's PoseDeformer to correct flaws in deformations instead of blendshapes. I like seeing that its still up in recent forums. Its really easy, too.

Remember asymmetrical elements of any kind are more realistic and convincing.

I'll assume the muscle deformer is used to create animation and not a static piece of art.
Weigh everything up with its level of importance:
Is your character moving slowly?
Is your character in an action scene?
Motion blur?
Blah blah blah......

05 May 2010, 02:22 PM
Hey, thanks for your answer. I use the PoseDeformer too, it's really simple and quite fast. But I got a problem ... again with mirroring. While mirroring from one leg to the other works fine, I wonder if it is possible to mirror poses based on center joints.
For instance when the character bends left, I created some fat bulges on the left side of the waist. Now I'd like to mirror this pose for bending to the right side. But unfortunately the mirrored result does not contain any deformation.

Is the PoseDeformer capable of mirroring "center poses"? If not... any clues how I could mirror the pose "by hand"? I thought of something like mirror the original with scaleX -1, using a wrap deformer on a copy of the base pose and bake the deformation and then use this mesh as right side pose. I will give it a try right now... ;)

05 May 2010, 02:29 PM
If I'm working on shapes for a symmetrical mesh, I've found abSymMesh ( to work great for mirroring the shapes.

CGTalk Moderation
05 May 2010, 02:29 PM
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.