Posted by Duncan Brinsmead, 26 August 2011 12:00 pm
The following file shows a method for an nCloth chain that is relatively efficient and captures the correct behavior of chain links.
Basically the technique is to create links as simple cube shapes with two missing faces( each link has only 4 faces ). The links are combined into two meshes... one for odd links the other for even, and the result made into two nCloth meshes. Note that it is important before making nCloth to select the faces and to createUV: automatic projection so each vertex has a unique UV... the last step requires this even though one will not render the cloth mesh. The cloth needs high stretch and bend resistance values as well as higher substeps. The collision thickness should be set to about the thickness of the chain. The last step is to attach your chain links, which may have as high a poly count as is desired, to the simple nCloth links. First get the parentToSurface script I wrote and put in your scripts diretory:
Position these links in the correct position, select them followed by the nCloth and type:
Do this for each of the 2 cloth nodes. They should now follow the motion of the nCloth, which may then be hidden.
The same technique could be used for the central plate object, which could be a single nCloth face that has component to component constraints with the chain nCloths. Use bend/stretch/compression resistance for everything and avoid the nCloth rigidity.
For a faster chain with an easier workflow: Create a long and skinny plane with about the same number of polys as the number of chain links then make it nCloth and use parentToSurface to attach your chain link objects to the cloth strip. The cloth settings should have high stretch resistance, little or zero bend resistance, a thick collision width and low compression resistance. If the initial position of the cloth has the links not fully taught then one can increase the rest length scale on the cloth a little. Increase mass for minimal drag effect and make stretchDamp zero so the chain is bouncy. I turned off crosslinks on the cloth as well so that the cloth could shear. (making the cloth skinnier would have done much the same thing, but then it could twist more easily as well, which might not be desired) There is currently a problem with the normal direction for the follicles that can be solved by doing a poly subdivide on the output cloth mesh.
This is not as accurate as the first method but does not require as high substeps and collide iterations. One can do a lot of chains with this method and still keep things interactive.
Please only report comments that are spam or abusive.