Back to Overview

skirt Collider R&D

Tools & Techart Topics

I recently saw this article being posted about a simple skirt rig based on math by Liling Liu.

To be honest I couldn't really follow the tutorial but the images where clear enough to make a start.


The first test was created with a similar setup as the one in the tutorial above, but instead of using math nodes its just using a ik-handle that directly drives the rotation of the affected joints. On this joint the limitTransformations are set in such a way that it only rotates in Z and cannot rotate less then 0 degrees. Thus making a fake collision based on rotations:

roll setup


Expanding on this, what if we want to have more segments to the skirt or even a way to use collision when we have the knee in place? for the next section instead of using a nearestPointOnCurve node, the detection circle is expanded to a full nurbsSurface and the ClosestPointOnSurface node is used to attach the ikhandles to the mesh.

roll setup

This works better as now the skirt wraps around the knee and fakes a sense of gravity, but one downside of using the nearestPointOnCurve and closestPointOnSurface is that they wrap around the object. So sometimes the detection is on the wrong side of the surface.


The next iteration was based on this tutorial by Riham Toulan. In stead of a closestPointOnsruface the ikhandle is now attached to a keepout node that is placed on the chain itself. As soon as the collision mesh hits this keepout node the ik handle is pushed in the local direction that is given in the inDirection vector attribute. This simple connection gives the exact same output as the previous test, but it has far less nodes, does not need the transformation limits on the joints and is far more stable.

roll setup


For the people that want to have a better look here is the scene file:

initial test

with keepout bones