Tracking 2d to 3d

I’ve got a project I want to tackle, I’m pretty noob at tracking so I’m not sure of workflow and any advice would be appreciated. Basically I want to take a stationary 2d video of my son’s soccer game, track players and the ball, and then use that data to constrain those markers to objects that I place on a 3d representation of the soccer field so that he and I can look at the 3d soccer field from different angles (top down, from the goalie’s perspective) and potentially track his speed and the speed of the ball.

What would be the best way to do this?

Hi Nathan,
Use VFX layout, load the clip and add markers to selected “objects” - i.e. ball, player number on his shirt. Choose areas with strong contrast.
Then, select tracked markers then in Reconstruction menu choose Link Empty To Track. Maybe this will help you:

1 Like

Thanks for this!

Any tips on tracking non-moving objects, (ie the lines and corner flags on the field). I’ll need them to set the field dimensions, but because the players keep occluding them the track i set for non-moving objects keeps getting lost. In tracking dope sheet, I would assume I could span a tracked frame for the whole duration of the footage (since the camera/field never move) but that doesn’t seem immediately obvious.

Hi, Nathan,
In the case of loosing trackers, there are some options available: you can join tracker markers, readjust them manually frame by frame, or lock trackers before they’re lost.
Here are some in-depth tutorials:
Personally, I prefer (almost) free DaVinci Resolve for tasks like that one.

1 Like

Thanks for all the help with the tracking. The stumbling block is proving to be the reproduction of the tracks in a 3d space. For some reason I had thought this would be easier. Right now my workflow is making a fspy recreation of the field, then tracking the players in blender, and constraining the two cameras together… it’s proving wonky. Ultimately the problem is it’s still a projection and not converted into a 3d translation.

There must be an easier way to do this but i’m currently at a loss.