Page MenuHome

Setup Tracking Scene not working in 2.8
Closed, ResolvedPublic

Description

Blender Version
Broken: blender2.8 HEAD (a495df6b3b07)
Worked: 2.79a

Short description of error
We need to update the script to address the following:

  • Update world for EEVEE settings
  • Adjust the layer code to use collections
  • Remove broken world API

Exact steps for others to reproduce the error
Open a file with motion tracker (e.g., gun_track.blend) and in the solve tab click on Setup Tracking Scene. It will throw some Python errors.

Event Timeline

how about an option to make a simple setup using a shadow catcher plane and just one render layer..? that is often enough to have a working scene

I will have a look. Maybe first just kick out all the old stuff so that at least the basic setup of constraints and background images work. Speaking of which, the whole camera background image stuff doesnt seem to work all that great yet. Footage is always drawn in front of objects, no matter the front/back setting in camera background images. Also the colors are completely off in solid mode.

I will have a look

Thank you.

Footage is always drawn in front of objects, no matter the front/back setting in camera background images.

I believe this has to do with EEVEE drawing the background together with the scene (cc @Clément Foucault (fclem)).

Also the colors are completely off in solid mode.

I know, Workbench is probably messing up some of the FBOs (cc @Jeroen Bakker (jbakker) / @Clément Foucault (fclem)).

That said these are separate issues than the reported here.

I have managed to make the Setup_Tracking_Scene operator work without errors by disabling the old BI and layer stuff, now I am trying to make the renderlayer setup work again.
However, it seems as if there are some python bindings missing still.
To make the setup work I am planning to have 2 Viewlayers, Background and Foreground (as was already implemented in the new script), with two collections, "background" and "foreground". In the Foreground viewlayer, the background collection will be set to "holdout", in the Background view_layer the foreground collection will be set to indirect only.
I can make the setup work with the outliner View_Layer menu, however I could not find a way to do that via python. Something like bpy.context.scene.view_layers["Background"].collections["foreground"].holdout = True
That or at least something similar does not seem to exist yet.
Or if it does, maybe someone can give me a hint?

@Dalai Felinto (dfelinto) I am wondering if it even makes sense to have an EEVEE setup at this point. As far as I can see EEVEE does not have something like a shadow catcher, nor can collections ins view_layers be set to holdout, which is both kind of important for a working setup. So I would first make it use Cycles.

I do not think it can be considered "resolved": the commit considered as the Fix, as far as I understand, works only with Cycles, and I (and I think a lot of people like me) do not understand how to switch the Motion Tracker to Cycles (switching it in the render tab does not work).

...in particular, I do not think that an error message is a good solution for a problem. I would better disable that button (or hide it) in case Cycles is not used. What is still missing, I think, is a button that simply put the solver constraint on the camera (without anything else related to adding objects to the scene I mean).