I have an oblong circle of sticks (using array and curve modifier), but I would like to increase the offset gradually in two places(as shown on the screenshot). Does anyone have tips on how to accomplish this?
You can control the density of the sticks around the curve by using DupliFrames, and adjusting the 'speed' the stick 'travels' around the curve.
Starting with a curve and a stick, all origins at 0: (Here, we're arranging 120 sticks)
- Assign a 'Follow Path' constraint to the stick, with the curve as its path. Do not hit the 'Animate Path' button.
- Set the stick's 'Duplication' method to 'Frames' with the Start at 1 and the End at 120.
- Adjust the curve's 'Path Animation' > 'Frames' to 120.
- Right-click, and insert keyframes on the constraint's 'Offset' field: 0 at frame 0, 120 at frame 120.
- With that field active, open a graph editor window to see the F-curve of its animation.
You can now control the density of the sticks by altering the F-curve. I changed the end-keys (V) to 'Vector' type to begin with, to start with a straight line and even distribution. I then inserted 'Vector' keys at frames 30 and 90, converted them to 'Automatic', and rotated them a bit to get the distribution shown.
The illustration shows: The result from above, The F-Curve, all the relevant panels, and the timeline.
With the addon Animation Nodes you could sample the desired number of points on the curve, and place instances of the sticks, rotated to the correct angle, at the points' coordinates.
Animation nodes provides nodes to create interpolation curves, similarly to F-curves like in Robin Betts' answer. You can set an interpolation curve and evaluate the circle not at regular intervals but offset forwards or backwards.
The expression node in the node tree is added to move the sticks a bit clockwise so that – for a multiple of four sticks – the sticks are moved off the axes. You might also have to increase the resolution of the Evaluate Spline node in the advanced node settings to increase the accuracy.
Unfortunately, this method doesn't allow you to enter the offset numerically. For that you would have to calculate the positions manually.
The animation at the top shows a swipe between regular sampling, sampling according to the interpolation curve with the “disconuity” which creates the cap and sampling according to the smooth interpolation curve which creates a continuously increasing gap. Disconuity in quotation marks as the curve has its control points at
.250001 or so to make the order unambiguous. Otherwise you might get flickering between frames, should you also wish to animate the opening.