Skip to main content
Participating Frequently
December 10, 2023
Question

Motion Tracked Graph

  • December 10, 2023
  • 2 replies
  • 291 views

Hey there guys, 

 

have a project coming up next week with an effect I want to achieve - wanted to get some second thoughts on how you'd achieve this.

 

My client wants me to display the pressure on each ski in a ski video. The idea is a trail appears behind the two skis as they ski and the trail is left behind on the ground. Ok, this is fine! I can just draw out the trail behind him, use trim paths to make it appear, then 3d motion track to have it stick to the ground, right?

 

However, they also want each ski trail to have it's own graph. The graph will represent pressure on the skis. The right ski graph will rise up over time as the pressure increases, and the left ski will decrease. This will be a curved line with some waves at the top to denote smoothness. They are also asking for some kind of solid shape in the graph, so it isn't just the two lines up and down, but each graph has some form.

 

Usually for trails I would just draw a path and then 3d motion track, but for this one would you recommend creating the graph as a flat object then wrapping it around the path of the skiier somehow?

 

Also, I'm wondering where to push back and tell them that this is a bit of a complicated way to show the info perhaps? I've taken a screenshot of how it could look on the footage, seems like the lines may fall on top of each other a lot. I've also attached the footage, and a screenshot diagram of how the graphs should look.

 

 

 

 

 

This topic has been closed for replies.

2 replies

Community Expert
December 11, 2023

Let me talk about the sample shot you provided. 

First, it's a camera pan, so AE's camera tracker will not give you any depth information. The perspective should be fairly accurate and the surface is relatively flat so selecting a bunch of trackers, scaling up the Target, establishing an Origin and Ground Plane, then adding a Solid and a Camera on the same spot should give you a fairly good surface to work with. 

 

You can then create a new Shape layer with a simple path, make the Shape Layer 3D, Shift + Parent it to the Solid you created, then adjust the path to get a relatively good path in just a few minutes. This path only has 5 vertices and it only took a couple of minutes to line it up fairly well with the uphill ski. Duplicate it make adjustments for the downlill ski and add trim paths and that part of the work is done.

I always use a solid instead of a null because you can see if it sticks, then I add a blend mode, sometimes a grid, and make it a guide layer so I can verify that the track sticks.

 

If you had an uneven surface, the shot would be much more difficult to track and it would require more than one shape layer and more than one track solids.

 

Regarding animating the graph, you could use Mocha AE to motion track the skier's feet and use that position data for the pressure data in your graph. You could then create an expression that would use the change in direction to detect the apex of each left and right turn. When the skier turns left, the pressure will be greater on the right ski. The opposite happens when the skier turns left. The pressure is always higher on the outside ski. When the motion is pretty much in a straight line, the pressure on both skis will be about the same. If you don't have real-time data to work with, and you don't want to try and come up with an expression (it will be recursive and slow), you could turn that position data into a differential pressure data stream that would animate a graph and give you some numbers. An easier approach might be to simply add an Expression Control/Angle Control. to a null and manually keyframe the direction the skier is traveling and turn those values into a pressure graph. Throwing a little wiggle into the result would give you some varying numbers that you could use to drive a bar graph or animate the shape and progress of a line graph as is in your example. Without some real world data, that's probably the approach I would take.

 

If 0º = equal pressure and + or - 90º equals maximum pressure something like this would give you some changing values fairly easily.

 

//apply to a text layer to get left and right foot pressure
t = effect("Angle Control")("Angle");
lFoot = linear(-t, 90, -90, 10, 100);
rFoot = linear(t, 90, -90, 10, 100);
l = lFoot.toFixed(2);
r = rFoot.toFixed(2);
"Left: " + l + "\r" +
"Right: " + r

 

 You'll also need to duplicate the footage layer, pre-compose the top copy moving all attributes, name. it roto, and Rotobrush or rotoscope the skier so the path stays under him. This is a rough start on the problem. I'll leave you to decide how to generate the graph.

The path needs more work,  and so does the timing. 

 

 

Participating Frequently
December 11, 2023

Thanks so much guys. After doing some experimenting, I'm finding it super difficult to achieve the effect of having the line move down or up on the Y axis from one point (to achieve the graph effect). This is the bit that really had me stuck. Might have to scale back my ambitions a little bit! Thanks again.

Participating Frequently
December 11, 2023

I've now placed a turbulent displace on the line which works really nicely to display the smoothness as it's a wavey graph. But yeah, if anyone knows a way I could have one side of the path down or up on the Y axis that'd be amazing!  Thanks again everybody, this has already been so useful.

Mylenium
Legend
December 10, 2023

Well, if there's data from gyro and pressure sensors, creating the readouts and graphs should not be too difficult with XML/ CSV data expressions. Visualising the trails could then also  be done with realtive ease by feeding the data into a particle system as the emitter position and perhaps color for the pressure, attached via mundane point tracking. This could even be done by just using "fake" data and keyframing a bunch of the particle parameters. Anything beyond that would probably indeed be hyper complicated since the shot would likely even be difficult to track without too much jitter.

 

Mylenium