Ribbon spine flipping when rotated too far

   2114   2   0
User Avatar
Member
10 posts
Joined: Nov. 2016
Offline
Hello

I'm trying to create a quasi-ribbon type spine setup with sops. I've got two Null controllers that drive position, and orientation using quaternions. The orientation is derived using vectors from points in the null controllers. I then used a mix in a vop to blend the orientations to get almost good twisting in the spine.

The problem arises when I rotate past a certain amount the orientation flips. I think it's a quaternion thing, Maya does this all the time. Is there a better way to create this kind of setup with no flippen flipping?

In the hip you'll see that I'm animating only the top controls Y rotation and when goes just passed 236 it flips.



Any help would be super appreciated.

Kev
Image Not Found

Attachments:
dynamic_spine_03.hipnc (317.6 KB)

User Avatar
Member
98 posts
Joined: Aug. 2014
Offline
You should use quaternion slerp node (spherical linear interpolation node in H) instead of plain mix in your ‘blend orient’. Maybe there's similar result when normalizing the output of mix node, anyway, slerp is what you need, here.
In any case, anywhere, quaternion will flip (or precisely, return back to remainder) when delta is more than 180 degree, considering all three axes. If less than 180 degree is not enough, you can create a ‘real’ ribbon,
using the NURBS patch and sampling the orientation at several points along patch, where angle between two neighboring samples is expected to be less than 180 degree. Then you'll be able to calculate the summary of all angles.
User Avatar
Staff
1449 posts
Joined: July 2005
Online
A very old system, slow, but sort of works:
- create a box
- in viewport, Tab > Path (Create), and draw the curve along the box
- deselect all geometry, and Tab > Bones from Curve
- press P to get tool parameters, for Kinematics choose “Follow Curve”
- now follow the prompt in the viewport (select curve, enter)
- in viewport, Tab > Capture Geometry and follow prompts (select geo, bones, etc)
- select one of the path control vertices, and rotate it around its z-axis to twist the geometry

attaching the file

Attachments:
spine.hip (285.2 KB)

  • Quick Links