Consider this example
Graphics3D[{EdgeForm[None], Opacity[0.5],
Blue, Cuboid[{0, 0, 0}, {1, 1, 1/3}],
Green, Cuboid[{0, 0, 1/3}, {1, 1, 2/3}],
Red, Cuboid[{0, 0, 2/3}, {1, 1, 1}],
Gray, Opacity[1], Sphere[{1/2, 1/2, #/3 - 1/6}, 0.1] & /@ {1, 2, 3}},
Boxed -> False]
For the green box, the edges and the surfaces in the back are also quite visible. For blue and red boxes the contrast is much smaller. How to improve it such a way that the edges would be visible from the difference in colour and also make the balls inside visible?
One possible way can be using an extra layer with slightly different opacity
Graphics3D[{EdgeForm[None], Opacity[0.5],
Blue, Cuboid[{0, 0, 0}, {1, 1, 1/3}],
Green, Cuboid[{0, 0, 1/3}, {1, 1, 2/3}],
Red, Cuboid[{0, 0, 2/3}, {1, 1, 1}],
Opacity[0.6],
Blue, Polygon[{{0, 0, 0}, {1, 0, 0}, {1, 1, 0}, {0, 1, 0}}],
Red, Polygon[{{0, 0, 2/3}, {0, 1, 2/3}, {0, 1, 1}, {0, 0, 1}}],
Gray, Opacity[1], Sphere[{1/2, 1/2, #/3 - 1/6}, 0.1] & /@ {1, 2, 3}},
Boxed -> False]
For a lot of boxes, it does not seem to be a good option.




EdgeForm[Orange]too. – David G. Stork Feb 07 '18 at 17:13Opacity<=0.5, because I have to put some sticks and balls inside the boxes. I prefer the edges free from lines - it looks better. The problem is only with few specific colours. I was wondering if it can be fixed by adjusting theLightingand shadow. – Sumit Feb 07 '18 at 17:31Lighting -> "Neutral"option inGraphics3Dcan help equalize variations in shading between different colours. (2) You could use something likeFaceForm[Opacity[0.3], Opacity[0.7]]to make the front faces more transparent than the back ones. – Feb 08 '18 at 09:17