I have a complicated curve, where the spline length is not aligned with the resolution of sample points. I animate the curve with the bevel_factor_end value.

I needed to choose bevel_factor_mapping_end = "RESOLUTION" in order for the end of the chain of arrows (which are independently animated) exactly match with the end of the curve. (The matching is guaranteed mathematically, since the parameter of rotation for the arrow is also the parameter that parameterizes the curve.)

However, the Follow_Path modifier for the empty cannot be customized to this bevel_factor_mapping_end. You can see the center of the empty is far away from the end of the curve. This would be different, if I chose the default bevel_factor_mapping_end="SPLINE".

Hopefully, this question is not too technical and someone can help me out. It is really important for zooming in with the camera that the empty is exactly at the end of the curve.

The image should show the problem (the orange dot shows the location of the empty on the curve during follow path)

enter image description here

  • $\begingroup$ bevel_factor_end? bevel_factor_mapping_end? Are you doing this in Python? The tags under the question say "modifiers" and "curve-modifier" but I don't think those settings exist in the modifier... please use the "python" tag as well if this question is about python - this helps filtering out questions for dumb people like who are not good at python ;) Or use the names the settings have in the modifier so that one can identify them just by looking at them. Thanks! $\endgroup$ Commented Nov 22, 2023 at 15:09
  • $\begingroup$ Yes, I'm working in python for most of the things that you see in this image. To synchronize arrows and the curve, I had to choose for the animation of the curve bevel_factor_mapping_end="RESOLUTION" instead of the default SPLINE. With the default, the follow_path modifier of the Empty exactly sticks to the end of the curve. With the other option, it does not as you can see in the image. $\endgroup$
    – p6majo
    Commented Nov 22, 2023 at 20:20

1 Answer 1


I think this can be achieved easily using Geometry Nodes. This is the result that I have received using random speeds and lengths:

enter image description here

This is the node setup:

enter image description here

Repeat zone in center rotates vectors.

enter image description here

Simulation zone gets the last position and set it to curve point with index that matches frame number:

enter image description here

I think you can replace random generators by preparing initial set of points and save rotation speeds in attribute using Python.

Here is the file to play with:


You must log in to answer this question.

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