There are two things to watch out for, one is that if you try to rotate a character the rebuild curve node code can't rotate the rebuilt curve as the component cvs rotate and it will cause shearing. The workaround for this is to create strips and do rebuild surface instead of curves, same method just with surface, it works great.
Or create a local , no moving version of the rig fixes that are then fed in to the final rig as a blendshape. This lets the curves be used more in a shaping control mode vs. skin fix. I realized this was not clear in the original post and I had thought the bug was a diffrent issue at first.
Here is a small trick that has lots of potential to help improve deformations with out a lot of extra work.
Influence object rebuilt surface technique: (updated)
This is not a replacement for muscle simulation but it is in my experience much faster to setup and visually looks better than other solutions I tried, advantages include topology independent, the surface can be mirrored and the weights can be also using built in Maya tools (2008 and up) and for speed of playback they are easy to turn off.
- Build a nurbs surface; either using extracted character mesh curves with the "edit-convert-edge to polygon" or edit a nurbs surface (divided plane) to following shape of character mesh.
- Rebuild the surfaces with history, the result surface will be used as an influence object eventually.
- The Base (original surface) gets skinned to the characters skeleton. Do this with weights->copy weights from the skin mesh your adding this influence object to have it mach what the skin is doing all ready.
- This surface can be offset/translated away from the outside of the mesh so that it helps to keep the skin volume along with allowing us to see the separate control surface and the rebuilt influence surface.
Since it is offset away from the base surface you before you add it as an influence it will not cause an offset deformation in the mesh.
- The rebuilt surface becomes the character mesh influence object (using components, so make sure you turn on "use components" on the skin cluster and check your "add influence object- settings").
- The history of the surface (spans/curve type/etc) can be SDK driven so that the skinmesh is looser or tighter to the original shape, once weights are painted to it. Or you can just set it and leave it static.
- This has many great possible applications. The base skinned mesh can be also clustered or have additional deformation controls layered so that you can reshape/sculpt the silhouette of the mesh or produce fake muscle slidebuldge.
- For an added layer you can can directly transform the rebuilt surface as another layer of control over the effect.
- I used surfaces that were drawn around the top of the shoulder , base of neck down over the shoulder muscle and also from shoulder down the back to help with clavicle deformations. This can be run down the belly of the character to help with skin compression when leaning forward and during twisting. At the hips running extracted surface helpers along the front and side of the leg to help with complex folding/creasing and other hip related problems makes life much easier since the low rez rebuilt surface stays evenly spaced you avoid deep pinching valleys in the mesh.
- You can run the surfaces along the surface in the way that a muscle would lay or you can just fallow the basic from in a strait line in areas that are pinching like the crease at the shoulder/clav and the hip when you lift the leg strait up or out to the side in the splits, helps keep the skin from just pinching in..it lets the skin compress and stretch instead and it uses the skinning info all ready there to follow along so you want to get it as good as you can to start with and instead of helper joints with complex driving situations or pose spaced def you can use this as a helper surface instead.
- Time saved 4 days trying for fixing issues with normal methods(cluster/helper joints/lattice/skin weights) vs. 2 hours with the Influence object rebuilt surfaces technique