Wing flips upside down [Piero]

Working on the Piero course, and I cannot for the life of me figure out why the wing is flipping inside out around frame 216. I'm not sure if this happens in the official course later on, but so far I haven't seen the same problem in the tutorial.

I've been trying for almost an hour, does anyone familiar with the rigging of this character have any ideas? My first thought was adjusting the elbow-pole (CTRL_armPole.L), but I have to bend it all the way forward so the elbow is the wrong direction to get the feathers to lay the correct direction. I tried the diamond-shaped spline controls too, but they didn't seem to fix it. Am I missing something obvious that's causing the wing feathers to 360 around the arm?

@theluthier

Blend file

  • polygondust replied

    I checked the original Piero file, it looks like this is a limitation in the rig itself. Must be some Blender issue with the copy rotations or something, that occurs when the root bone is rotated 360 degrees in local z.

    I'll try to figure out some way to conceal it in the animation, I don't think that it's worth the time to fiddle with the rig. I'm just glad it wasn't some mistake I made!


  • Kent Trammell replied

    ...wishes I was a better rigger 😔

  • polygondust replied

    @theluthier Haha, this is a thought I think about myself on the regular. I wish I could learn how to rig by plugging into all the cgcookie knowledge Matrix-style and implanting it into my brain. Until then, rigging will just continue to be painful.

  • Jonathan Lampel replied

    Hey, this looks like it's due to gimbal lock.  I'm guessing this because you say it's happening around the Z axis, and the default hierarchy of Euler rotations is X then Y then Z. The last axis gets shafted when it comes to 0 and 360 degrees, and it's an inherent limitation of Euler rotations in all 3d software. 

    In pose mode there's a bunch of options in the viewport properties panel for the order of axes - XYZ, YXZ, ZYX, etc. Try switching that (or rolling the bone in edit mode) such that the main axis of rotation is listed first in the Euler order of axes. 

    You could also use Quaternions, which doesn't ever have this problem, but it's unintuitive as heck to animate with.  

    Unfortunately you may have to re-animate that part, but it will fix the issue. If that's a massive headache, you could also try to find a pose that doesn't cross that 0-360 barrier.