1
$\begingroup$

in my complete scene i have 3 curves and 4 empties: the curves starts and ends at same point. the first 3 empties have: 1 follow path constraint with the target being one of the curves for each empty. the last empty have 3 drivers that take the z location of all the 3 empties mentioned before one control each axis (x, y, z) shown with the last image. what im having problems with is that i wanted them 3 to move from start point and last point in parallel but since each curve have different lenght each one (even do they start and end at same points and time) i dont know how to achieve this and still obtain the location values of the empties to work with the main empty drivers. thank you in advance

here it is the blend file in case someone can help: https://www.mediafire.com/file/hk8fhwfhes2kvzp/2.blend/file

enter image description here)

3 curves and 3 empties

enter image description here

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ as you can see in the tremendous amount of answers and comments....your question might lack of interest/informations. So pls provide blend file so we can check it out since we have no idea how you animated it and why the speed should be the same. thx. and maybe adding an animation/link to your question how you want it look like would be great. Just one picture doesn't make clear how the animation should look like. $\endgroup$
    – Chris
    Commented Jun 24, 2023 at 7:09
  • 1
    $\begingroup$ and just fyi if you don't know: if you click on "animate path" in follow path constraint and the length of the paths are different, of course (!) the animated objects will have different speed because Blender uses 100 frames to animate them from beginning to start if you didn't change it manually $\endgroup$
    – Chris
    Commented Jun 24, 2023 at 7:11

1 Answer 1

5
$\begingroup$

Animation along curves is evaluated based on curve factor. When curves are of different length, the objects traslate at different speeds as long as they have to arrive at the same time traveling different distances.

I assume that you want your objects to travel in parallel (first picture) while still on the curve trajectory.

This is a common case when animating data graphics. As an example, in animating stock values a vertical line displaces in x representing a date and different cursors translate along evolution curves to point the stock value at that given date.

There is an approximation to the problem through geometry nodes.

Applied to every curve:

With Raycasting, project the position of an empty (Object info node - Relative) into an extruded version of the curve (Curve to Mesh) to obtain the position of the "cursor" object (Object info node - Original).

Project Empty to Curve

Raycast traces down the ribbons, so the curves can have different lengths, shapes and number of vertices. The cursor objects will traslate parallel to the empty.

Be careful with self crossing curves and not traslating the empty beyond the ribbons (nothing to trace below). The empty can be position constrained with Limit Location to avoid that.

If you want the cursor objects to also rotate along the trajectories, use the Hit Normal data in the Raycast node.

enter image description here

$\endgroup$
6
  • $\begingroup$ hi thank you so much for the reply this is what i wanted to do but this approach doesnt work with my setup, i updated the question to be more specific and also uploaded my blend file sorry. because i need to retrieve each z location of the values of the empties because i have a main empty that have drivers in it that use the z location of the other 3 empties moving along the curves. $\endgroup$
    – souleater
    Commented Jun 24, 2023 at 17:07
  • 1
    $\begingroup$ @souleater, why don't you edit the question and tell us more about the situation. What is the purpose of this main empty? What are you trying to do? This seems like it sort of is an XY problem already and it seems you are heading in the direction of making it "XYZ" problem and we are running out of alphabet... $\endgroup$ Commented Jun 24, 2023 at 17:22
  • $\begingroup$ @Martynas Žiemys sorry, the main empty needs to move x,y,z using the 3 curves i shown above, i use 3 empties and the main empty use the z location on the others 3 values to obtain this, what i want is that they move in paralel like the answer above but still obtaining the location values so the drivers works, i now its a weird and specific question but its because i notice this game use bezier curves like this to make camera works youtu.be/CfVY8rzUJu8 and im trying to do a python code for that but im stuck here because each empty move at different speed $\endgroup$
    – souleater
    Commented Jun 25, 2023 at 15:08
  • $\begingroup$ @Martynas Žiemys the best result could be moving one empty to x axis and the other 3 empties move at parallel with that axis but moving up and down using the curves, thats what i want. $\endgroup$
    – souleater
    Commented Jun 25, 2023 at 15:09
  • $\begingroup$ All you wrote sounds like a huge XY problem and huge waste of time for anyone who might attempt to help to be honest. What do any empties have to do with the linked video? $\endgroup$ Commented Jun 25, 2023 at 17:03

You must log in to answer this question.

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