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?
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.
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).
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.
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 :