Non-White shadow catching ground plane

I’m failing at having a non-white background with objects casting shadows on the ground.

Does anyone have a solution to this?

The easiest way would be if it was possible to assign a color to the ground plane, which could then be set to match the background.

Or if there was an option that the ground plane acts like a shadow catcher plane. In the way that the ground plane itself is not visible but receives shadows.

Since both options are not available my workaround was to place a surface underneath the objects with a material, that has the same color as the background and a radial gradient (from white in the center to black towards the border) image applied to the opacity slot.
The problem here is that this surface, although given the exact same RGB-Values as the background, does not blend into the background perfectly as it is affected by the scene lighting, whereas the background is not.

1 Like

not sure what’s possible in ShapeDiver, as I don’t use it, but the way I’ve always solved it for real time display is using a darker color groundplane with a gradient for opacity. For example if your background is blue, use a dark orange groundplane + opacity map:

Hi @Gijs,

Thanks for your reply. That seems to be a very good solution. However, if I understand correctly, your method is meant to generate AO-like “fake” shadows. Correct?

Having said that, I found a workaround to my problem.
I adjusted the RGB-values of the ambient light in the Shapdiver Viewer gradually towards a darker color until no border between the ground-surface (rgb 245,245,245, gradient-opacity map applied) and the background was visible anymore. The RGB values of the ambient light need to be much lower than the ones of the ground surface. This is a bit tedious and I’m not sure it works from any perspective but for now, it’s good enough.

I’m still hoping for an easier solution to be implemented into Shapediver.

Hi Simon, have you tried adding a slider for the roughness and metalness of the ground you added to adjust it in the viewer?

Hi @edsahergom
No, I haven’t. Will give it a go. However, what’s the idea behind this approach if I may ask?

If you have the roughness to 1 and the metalness to 0, the plane should not reflect any light, but it is better to have two sliders from 0 to 1 to control those settings from the viewer in case is needed.

Please also try to turn off the ambient occlusion which may create some shadows in the borders of the plane.

Thanks for explaining @edsahergom. That makes sense. I will give it a try when I get a chance and report back.

Even with roughness set to 1, metalness to 0 and AO disabled I can’t completely eliminate artifacts between plane and background.

HI @Simon_Vorhammer, is this what you want to achieve?

Yes, your solution works great for 255,0,0 (sphere and background color). However, with 230,230,230, the brightness is very different again.

Hi, I am also dealing with the same problem, with having ground shadows on the custom color background. I am able to set up nearly invisible RGBs colors, but from certain angles, it occurs again.

Any new solution for this?

Better and shinier viewer is coming soon where this behaviour shouldn’t occur anymore.


Glad to hear!