1
$\begingroup$

Shift animation. How to copy an animation from one object to another, and make a shift for each animation?

$\endgroup$
1
  • $\begingroup$ What do you mean by shift (spatial, temporal,...)? I don't think you can copy an AN to an object, but you can place several objects in a group and code an AN for the group. About the shift, it can be defined in a custom property of the objects and reached in AN using an expression node. If that can fit what you want and if you need more details I can write an answer with more details $\endgroup$
    – lemon
    Apr 2, 2018 at 6:05

1 Answer 1

2
$\begingroup$

You can get the Fcurves from the source object, and evaluate them with some frame offset fro some object. You can get the fcurves using the FCurves From Object Node, to identify what fcurve belong to what property, FCurve Info Node can be used where, for instance, the data path will be location for objects' location fcurve and the Array Index will be 0, 1, 2 for x, y, z respectively. Having identified the fcurves for the properties you want, for instance, locations. We can go ahead and evaluate them while setting some offset:

Node Tree

By viewing the results, we see that the object Cube.001 lags behind the source object Cube by 5 frames (The offset we set):

Result

We can put that inside a loop to perform it for multiple object, where the offset will be a multiple of the index of the iteration:

Loop

Which results in:

Result

$\endgroup$
2
  • 1
    $\begingroup$ Thanks! But what if i have some group objects. Every object have uniq position! What if i want that source animation start from uniq position every object in group. Every obj in group have uniq geomety. But what if i want that animation start from my selection set oj in group? $\endgroup$ Apr 2, 2018 at 21:36
  • 1
    $\begingroup$ @SergeyGolubev Use the ID Keys option to store the initial location of each object, see this. Then instead of using the evaliated fcurves vector as the location of the objects, add it to the initial locations and output the result. $\endgroup$
    – Omar Emara
    Apr 3, 2018 at 16:08

You must log in to answer this question.

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