2
$\begingroup$

What I want to do is to have multiple identical cubes all following the same (non-circular) path, each with a different starting offset. And when one cube reaches the end, it teleports back to the start and continues along that path again. I want to do this without having to manually animate everything.

I tried to do what they suggested here: How may I create a continuously looping animation? by animating the evaluation time on the path and making that cyclic, but that doesn't seem to work for multiple objects.

What I want to happen (using multiple paths to do this, want to use a single path): What I want to happen

What happens when I use a single path and set the offset values on the cubes: What happens when I use a single path

$\endgroup$
2
  • 1
    $\begingroup$ It's never easy to help people with "that doesn't seem to work". Please explain exactly what doesn't work, or better upload your blend file. $\endgroup$
    – Grimm
    Commented Aug 29, 2017 at 8:11
  • $\begingroup$ The animations in your question have text that is excessively small. Please include screen shots so helpers can read the text. $\endgroup$ Commented Aug 29, 2017 at 13:42

1 Answer 1

1
$\begingroup$

Using Drivers and Follow Path constraint.

Drive the offset of the constraint from 0 to 1 using Fixed Position.

Hard coded 250 as the path length in frames. The driver method has two parameters, the current frame (scene.frame_current is known to the driver namespace as frame) and the offset at frame 0.

import bpy

path_length = 250 # path length in frames

def offset(frame, start=0):
    # start position at frame 1
    f = round(frame + start * path_length)
    return (f % path_length) / path_length

bpy.app.driver_namespace["offset"] = offset

Sample file and image with Cube (offset 0), Cube.001 (0.2) and Cube.002 (0.4).

enter image description here

$\endgroup$
1
  • $\begingroup$ Seems to work pretty nicely so far, though I would like to see if there's a solution without the need for any scripting. I'll accept the answer tomorrow if nothing else comes up. $\endgroup$
    – 8176135
    Commented Aug 30, 2017 at 9:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .