5

I need to make a set of rectangles standing up on the edge of a circle close inwards and fan outwards. They aren't actually petals but it seems like an intuitive way to explain it.

enter image description here

In the image I've gotten the geometry I want by using dupliverts, but I can't get that to work for an animation. It doesn't orient correctly unless the child object's rotation is reset with Ctrl + A. I tried animating array modifiers, but the rectangles distort.

I don't think using constraints will allow me to get all the rectangles to nicely spread each in a different direction. I am wondering now about drivers, but I've barely used constraints or drivers. Also it would be really nice to keep the aspect of having one shape determine the shape of the others, so I can edit the shape of all of these blades at once later on if I want to.

How should I approach this?

kim holder
  • 2,042
  • 3
  • 24
  • 57
  • This question is very related. I'm not marking it as a duplicate, since you didn't plan on using animation nodes, however it would be worth it. – Leander May 07 '19 at 17:41
  • Duplivert works fine for me, you parent your petal to a bone With Automatic Weight, then parent the armature to a sphere and press Duplications > Vert, what is your problem with this solution? – moonboots May 07 '19 at 18:21
  • As you said its an array. Make a Shape key of the rectangle (Petal) to desired shape. Then, Animated its value from 0 to 1. – Shehroz Khan May 07 '19 at 18:25
  • @Leander i did look at that and thought about it. I think I should learn animation nodes but hoped to avoid it this time as it looks like something it would take a while to figure out. – kim holder May 07 '19 at 19:54
  • 1
    will shape keys work? – triplex May 07 '19 at 19:58
  • @moonboots I hadn't tried putting an armature in the mix. Yes, it makes sense to me that it would work differently for an armature and that gets around the problem. That is likely the way I'll go because it also makes it something that can be exported to Godot with an armature, and that allows it to be used with Godot's animation tools. Thanks. I don't know, I just have trouble still putting all the pieces together. I need more practice. – kim holder May 07 '19 at 19:58
  • 1
    @ShehrozKhan after posting this I started trying to do it with shape keys. I've never used them and something was going wrong. I'm sure that could be figured out, but moonboots solution is better for export in our situation, so I'll do that instead of figuring out what I was doing wrong with the shape key. – kim holder May 07 '19 at 20:01
  • Related https://blender.stackexchange.com/questions/108541/animate-a-spheres-system-as-a-camera-diaphragm/ and https://blender.stackexchange.com/questions/86804/rigging-an-umbrella-like-object/ – Duarte Farrajota Ramos May 08 '19 at 11:55

2 Answers2

8

so, with Dupliverts:

  • Create your circle, create your petal, apply the rotations, parent the petal to a bone With Automatic Weight.
  • Select your circle, in the Properties panel > Object > Duplication, press the Verts button, enable Rotation.
  • Parent the armature to the circle. The petal should duplicate along the circle.
  • Animate the bone in Pose mode, it animates the other petals.

enter image description here

moonboots
  • 155,560
  • 7
  • 105
  • 171
0

I feel I should add an answer about shape keys, as @triplex suggested. I set up the solution described by @moonboots, and it worked fine. Then I tried to duplicate it for use in another place, and both versions broke. No problem, probably I didn't do it quite right - but then I tried restoring it several times and it stubbornly refused to work again. I could have rebuilt it fresh, it would only have taken a minute or two... but fragile setups make me nervous.

So, I tried shape keys again. These are actually quite easy to set up. The manual instructions are a teeny bit vague - in object mode you need to add at least 2 shape keys as part of step 1 before switching to edit mode, or it won't work. There are many videos on YouTube about this setup as well if you prefer a visual explanation, which is how I figured out my mistake in step 1. The full steps for the Relative Shape Keys I used are below - the parts in brackets are bits I changed or added because I found the original confusing:

  1. In Object Mode, add (at least 2) new shape keys via the Shape Key panel with the + button.

  2. “Basis” is the (starting) shape. “Key 1” will be whatever new shape you create. (You may create further Keys if you choose - Key 2, Key 3, etc.)

  3. Switch to Edit Mode, select “Key 1” in the Shape Key panel.

  4. Deform mesh as you want (do not remove or add vertices).

  5. Select “Key 2”, the mesh will (return to) the (starting) shape. (Each Key has the starting shape when its value is 0, the shape you deform it to when its value is 1, and a state in between when it has other values.)

  6. (OPTIONAL - If you have other Keys, set them up in the same way)

  7. Switch back to Object Mode.

  8. Set the Value for “Key 1”, “Key 2”, etc. to see the transformation between the shape keys.

gif of 2 shape keys having their values slid

In my case I could just hover over the value fields and press I to add a keyframe at the frame on the dopesheet where I wanted the value to be that at that time. If the checkbox that says "Relative" had been unchecked then different options appear that can be used in more complex animations (I assume).

This, fortunately, could also be exported to Godot, either as the Better Collada (.dae) format or the modified Godot engine (.escn) format we use.

kim holder
  • 2,042
  • 3
  • 24
  • 57
  • 1
    The problem with shapekeys method is that for more complex animations you will hardly get good interpolation between your basis and final pose, a vertex will go from point A to point B on a straight line instead of rotating. Also It would be interesting to know why my method didn't work, you must have forgotten to apply rotation or something else... but as I said it's not perfect because it doesn't allow to delay animation for each petal, and anyway there must be another way to do this animation, certainly with animation nodes but I don't know a lot about them. – moonboots May 09 '19 at 06:27