Jump to content

How can I make retro reflective materials in Unigine?


photo

Recommended Posts

Dear members of Unigine.

Does anybody know if is possible to create retro-reflective materials in Unigine? . Retro reflection is used for improve visibility of signs and road element at night.   I've tried looking for tutorials, posts in the forum and even the Unigine "art samples" project. And was not able to find something I can use. 

Quote

Retroreflection occurs when a surface returns a large portion of directed light beam back to its source. Retroreflective materials appear brightest to observers nearest the light source (such as a motorist).  

Quote and screenshot taken from   https://www.3m.com/3M/en_US/road-safety-us/resources/road-transportation-safety-center-blog/full-story/~/road-signs-retroreflectivity/?storyid=328c8880-941b-4adc-a9f9-46a1cd79e637

image.png.9d5a348083b497e1b897a21c0a7b16dc.png

 

A simple material with high reflection values would not work as:

  1. We are only interested in reflect the light.
  2. The visibility of the reflected light depends on:
    • Intensity of light source
    • Position and orientation of the viewer (camera).  The closer the viewer is to the "cone of reflection" the stronger the visibility of the reflection.

I do not know if I need a special shader for it (Shaders are not my strength) .  But I think I have a small idea of the basic concept.

I can imagine I would need a a texture with a pattern (could be bars, hexagons, etc) . This texture needs to be use as a mask. And only that mask needs to be reflective.  But, this reflection needs to consider points 1 and 2 above. 

image.png.3fda37218fd7fab7d08a69ede563c726.png

Screenshot taken from https://svigraphics.com/custom-vinyl-graphics/reflective-chevron-panels/

Thanks in advance for your time
 

Link to comment

I guess it would need to be a special shader, kind of a special BRDF or modification of GGX model... Anyway I think it can be "faked" also with a material graph with view/shading manipulation, but immediate problem I see with textures with too small micro patterns  is mipmaps and anti-aliasing (either it would be too blured or too crisp with moire if no mipmap applied) so it would never get right at any distance...so a more simple approach would be needed (not trying to exactly mimic real material)

have a look at :

https://github.com/RDTG/UnrealEngineRetroreflections

for the shader part, it's implemented in UE, it should be easily ported to Unigine.

 

Link to comment
  • 1 year later...
×
×
  • Create New...