2
$\begingroup$

Preface, I'm relatively new to Blender. I have a lot of CAD experience and a fair amount of animation experience in After Effects so I have a firm gasp of the basics and I think I'm having a terminology problem more than anything else.

Here's what I'm trying to accomplish, I have a folding fan that I'd like to close to the center. I've done this by creating a base "stick" and applying an Array modifier to it. I then parent this to an Empty that has a Z rotation. enter image description here

By rotating the parent I can rotate the sticks...perfect! That's the base animation. What I'm struggling with is the INVERSE of this. What I would like to do is invert this so that I effectively have Stick -> -(Parent). I realize that I can accomplish this with two parent objects that I animate, but I'm trying to learn more about the program and I'd like everything to be linked to a single animation value.

Any help is VERY appreciated.

NOTE: If this is easily accomplished in a script I'm fine with that

Clarification: The "right half" in blue is controlled separately from the left half in red. I'm using the parents to animate the array offset of the position of the fans. Essentially I want Parent A to rotate on the Z axis to spread the blades and Parent B to rotate as -[Parent A].z that I animate one property rather than two.

enter image description here

$\endgroup$
  • 1
    $\begingroup$ You mean moving or rotating the stick move/rotate the empty and then the empty influences the stick via the array modifier? $\endgroup$ – lemon Sep 24 '19 at 16:39
  • 1
    $\begingroup$ I've clarified with more information. I'm rotating the set of sticks using a parent on the array modifier. $\endgroup$ – Daniel B. Chapman Sep 24 '19 at 16:44
  • $\begingroup$ If I understand well (still not sure), you can add a mirror modifier after the array modifier. $\endgroup$ – lemon Sep 24 '19 at 16:53
  • $\begingroup$ That seems like a possibility, I guess what I'm after is the ability to assign a mathematical function to a value. I would like to "pin" the value of Object.rotation.z to -1 * OtherObject.rotation.z $\endgroup$ – Daniel B. Chapman Sep 24 '19 at 20:53
  • $\begingroup$ If your primary objective is to actuate the spreading though just one variable (and not avoid two parents), then you can add another empty (e2) and set it's constraint to copy Z rotation inverted of the first one (e1). So changing e1 z rotation will change the array offset for the set of blades on the left and also rotate e2 in reverse direction (-[Parent A].z), causing the blades on the right to rotate in the opposite direction. $\endgroup$ – Blender Dadaist Sep 25 '19 at 3:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.