SCRIPTING FINAL: RIGGED AND ANIMATED CURVE

This final was mainly a script to rig the CVs of a NURBS curve and procedurally extrude geometry along that curve.

I started with a script that created a curve based on the Fibonacci spiral that has some height to it. I scaled the curve to get it to look how I want as the general shape of my final curve.

Next I expanded upon my script that I submitted for my rigging assignment which was basically a proof of concept WIP for this final. That script had a fatal flaw which was that it could not move the joints to the position of the CVs. Therefore there was a pause where I had to manually snap each of the joints to the clusters which prevented this script from feeling fully automated.

To solve this problem I looked into xform a bit but ultimately ended up using cmds.pointPosition command. Even tho pointPosition is not queryable or editable, it worked because I only needed it to get the joints to the position they needed to be in initially. I would never need this value to be updated because after the joints are moved they would be parented to the clusters and just manipulating the curve by controlling them. Therefore, pointPosition seemed like the simplest solution for me.

I found that rigging all the CVs first then executing the second part of the curve which extrudes the geometry after was the best way to go about it.

As explained in the video, the whole curve moves (aside from the first face) despite the ends of each IkHandle being stationary. This is because the IkHandle after it moves the other clusters and therefore the curve between the stationary and moving clusters must move anyway.

Lastly, I animated the curve using a series of simple sine and cosine expressions just as a demonstration. But this part is where you could drastically change the final look.

Here are my scripts.

Fibonacci Curve script:

Rig script: