5
$\begingroup$

I need a concave light that can create sharp shadows, I've created a sketch to illustrate what I mean: 1

This light should be like the inside of a sphere, like a dome that casts light inward. I hope to use this in the Eevee engine. Is this possible?

$\endgroup$
3
  • 1
    $\begingroup$ As far as I know, there is no such lamp in Blender. The hemi lamp was kinda similar to what you describe but it has been suppressed since 2.8. In cycles you could use a mesh to light your scene this way but mesh lighting doesn't work in EEVEE. $\endgroup$ Mar 3 at 10:29
  • $\begingroup$ A sketchy way I would solve this issue would be to make many light beams arranged in order, in a concave manner. The result will achieve what you want since a singular point on the lamp can only affect another single point on the object, as opposed to if all points on the lamp were normal lights affecting the whole object and giving it a smooth shadow. I struggled to word that, but I think you understand. $\endgroup$
    – stern38
    Mar 29 at 11:12
  • $\begingroup$ I wouldn't count that as an answer since it would be very laggy, and I don't even know if it's achievable in Blender. $\endgroup$
    – stern38
    Mar 29 at 11:13

2 Answers 2

11
$\begingroup$

You can surely create any shape of light with simple mesh and emission shader for Cycles or use a few area lights positioned around even for EEVEE, but concave light will still give you soft shadows. Hard shadows appear when the light source is small or far away or the light rays are parallel(as much as possible) like for example sunlight gives sharp shadows because sun is so far away light rays are almost parallel when they reach Earth.

Concave: enter image description here

Small Point Light(it's actually a small sphere, not a point): enter image description here

Sun Light: enter image description here

You could have 2 sun lights to get this: enter image description here

As you can see there are 3 types of shadows here: one from each light and the one where both shadows overlap. Once you have any area that emits light, you start having infinite number of shadows like this for every point on that area so they become soft.

$\endgroup$
1
  • 1
    $\begingroup$ Martynas, area lights in cycles also have a Beam Shape option that should work for this $\endgroup$ Mar 3 at 18:44
2
$\begingroup$

As mentioned in https://blender.stackexchange.com/a/287559/156877, extended emitters do not produce sharp shadows. This is because every point on the surface emits light in all directions, resulting in soft shadows.

One way to achieve this could be to use a reflective concave shape that is illuminated by a distant light source, like a sunlight. Unfortunately, this will not work in Eevee.

However, this will also result in your object being lit from the front, which is not what you intended.

Here are two possible workarounds:

  1. Using a lightblocker:
  • Have your object in position.
  • Place your concave shape behind it, but higher than desired.
  • Illuminate the concave shape with a distant light, placed even higher. You should see that your subject is properly lit.
  • Now place an aperture in front of the object from below (far enough out of sight) to cut off the directional light that would hit the object in front. If done correctly, directional light will pass over the aperture, be reflected by the curved object and redirected onto the object. This will result in a sharp shadow.
  1. Use Light-Baking: I'm not perfectly sure about this, but it should work. You will not need any lightblocking apertures as you switch the distant sun of after the baking. Here is a detailled description:
  • Place your concave shape in position, without the object you want to be lit.
  • Set up the lighting with the distant sun to achieve the desired lighting.
  • Bake the lighting: Go to the Render tab in the Properties panel, and under the Bake section, select "Combined" as the bake mode. Click the "Bake" button to start the baking process. This will calculate the lighting information in your scene and bake it onto the object.
  • Now apply the baked texture: Once the baking is complete, go to the Materials tab in the Properties panel for the original object, and create a new material. Add a texture to the material and select the baked texture you just created as the texture source. Set the texture's mapping to "UV" and adjust the UV coordinates as needed to align the texture with the object's geometry.
  • Now you should be able to switch of the sun. Place your Object in position, and have fun.

Keep in mind that this approach will only work for static scenes where the lighting doesn't change.

$\endgroup$
6
  • 1
    $\begingroup$ This is not really fully correct. Light reflection doesn't just work in Blender. It is caustics so it needs to be enabled first and it is quite expensive for rendering. It will slow things down a lot. I doubt this is going to be a practical solution. it is only for Cycles as well. $\endgroup$ Mar 3 at 14:09
  • $\begingroup$ The shadows are still going to be soft in any case since light would be coming from multiple directions. What he wants is not what happens in reality and render engines are not meant for this. $\endgroup$ Mar 3 at 14:12
  • $\begingroup$ Light travels in a straight line - that's the real issue preventing the desired result here. That's physics. $\endgroup$ Mar 3 at 14:29
  • $\begingroup$ @MartynasŽiemys you could imagine some kind of laser-like (but wider) collimated beam source (these do exist, imperfectly, in reality), then curved/focused as OP wishes. It does indeed seem like blender/cycles doesn't support it very well $\endgroup$
    – mbrig
    Mar 4 at 5:46
  • $\begingroup$ So what? See the end of my answer. Each light direction casts a shadow and then they overlap. After reflection by any curved area there will be a range of directions of light and that will cast a range of shadows so to speak so the shadows become soft. It doesn't matter what the directions are, just that they are different. $\endgroup$ Mar 4 at 9:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .