4
$\begingroup$

I have a light going through a volume cube so that I can see the beam of light. I want to make a material that will reflect the light at the correct angle so that I can see the beam in the volume. I tried making a mirror material with roughness set to 0 and metallic set to 1. I thought that would work but it seems I'm missing something. Anybody got a solution?enter image description here

$\endgroup$
4
  • $\begingroup$ Can you share the blend file, or give more information about the prices nature of the set up? $\endgroup$
    – brpatel
    Commented Nov 5, 2023 at 14:59
  • $\begingroup$ I am just trying to simulate at which angle the light would scatter if it is reflected of of a bent surface. So if I had like a wavy mirror I would like to see at what angle the light reflects from. $\endgroup$
    – Jan Novak
    Commented Nov 6, 2023 at 20:02
  • $\begingroup$ I believe this isn't possible with Cycles or Eevee as they aren't the correct kind of renderer. Cycles is a Reverse Ray Tracer and so optimises the rays to only those that return to the camera. For your situation you would need it to forward ray trace to trace the rays from the light source through the mirror and onwards (possibly) to the camera. For what you want you possibly want to use something like Lux - see blender.stackexchange.com/a/229191/29586 $\endgroup$ Commented Nov 6, 2023 at 23:20
  • 1
    $\begingroup$ Just a thought, but does it have to be light that does the bouncing - to produce a rendered image - or are you just wanting to simulate the bounce to determine the result of where the path would finish? If you just want the result then one option will be to use a particle simulation instead of relying on the volume scatter - ie, have a particle emitter taking place of the light source, bounce the particles off a surface. The particles will follow the path that light would have taken (if you disable other forces, such as gravity). $\endgroup$ Commented Nov 7, 2023 at 15:00

2 Answers 2

4
+50
$\begingroup$

You can not solve this in an honest way. The implementation of Cycles engine does not allow this.

The bright light in the volume is visible only because the beam knows in which direction the sun is. But the ray that is in the path of the "reflected" light should take a sample not in the direction of the sun, but in the direction of the mirror. There is no such possibility in Cycles.

Only random rays that hit the mirror (and then hit the sun) will be "reflected light". But the smoother the mirror, the fewer rays will be lucky to be reflected directly into the sun. Therefore, when Roughness == 0 nothing is visible.

Here is the result at 18,000 samples and Roughness == 0.05:

Or crutch! Just add area light.

$\endgroup$
1
  • $\begingroup$ That was very helpful, ty. But I cant add another area light because I am trying to make a light that will reflect in a correct angle of of a bent surface. $\endgroup$
    – Jan Novak
    Commented Nov 6, 2023 at 19:56
3
$\begingroup$

The standard Blender renderers (Cycles and Eevee) aren't really suited to rendering the reflected volumetrics due to how the light paths are traced.

However, if you're only interested in determining the path of the reflected light - rather than an accurate volumetric render - then it might be better to use a particle simulation to achieve a similar result.

Start by adding the "reflector" (in the simplest case, just a plane - although shaped reflectors would work just as well) and in the Physics panel enable "Collision".

Next add a plane as the source of the particles - the single face of a plane will produce parallel "rays" of particles. Add a Particle system to it and, in the Particle settings "Field Weights", turn Gravity down to zero.

Adjust the particle system to adjust the emitted particles as desired to create a suitable "ray" of particles and direct it at the "reflector". In my example I increased the number of particles and their lifetime (so they last long enough) and also significantly increased the Velocity.

Run the simulation and the particles will be emitted and reflect off of the reflector, showing the path that light would take (without needing to render using volume scattering).

enter image description here

I suppose if you really want it rendering in a volume you could use the particle system to drive a Point Density texture in order to add a 'glow' within the volume where the particles pass through.

rendered fake volume scatter

In the above image I further increased the number of particles and added a material driven by a Point Density texture set to the particle system :

enter image description here

$\endgroup$
1
  • $\begingroup$ Thanks man, really helpful. $\endgroup$
    – Jan Novak
    Commented Nov 10, 2023 at 18:23

You must log in to answer this question.

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