Drop shadow with skew from 2D image?

one soulution, though takes time is to build a robot on a plane, or a oval shape that follows the actors head with a track, grab the shadow ditch the 3d stand in. Now you have x and z shadow position.

Yeah this scene has light everywhere, its outdoors so detailed shadows might not be worth it.

BUT, it was more or less a test shoot, there will be scenes that we will shoot in the future where we need shadows, in scenes where there is one strong light source.
[](/u/3pointEdit
3pointEdit[/B) do you know of any techniques for lighting and keying so that shadows can be preserved? FYI, the footage was keyed with FCP Motion Primatte RT. The lighting on set when that was shot did not produce good shadows.

Good keys often require that you add multiple passes of a key together, this is the case with shadows and fine hair. It could be that you could go back to the keyer and pull specific shadow keys, they should still minus the background (green or blue) but retain the darkness. Depends on the operator.

The reason there is no plugin or specialized feature is that it can be done with the correct combination of parenting, constraints, and compositing. :smiley:

I put this together as a proof-of-concept. Here’s a .mov of the result - a 2D shadow generated from a 2D billboard object.
The shadow moves according to the lamp.

An overview of what I did:

  • Made 2D sprite with alpha (hereafter referred to as the monkey)
  • Started a new .blend
  • Made a stage object
  • Used the Import > Images As Planes add-on (check your alpha settings) to add 2D monkey and positioned it on stage
  • Added a spot lamp, pointed at the stage
  • Set the monkey’s object origin to be flat on the stage, where the shadow will come from
  • Gave the monkey a Copy Rotation constraint, targeted to the Camera, then muted the constraint to work on it
  • Duplicated the monkey, deleted the constraint from the duplicate, and made this a shadeless silhouette (the shadow)
  • Added a Track-To constraint to the shadow, targeted to the spot lamp (to Z, up Y)
  • Added a Limit Rotation constraint to the shadow, limiting every axis but Z (so the shadow can turn)
  • Added a new plane and parented the shadow to it, scaled the parent plane on Z so the shadow is stretched as it turns
    More on this trick explained in this tutorial.
  • Added a Copy Location constraint to this new plane targeted at the monkey, so the shadow follows the monkey
  • Made sure origin points of monkey, shadow, and shadow parent are all in the same location
  • Unmuted the monkey’s Copy Rotation constraint
  • Then did a bunch of compositing stuff and animated the spotlight and camera - won’t elaborate, see the attached .blend

2d_shadow.blend (863 KB)

I hope this will help you out with what you’re trying to do. Good luck!

Thanks there are bits and parts of that example I can use, and copy rotation was something I overlooked, but my camera did not move that much.

Still, the biggest problem was having to motion track two or more actors on one sprite, the planes still needed to be motion tracked if the actors were not in contact with the ground.

Ah, yes that does present a bigger challenge. But as long as the sprite stage area stays the same size throughout the footage and the camera didn’t pan it should be doable. If the shadow needs to spread out in a V shape as it gets further from the light source, maybe deforming it with a lattice could be a way to go. And if it needs to fade out gradually maybe a gradient texture could be used on the alpha for this.
Another thing I thought about as I was making the example setup is using drivers to make the shadow scale up and get more transparent as the distance between the light and the subject increase. But I didn’t want to spend any more time on it at that point.
In any case it’s an interesting challenge to tackle as it requires some trickery.