Quaternion Spine

Saturday, April 25th, 2009 | Tools, XSI

This Softimage Plugin creates a curve with Nulls on it that You can use to rig or weight directly to them. the orientation of the nulls is defined by the curvetangent and the the base and target objects orientations. The system offers 720 degrees of freedom in twisting and offers a much better twist distribution compared to the softimage spine system.

The tool work very well for things like spines, tentacles, long necks and stuff like that.

The systems orientation is along the Y axis. As it uses the global kinematics of xsi You should carefully plan and test the parents. To deep parenting or orientation constrains can cause problems. For this I want to enable a short quaternion interpolation in later releases if You need deep parenting and not 720 degrees twist. Right now it runs only on 32 bit.

I think the best is to implement it in ICE for the next release.

Get it!

Enjoy!

    Installation:

  1. You need a working python installation for xsi
  2. Just drop it into Your plugins directory, workgroup or user plugins
  3. Restart XSI or reload Your plugin director
    How to use:

  1. Create all the objects You want to use for the spline
  2. Select the base, then the target object
  3. Now select all the additional control objects in the order from base to target
  4. Adjust the count of vertebas and click ok

The vertebras are created and for visual feedback You get some cubes to parented to the deformer nulls. The main control propertypage is on the curve of the system.

PPG

    Brief Description of the parameters:

  1. Twistcurve: Not Used Yet
  2. Automatic Twist enables the quaternion interpolation
  3. Manual Twist: You do the twist Yourself
  4. Scale enables the scaling when the curve is stretched or compressed
  5. ScaleY defines the scaling of the Y Axis along the curve
  6. ScaleXZ defines the scaling of theXZ Axis along the curve
  7. Both curves have weights to modulate the scaling
  8. Init scale is the initial length of the curve
  9. Max Stretch and FixScale is not used yet
  10. Controled by ID enables the id parameter on the vertebras and activates scale dependent packing
  11. FillUp is not yet implemented
  12. Modifies the scaling along the curve for this mode
  13. Vertebra Count has to be updated if You duplicate vertebras

Tags: , , , , , , ,

11 Comments to Quaternion Spine

ed
November 11, 2009

hey this looks rad.. but i have a question, what do you mean by: “1 # You need a working python installation for xsi” ?

martin
November 11, 2009

You must have installed python on Your system, and xsi must have access to it. if You can not select python as scripting language in xsi Your setup is not complete and the tool to setup the system will not work. Once applied, You don’t need pyton anymore. for example the renderclients don’t need python as the operator is in cpp

Martin

mkt
December 5, 2009

Hi Martin,thanks for the spline, we are testing it for production use. Is there any new update? when will there be a ICE version of it?

martin
December 5, 2009

Hi mkt,
if You have suggestions or bugs drop me a note. Unfortunately I have no time right now to do the ICE version, I’m still waiting for the proper kinematic support in ICE. Right now it is not production ready.
Martin

Tony Landais
December 15, 2009

Hi Mkt
Before Softimage 2011 and hopefully a full kinematic support in ICE would you concider compiling a 64 bit version?
Thanks for the great job and sharing it.
Tony

Tony Landais
January 5, 2010

Oops just realized I got a little bit confused with the names. Of course my last post was for Martin. Happy New year by the way and still hoping to see this great tool for 64 bit.
cheers

Ahmidou
January 12, 2010

Hi Martin, thanks for the spine, it’s actually the better I have seen around. Would you tell me if it’s based on a modified xsi spine or it another method?
I have successfully converted the xsi spine to a compound but I can’t figure how to map the resulting rotation to the curve’s tangent instead of using is as an upvector

thanks

martin
January 14, 2010

Hi Ahmidou,

Try building the rotation from 3 axis. tangent, up, crossproduct(tangent, up), so You do not need to map the rotation

Martin

Sherkon
February 8, 2010

Hi Martin, comment remplacer les cubes sur une géométrie différente? Est-ce possible?

martin
March 4, 2010

Hi Sherkon,

You have to modify the python script to do this, but it is possible.

Sherkon
March 6, 2010

Nous vous remercions de Quaternion Spine script!

Leave a comment