Pure metallic objects not being captured by reflection captures

I have a sci-fi-like room in my game that has a lot of walls, ceiling, floor and other objects, all made with pure metallic materials. As we know, metallic materials need a reflection capture to look nice, otherwise they will have nothing to reflect and will appear mostly black (except the SSR, basically).

However, when capturing the reflections, since almost everything is metallic in my scene and there isn’t any reflection to show yet, everything is black in the moment of the capture. I though “it would be nice if Unreal ignore the metalness when capturing the reflections, using the specular color for diffuse instead”. Surprisingly, this is exactly what I found in the documentation:

Purely specular surfaces (metals) will have their specular applied as if it were diffuse during the capture.
(Source: Reflection Environment | Unreal Engine Documentation)

However, it didn’t work for me. Every metal appears black in the captured reflections. I tested in Unreal 4.22, 4.24 and 4.26. The results are always the same, like the screenshot below, where both the blue sphere and red plane are metalic:


Example2

Should I do something to enable the “specular surfaces will have their specular applied as if it were diffuse during the capture” feature? How I make this work?

Are you using ray-tracing? If so, does it work better if you increase the number of ray bounces?

Hi jwatte. No, I’m not using ray-tracing.

There’s been issues in .26 with metal appearing black - but not in previous versions.

Depending on applications the solutions can be nearly infinite.

In a fixed room scenario:
Capture a box capture image at the desired resolution of the base color in engine.
In the master material for all the metallic objects, use the captured texture.

In a dynamic room scenario:

  1. did you build the reflection captures?
  2. is the light set correctly?
  3. is the skylight set correctly?
  • note that it used to work by default, at least in .24 when I tested armor plating - be that as it may, it was a skeletal mesh, so maybe different pipeline.

Other things to consider.
Distance fields?
Shadow depth?
Reflection capture size (as in the resolution)?
Rendering pipeline (dx12? Vs 11)?
Material shader model in use?
Published or pie?
There’s probably more. Just can’t think atm.

Try .27 preview.
Since the rendering is apparently faster than .26 they may have fixed whatever screw up they refuse to admit they pulled with .26.

Thank you, MostHost_LA. I can confirm that this IS working in version 4.22. I didn’t realize that before because the colors I used in the materials in this exemple scene were the worst possible choices. :man_facepalming:

When using a white metallic material in the sphere, it is possible to see that the capture is working as intended.

Example

1 Like