I have a character with several meshes under a transformNode, and just want a super simple dark spot underneath. Can I make an invisible mesh that still casts a shadow maybe? Or is there an even simpler way?
If the ground is flat, a simple plane could make it.
Else having a dummy that cast a shadow is a good idea
Right, I’m thinking maybe a decal on the ground or something.
I have a collision sphere that makes a nice shadow, but not of course when it is invisible/translucent.
Basically the inverse of ShadowOnlyMaterial is what I’m looking for.
yes interesting idea. What if you enable generator.setTransparencyShadow(true) and se your mesh.visibility = 0 ?
Oh, that’s a peach.
Hadn’t gotten to messing with transparencyShadow yet.
As @Deltakosh`recommended - adding a child plane mesh with a texture should get you the results you want. But I’m guessing you’re already beyond this. And this won’t project a shadow on non planer meshes with any reliability.
Have you tried generator.setTransparencyShadow(true)? I’m surprised DK didn’t recommend this. I haven’t tried to use recently, but it worked fine in version 2.0.
EDIT - OK, I see DK did recommend this. I just read way too quickly. This did the trick for me in past projects.
Yep, generator.setTransparencyShadow(true) with mesh.visibility = 0 did the trick.
I’m not sure what affect TransparencyShadow has on performance, I’m thinking it’s better than casting individual shadows for every mesh in the transformNode though.
I personally haven’t noticed a hit in performance using setTransparencyShadow(true). It should be comparable to setting up a plane with a baked shadow as a texture. I don’t really see a difference in GPU when using either. But it’s all relevant to your scene… as I’m sure I didin’t even need to say.
Glad you found a solution… thanks to DK, of course.