Maya has many unofficial features that aren't publicly exposed within it, either because they are still in development, havn't had enough beta testing time, turned out to be too buggy, were superseded by better methods, or just havn't been implemented fully due to a case of priorities for the developers.
One of these features is the 'Membrane' dynamic deformer. Not many people know about this deformer, and I only found out about it from a post by someone else on CGSociety who discovered it when digging through Maya's API. It's apparently been sitting in Maya for a few years now, oddly not officially announced or GUI integrated even though it seems to be quite useful.
There are many possibilities this node can be used for, since it has gravity, wind/drag/lift, cloth, internal pressure, rigid body, collision and turbulance dynamics built into it, all based around the nCloth solver in Maya, sort of making it sit inbetween being a deformer and a simulation. Just a little fooling around and some imagination and you can create something interesting with it.
In this little tutorial, i'll show you one technique with it I came up with for wrapping objects onto other objects. Giving you a powerful tool to aid in modeling interesting shapes and deforming things in ways that would normally take ages by hand, and still not look as good.
For this tutorial, you can just start a new scene with a simple sphere and polygon plane to get an idea of how it works. Make the sphere relatively smooth, around 40x40 divisions. And the polygon plane between 20x20 and 30x30 divisions.. Position the polygon plane on top of the sphere.
Now select the plane, and open your script editor by hitting the button at the bottom right of Maya.
Then hit the > play/execute button at the top of the window to execute your code.
A membrane node will now have been created for the polygon plane, which you will see a tab for in your Attribute Editor window on the right.
In the future, you will only need to type "createMembrane", as "source createMembrane" only needs to be run once so Maya knows you use it.
1. Select your Plane and Sphere, go to Window>Hypergraph: Connections.
2. Find the "pSphereShape" node, middle-click and drag from it to the membrane node, and choose Other in the options that appear.
3. Now in this new window that will have popped up, find the "worldMesh" output on the left panel, click it, and then click the "collideMesh" input on the right panel, and close the window.
4. In the veiwport, select your polygon Plane and head to the membrane tab in the attributes window.
To reduce unnecessary computation over-head, we will zero any features were aren't using:
-Set Gravity and Wind options to 0.
-Under the Collision section set Friction to 0.
5. Under Collision, set Thickness to something like -0.020, Push out to -1, and Push out radius to something like 5 or higher (depends on mesh size, can always adjust this after, it determines the radius in which points are affected by the push-out.)
6. In Dynamic Properties, resistence levels between 0-2 are pretty good, adjust as needed though for any scenario. Rest Length Scale is also an important one, you'll need to adjust that one as needed to achieve the result you want.
That should be about all you need to do. If your polygon Plane is already lined up with the Sphere (also rotated for proper angle if it's off to the side) everything should already be looking pretty good. You can select your mesh and move it around on the surface since this is a deformer (if you move it too far, you'll want to rotate it a bit so you don't get a scrunched piece of fabric).
You can increase substeps as needed for quality control near the bottom in the Quality Settings section, although 3/3 seems to be good enough for most situations, and usually even lower. And the distance you move the pivot from or into the collision mesh effects how stretched the Plane becomes, so just play around with it, it's an interesting tool.
Here's a little more complex of a test I did using a face from one of my models:
Merely delete the history on your deformed mesh to save the shape it is in (which will also delete the membane node on it). Or you can key values in the attribute window by right clicking on a values name and choosing to key it, allowing you to create an animation of the deformation in action to be rendered out.
This was just a taste of the many possibilities this node brings. I encourage people to play around with it's various other settings also. It is always good to expand ones knowledge, increasing their toolset and ability to create great CG work.
Somewhat detailed descriptions for each of the Membranes options can be found here: