Reply
Reply
 
Thread Tools Display Modes
coots7's Avatar
Old (#1)
So, I spilled water on my grey shirt. And my shirt became a darker grey in that spot.

Why does this happen???

If water is clear and the albedo of my shirt is grey, why does it get darker?

Why is wet sand darker than dry sand? Wet asphalt darker than dry? etc etc etc??

Is this something to do with water refracting light on a rough material thus making it more rough? Materials like a plastic rubber ducky can get wet and not look darker, because it doesn't absorb water and it retains it's material properties. So how would you translate this effect on materials that do absorb water like cotton, or dirt to PBR? Does the albedo change? Does the material have more roughness/less reflection because of micro refraction or something? Whats the deal?!?
_____________________
Clark Coots Portfolio
Environment Artist at Firaxis Games
Online , polycounter, 862 Posts, Join Date Jun 2011, Location Baltimore, MD  
   Reply With Quote

Muzz's Avatar
Old (#2)
"One very perceptive question that came in on the Morning Show was, "Why does cloth get darker when it's wet?"

A wet cloth looks darker because less light is reflected from a wet cloth. Any cloth is woven from a yarn or fibre. That fibre is in turn made of smaller micro-fibres. Light comes from the room lights, or from the Sun, and lands on the cloth. Some of the photons of light are absorbed, but some are reflected and land on your retina - and that gives you the sensation of seeing the cloth as having a certain level of brightness. But when the cloth gets wet, the water fills in the gaps between each individual strand of fibre, and also between each individual micro-fibre. When light falls on the wet cloth, some of it is now more likely to enter the water, and be bent away from your eyes. So some of the light that would have previously been reflected off the cloth back to your eyes, is now bent away.

Fewer photons of light get back to your eyeball, and so the wet cloth "appears" darker than the dry cloth. But as the water gradually evaporates, more and more light is reflected back to your eyeball, and you see the brighter colour of the fabric again."

Source
http://www.abc.net.au/science/k2/homework/s95587.htm


Now the complicated question is, Why do some metals have a coloured specular? (i'll provide the answer if you can't work it out).
Twitter! Colour Constructor!- Colour and value cheat sheet.
Offline , veteran polycounter, 2,757 Posts, Join Date Feb 2009, Location Brisbane Aus  
   Reply With Quote

rogelio's Avatar
Old (#3)
Yes albedo changes aswell as the roughness values but depending on the material that the wetness is added on to. The albedo also can get more saturation so it is not just a darkening effect, but also a saturation increase. Plastics if non dusty completly clean only show the roughness change, since plastic lacks the absorption nature of other materials the albedo in theory should not change.

Also for shirts dropping water can add to the translucency so if you are doing a character for example you would be affecting roughness values, Albedo, and translucency... and if your shader is super robust settings like fuzz, and micro wrinkle clumping.

Dirt is the easiest to make into mud instantly. Usually for my own crazy sanity I start with the purest of the material say I want to make a rad mud well I start with dirt and layer into water and deformation qualities to make the dirt transition to mud. Eventually you start to work in more layered workflow when figuring out how to construct complex materials.

Oh yeah Muzz hit the actual science reason.
Rogelio Olguin Environment Artist : Linked in / Portfolio / Blog
Offline , triangle, 265 Posts, Join Date Nov 2009, Location CA, Santa Monica  
   Reply With Quote

JedTheKrampus's Avatar
Old (#4)
That's what the "porosity" parameter that you see on Sébastien Lagarde's blog is all about. The porosity parameter is used to calculate how much darker something gets when it's wet. If something is really porous it will get a lot darker when wet and it will take more water to get it to be 100% glossy. If you don't need your material to change wetness over time, you can just layer water on your material like any other material layer. In Unreal Engine terms, a full water layer has specular of .4125, roughness of 0, and base color of black. Typically on a texture you'll want it be fully glossy in wet areas, but not completely dark on the base color.
Offline , polycounter, 769 Posts, Join Date Nov 2013, Location Kansas City, MO  
   Reply With Quote

CapableWizard's Avatar
Old (#5)
I think Muzz nailed it but this video does a pretty good job of explaining it!

Aspiring Character Artist
Portfolio
Offline , spline, 119 Posts, Join Date Nov 2013,  
   Reply With Quote

Muzz's Avatar
Old (#6)
Nice video!

If you guys want to read more about colour science i highly recommend this website. http://www.webexhibits.org/causesofcolor/index.html
Twitter! Colour Constructor!- Colour and value cheat sheet.
Offline , veteran polycounter, 2,757 Posts, Join Date Feb 2009, Location Brisbane Aus  
   Reply With Quote

coots7's Avatar
Old (#7)
Thanks everyone for the information. Actually makes some sense now!
_____________________
Clark Coots Portfolio
Environment Artist at Firaxis Games
Online , polycounter, 862 Posts, Join Date Jun 2011, Location Baltimore, MD  
   Reply With Quote

gnoop's Avatar
Old (#8)
I never tried a shader with porosity , just a usual PBR roughness/metallic ones and they do have problems with making nice looking wet surface and imo old not energy conserving non-PBR method allows to fix it easily .

I mean that many pretty rough and grainy surfaces when getting wet starts to reflect very intense highlight into still pretty wide angle and until you have a very hi res normal map you can't recreate it very well with typical PBR where it works other way around : more intense highlight with narrower angles only (polished surfaces)

While wet grainy surface keeps to be polished on micro level and pretty rough on macro one
Offline , spline, 211 Posts, Join Date Apr 2010,  
   Reply With Quote

EarthQuake's Avatar
Old (#9)
If you want to represent the roughness of the lower layer and the smoothness of the water covering it, the best way to do that would be to use a shader that allows a second layer of additive reflectivity. Bonus points if your shader allows you to use a separate normal map as well. Here's an example scene showing just that for the wetness pass on eyeballs in Toolbag 2:

https://dl.dropboxusercontent.com/u/...bag2eyes01.zip



This uses two meshes, and two materials, the second set to additive blend mode, but this should be possible to do in a single pass material as well, and is generally how car paint shaders work.

In a PBR shader, glossier surfaces will naturally reflect a tighter, brighter highlight, so theres nothing special you really need to do (other than darkening the diffuse for surfaces that absorb water), and there isn't anything magic you could do with an old-school shader that you can't with a PBR shader.

Last edited by EarthQuake; 06-22-2015 at 09:07 PM..
Joe Wilson | Lead Artist @ Marmoset | Folio | AS | TB2 | Viewer | Panos
Offline , Moderator, 11,517 Posts, Join Date Oct 2004, Location Iowa City, IA  
   Reply With Quote

gnoop's Avatar
Old (#10)
I meant not exactly this. Rather a surface of grainy and wet asphalt , not puddles, just a very thin water cover above a very grainy surface where each grain reflects very intense highlight in slightly varying direction.

Altogether it produces a pretty opposite result of what PBR imply for water surface or just polished ones - tiny and bright highlight spot .

In such case you see blinding bright and still pretty huge highlight spot . You could see that in wet edges of puddles sometimes.

I agree that with PBR you also can make something like that with not so polished pixels but since they are making weaker highlight you would want to get rid of the energy conservation to make the effect truly realistic.

Last edited by gnoop; 06-23-2015 at 03:51 AM..
Offline , spline, 211 Posts, Join Date Apr 2010,  
   Reply With Quote

EarthQuake's Avatar
Old (#11)
When it comes to something like asphalt, you notice the bright reflections because of Fresnel, at grazing angles even rough surfaces approach 100% reflectivity. Fresnel is a fundamental concept built into PBR systems and you don't have to alter your art content specifically to account for it, it just works. When you look at an asphalt road, you're frequently looking at it from a grazing angle, unless you're looking down at it, in which case it most certainly does not have higher than normal reflectivity.

Looking down at wet asphalt:



From this angle, wet asphalt is not exceptionally reflective. However, if we look at it from a grazing angle:




We see a much more reflective surface, due to Fresnel. This is also why when driving on the highway, at certain angles the road will appear to glow with an almost mirror like reflection, again this is Fresnel at work.

If you watch the Infiltrator UE4 demo, you'll see the same effect on the wet floor panels:

more references:
http://filmicgames.com/archives/557
http://www.marmoset.co/toolbag/learn/pbr-theory

Water helps to smooth out the rough surface of asphalt, which means there is less reflection micro-occlusion at grazing angles, so the Fresnel effect tends to be more visible and thus the reflections appear brighter, however, the reflectivity is not any higher, and again all of this simply works out as you would expect in a PBR shader. The base reflectivity of both water and asphalt are around 4%, there isn't something special that happens when you combine them that increases the reflectivity.

Last edited by EarthQuake; 06-23-2015 at 07:55 AM..
Joe Wilson | Lead Artist @ Marmoset | Folio | AS | TB2 | Viewer | Panos
Offline , Moderator, 11,517 Posts, Join Date Oct 2004, Location Iowa City, IA  
   Reply With Quote

Drew++'s Avatar
Old (#12)
Sébastien Lagarde did some more technical writing on this exact topic, but you can probably still learn a lot from it.

Here's an article that's about physically based wet surfaces.
https://seblagarde.wordpress.com/201...-wet-surfaces/

And here's one that links to several other rainy worlds and environments, including wet surfaces.
https://seblagarde.wordpress.com/201...e-rainy-world/

Offline , triangle, 263 Posts, Join Date Oct 2009, Location Fort Worth, Texas  
   Reply With Quote

alanfatfish's Avatar
Old (#13)
interesting
Offline , null, 1 Posts, Join Date Jun 2015,  
   Reply With Quote

gnoop's Avatar
Old (#14)
EathQuake, I am talking about highlight reflection, not fresnel environment one.

You are not always see much dimmer highlight on rougher surface if that rough surface is constructed of very reflective wet grains.

So that energy conservation being right in theory , in practice just doesn't allow to compensate enough for not precise enough surface representation.

I bet that night photo would be pretty hard to recreate in typical i game PBR without special anisotropic highlights and rather specular/glossiness than metallic/roughness approach

Last edited by gnoop; 06-23-2015 at 12:11 PM..
Offline , spline, 211 Posts, Join Date Apr 2010,  
   Reply With Quote

EarthQuake's Avatar
Old (#15)
Quote:
Originally Posted by gnoop View Post
EathQuake, I am talking about highlight reflection, not fresnel environment one.

You are not always see much dimmer highlight on rougher surface if that rough surface is constructed of very reflective wet grains.

So that energy conservation being right in theory , in practice just doesn't allow to compensate enough for not precise enough surface representation.

I bet that night photo would be pretty hard to recreate in typical i game PBR without special anisotropic highlights and rather specular/glossiness than metallic/roughness approach
Sorry it's taken a while for me to get back to this, but I made a quick example.

The reflections in those night photos are extremely easy to replicate as long as you have a modern reflectivity BRDF like Blinn-Phong or GGX. Phong might not work very well. You certainly don't need to use an anisotropic shader.

Energy conservation/metalness maps/etc are also not in any way a limiting factor here either. Wet surfaces don't magically become more reflective, they just get a bit darker (albedo) and smoother as the water fills in all the pores/cracks/etc.

Dry:


Wet:


The only difference between the wet and dry materials is the wet has a slightly darkened albedo, and the gloss map has been edited to be glossier(brighter). Both materials use a fixed 0.04 reflectivity value, the same that you would find in a metalness PBR workflow, and fresnel of 1 (typically a locked value in PBR systems).

Fresnel is very important for this type of material, because you're likely to see it at a grazing angle. That's why it looks so reflective. It's not because it's wet, it's because of the gloss value and fresnel.

To illustrate how Fresnel works, look at an object at various angles. You'll notice that as you shift from a grazing angle to a straight on angle, the material looks less reflective.



Here will Fresnel at 1 and 0, you can see how important it is to making a surface like road look wet.



Again, no tricks, no breaking the PBR system, no special shaders, just a couple simple parametric changes to the material gives you the difference between wet and dry.

Last edited by EarthQuake; 07-31-2015 at 02:52 PM..
Joe Wilson | Lead Artist @ Marmoset | Folio | AS | TB2 | Viewer | Panos
Offline , Moderator, 11,517 Posts, Join Date Oct 2004, Location Iowa City, IA  
   Reply With Quote

EarthQuake's Avatar
Old (#16)
Short youtube, as it looks better in motion:

Joe Wilson | Lead Artist @ Marmoset | Folio | AS | TB2 | Viewer | Panos
Offline , Moderator, 11,517 Posts, Join Date Oct 2004, Location Iowa City, IA  
   Reply With Quote

tungerz's Avatar
Old (#17)
Looks great Joe,
Nailed the wetness
Offline , spline, 144 Posts, Join Date Aug 2014,  
   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.

Copyright 1998-2014 Polycount