How to get transparency to cast shadows.

I am trying to get my object that has a animated (panner) transparency material to cast shadows onto the ground.

Can someone advise how I can achieve this.

Did you ever find a solution for this?

I don’t recall sorry,
I haven’t used UE4 for about 2 yrs now, unfortunately.

This might not be what you’re going for, but what if you did the opposite, and cast LIGHT on the ground based on a panning texture? You can do that with Light Functions.

Hi MightyEnigma

What about if i wanted:
1:a character to cast shadow
2:turnoff off character or hide or opacity change
3: Just have shadow (no character)
4: render shadow out on alpha channel

can do it in element 3d
can do it in iclone7,
surely u can do it in the mighty unreal…

Any hints, tips, hacks, workarounds???,
i would be eternally grateful
:smiley:

Yes you can make the character skeletal mesh not visible at all, but still cast shadow (have done this on accident a time or two), Not sure about alpha channel only, but Unreal’s GBuffer has many buffers and some have RGBA channels. Not sure if you can control shadow casting to one specific channel of one specific buffer without changing the render code, but whatever you are trying to accomplish there is probably a somewhat easier way than the solution you propose.

Hi,
Yes sum1 answered in the details>rendering>render pass there are boxes to untick

soooo, part 1 of a 2 part problem is solved.

Just need a shadow on opacity zero? or transparent.

Only been on unreal a week. Ive come from a movie/animation background. All these talks of blueprints.c++ and nodes is a bit overwhelming…

Thanks for the reply

So do you want to make the shadow translucent (most shadows already are)?
Why do you need to limit which color channels it specifically renders to?

Hi, thanks for the replies, i appreciate this…

in a nutshell im coming solely from a film maker/compositor point of view.

I want to create vast army. I have downloaded Atom Crowd. This can generate maybe 500 ppl? 1000 ppl? depending on graphics card.

imagine creating 100,000 crowd

I want to block out say 500 characters on one part of terrain. render this out and import it as billboard crowd… Next use the software to block out another part of terrain. Render out. etc etc until you get a huge mob of ppl. Its a common compositing trick.

I done this before in element 3d and After effects.It looked great.

But had shadows on separate Alpha layer. Crowds on separate layer. And background on another layer

pieced all the layers together in After Effects…

ive been told how to create invisible actor
details>rendering>render in main pass
this hides actor and shows shadow.

details>lighting>cast shadow
this takes out shadow

This is as far as i got. :confused:

ideally i would need.
Render out crowd accepting shadows and light, no casting shadow
render out shadow only on alpha channel.

thanks

Yeah that’s an unfamiliar workflow to me, but it might work. If you’re compositing outside Unreal then perhaps it doesn’t matter what channel(s) the shadows render to, since you can just import them to your compositor on whatever channel you want or alter the render of them to be only on those channels.

Since Unreal is more of a real-time rendering engine than a post production kind of engine, then most of the solutions you will find on the internet will be centered around a real-time workflow such as video games use. For example, if we want large crowds like that in real time, some people will opt to use mesh particles with vertex animation instead of skeletal meshes with skeletal animation, as the former can be parallelized on the GPU and therefore have a chance of running at a good framerate in a real time interactive environment, with shadows already there.

But when you get into the hundreds of thousands of characters on screen that might be even too much for realtime, depending on your hardware, so then your film production workflow might be better after all.

I wish I had some good advice for the film production way, but I think you can do it, I just don’t know what steps to take.

Another thing to look into is Decals and decal textures, although that might be the reverse workflow of what you’re looking for.

Another more complicated thing to think about is Post Processing Materials. These can be used to determine the final pixel color on screen after all other rendering has taken place (hence the name post process), taking those previous rendering infos as input such as SceneTexture. Maybe with some crazy math you can make the shadows go to a custom depth buffer, but normally only the meshes themselves do that. Maybe you could use Modular shadows and chroma key them?

Just brainstorming. There’s got to be an easier simpler way.

Thanks for all your info. Much appreciated.

Ive got sum whizz kid off fiverr.com . Hes confident he can show me a hack using a little blue print.
Be interesting to see…

Found atoms crowd and niagara. These can make crowds. So might be able to render these on alpha channel and ‘fake’ shadow with a few clever shots.

If i get a result with dude off fiver i’ll let u know.
Thanks once again.

Hey there, curious of the result and/or solution if you’ve found any. Thanks!

Depending on your use case, there is a check box in the material to cast shadows as masked. They will be fully opaque, but can ve dithered to achieve a translucent look.

1 Like