Skip navigation
Currently Being Moderated

"Accepts Shadows : Only" function

May 30, 2012 8:00 AM

Tags: #problem #3d #mac #after_effects

I'm having a slight issue with the Accepts Shadows : Only setting in a raytraced comp.

 

I created a White solid as aground plane and had some 3D text casting a shadow on it, then I changed the white solid's accept shadows to ONLY (Casts shadows: Off, Accept Lights: Off). If there's a layer below the solid, it looks fine, but the problem is that if there's no layer below the white solid, then the White Solid is rendered black and the shadow is lost in the layer. I'd like the ability to render out the cast shadow of an object with an alpha channel. Am I missing something or is this a feature request?

 

ShadowsON.jpg

ShadowsONLY_NoBG.jpg

ShadowsONLY_WithBG.jpg

 
Replies
  • Currently Being Moderated
    May 30, 2012 8:55 AM   in reply to TheFosterHouse
     
    |
    Mark as:
  • Currently Being Moderated
    May 30, 2012 9:32 AM   in reply to TheFosterHouse

    One possible workaround would be to place a black solid underneath the white solid with accept shadows on and set the black solid's track matte to luma inverted matte.

     
    |
    Mark as:
  • Currently Being Moderated
    May 30, 2012 11:29 AM   in reply to TheFosterHouse

    I forgot shadows are rendered after track mattes.  So, you'll have to duplicate all of the elements in the scene, precomp them into a "shadow matte" layer.  Turn the text into "Casts Shadows only", place a white solid behind everything, so then you have a completely white surface with just the shadow.

     

    Then in the main comp you can use the "shadow matte" layer as a luma inverted matte with a black solid.

     
    |
    Mark as:
  • Currently Being Moderated
    May 30, 2012 11:34 AM   in reply to Dan Fredley

    That should woprk, seems awfully complicated, tho. The text, afterall, is not part of the original scene and the floor upon which the shadow is being cast is intended to be part of the original video clip. Me, I'd prerender the text movie and apply a much simpler shadow using any of the olde timey methods including building a 3D comp, adding an invisible floor layer and setting it to accept the shadow from a single light. However, I think it's still easier to render the text movie with a 3D shadow using Animation and bring the whole thing back into the comp as a movie. Unless, of course, you're attemting to track the motion of the floor and hence the shadow to extend the illusion.

     
    |
    Mark as:
  • Currently Being Moderated
    May 31, 2012 12:54 PM   in reply to TheFosterHouse

    You are just missing a simple step. Your white shadow catcher layer should be set to accept shadows but not accept lights. That way you can use the multiply mode to eliminate the white and cast a shadow on the background layer.

     

    If you're using CS6 and extruding the type then you have to jump through another hoop because blend modes are not supported with ray tracing. If that is the case let me know and I'll show you the fix.

     

    Here's a still of a comp setup the way I typically cast shadows in perspective on a 2D background.

     

    Screen Shot 2012-05-31 at 12.52.27 PM.png

     
    |
    Mark as:
  • Currently Being Moderated
    May 31, 2012 10:54 PM   in reply to TheFosterHouse

    Shadows don't have alpha channels.  The solid you're using to catch the shadow does.

     

    There are a number of possibilities for creating an alpha channel of the shadow. 

     

    You could duplicate the shadow catcher layer and use the duplicate as an inverted luma track matte.

     

    Or, you could use the free Knoll Unmult plugin to extract luminace as an alpha channel, but you'll need to invert the result.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points