There should be at least one surface to fill error

I am altering a sign in my shot. There are two characters who pass in front, completely obscuring the sign. I want to use Remove to allow the illumination modeling to recreate the shadows. I created a single clean plate and am using clean plates exclusively. I have masks for each actor as they move across the sign. When I attempt to render, the moment one of the actors completely obscured the remove area, the render stops and give the message, "There should be at least one surface to fill. I extended the background layer so that it is never completely obscured, but this did not solve the problem.

Is there a way to resolve this, or do I have to break up the render into three separate passes (before the first actor, between the actors and after the second actor)?

1 Like

Did you set the actor layers to subtract or did you simply put them in the layer above the remove? If above, they should just be held out automatically with no need to set them to subtract. If you set them to subtract, it’s possible Mocha has no matte to remove with.

If you simply have them in the layer above, let me know, that might be a bug or at the very least not a desired behavior we need to look into. What version of Mocha are you using?

Can you let me know?


If by subtract you mean added to the existing layer like I would to get rid of a reflective surface, then no. The actor layers are just layers above the sign. If there is another way to subtract a layer, I don’t know how to do that.

I did create garbage matte shapes I called blobs to track the actors through the scene, then linked the individual body parts to the blob tracks. I placed the blobs below the background layer so they wouldn’t be held out in the render.

I see that there is a blend mode that has add and subtract. I never changed the blend mode and verified the layers are all set to add.

Interesting, that’s not desired behavior. As a workaround, try adding a shape to the remove layer in an area that’s easy to mask out and away from your holdout mattes (not occluded) and we will investigate this workflow.


I tried something similar to your suggestion by adding a tiny triangle to the remove layer that was visible when the actors occluded the sign. It rendered straight through, but had the unexpected effect of messing up the illumination modeling.

Well, that’s not ideal. OK. I have the QA team testing this as well. In the meantime, try rendering into the occlusion from one side, and then rendering into the occlusion from the other side, and then exporting the rendered clip and having that be a workaround.

I just hit this same error for some 360° video footage while trying to clean up a nadir. I tracked my ground plane, traced around the slider which my cam and dolly were mounted on, and drew shapes around various moving elements which occluded the ground plane. The remove module mostly worked, but some frames randomly showed the track.

So when I opened Mocha Pro again - to tweak some of the occlusions in case they were causing the issue - I got this error message. Not sure the best way to deal with the issue, apart from a longwinded process like retracking rendered footage from the comp I’d worked on? I’d prefer not to if possible…

(Latest AfterEffects & Mocha Pro plugin on Mac)

Try deleting the cache first and seeing if that helps. Otherwise, try the above workaround where you add another shape visible onscreen.

1 Like