I’m trying to create the effect of a 3d stage with some people (keyed (v badly in this test) in the foreground and a volumetric light behind them lighting the floor.
The light and rays are definitely further away from the camera than the people. The light is pointing away from the camera, and the rays spread is not wide enough to obscure the foreground. You can see this when the view rotates to sideways view.
Yet when the light is behind the rays shine straight through the people. If i position the people to obscure the light, the rays do not shine through (expected) but when not being obscured they behave as if they are in the foreground.
Priority and Z-sort have been checked. Tried z-buffer on/off/shadow mix - makes no difference.
Is there anything i can do to make this work?
(edit) - i suppose i could do multiple outputs from action to split up the layers then recombine afterwards, but that seems overly complicated !
My advice? If multiple outputs will work, do multiple outputs.
Light rays are unbelievably fussy, and they work just often enough to make folks forget that flame can’t do raytracing properly. They are, themselves, a workaround, and will usually require workarounds to produce the desired results.
that way does work…was just hoping i had missed out something simple that was going to make a huge improvement!
Understood! And that’s not to say that there’s no clean solution inside action, but as someone who has lost many hours fiddling with rays (and then many more trying to reproduce an effect I’d already done once), when I find something that mostly works, I tend to stop messing with it and move on.
That is an interesting topic. As Action is fully 3D, I would suspect it is a question of defining objects in Z and giving them depth so that the light can be properly calculated in one single action node even without raytracing capability and multiple output them. I would appreciate when this topic here would be discussed more deeper because we’ve had questions around this earlier also.
Welllll, I’m not sure action can be called “fully” 3D. We used to say 2.5D, but that seems to have fallen out of fashion.
Regardless, rays aren’t properly volumetric (I don’t know how they’re actually calculated, but I suspect it’s somewhere in the accumulation buffer), so they tend to behave erratically when you do things like move the light off screen or try to put things on top of them.
Completely off topic, but around 2002 or 03 Martin did a tech demo at the NAB user group with proper raytracing in flame using mental ray. He showed light passing through a translucent discreet business card (whose card? Dunno! But it was probably funny!) and diffusing onto the background in a physically plausible way. Wild applause in the room, but users at the time wanted stability and iteration, not crazy new render engines, and then a bunch of the dev team moved to toxik.
So maybe we just put in a feature request for Arnold in flame. Easy right @fredwarren? Just drag and drop. Most of the work is already done! (I am kidding).
There is already a request for that: FI-01640
In my opinion it is very important that Action doesn’t move to a 100% Ray Tracing environment as it is being used to “fake” and “workaround” what a ray tracer will force you into.
Its not raytracing i’m after, just rays emanating from a light that obey the layering and z position of the other layers in the action.