Hi Folks,
I have a model that has some oil runs and drips, and I want these to have some depth as if they are some viscous liquid.
Here is the sort of look I am after for:
Here is a preview of what the model looks like without any bump or normal mapping for the drips:
The shader setup is quite simple, and consists of a two principled shaders connected to a mixshader with a texture paint mask as the “fac” (to control where oil shows). The oil run texture is a simple jet black principled shader with roughness=0 and clearcoat =1 (clearcoat roughness= 0). I added clearcoat as this looked better than just setting it to roughness 0 without it.
I actually want something a little exaggerated from life, as the helmet and runs are obviously only a small part of the finished poster.
I tried first of all just hooking up the texture mask to a bump node - didn’t expect this to really work, and it doesn’t. I then tried just exaggerating the black and white texture edges (edge detect etc in gimp) and using this as a simple bump map. Didn’t achieve much.
I then tried something I’ve had workable results with before - a “pseudo” normal texture. I applied the texture mask using a displacement modifier on a highly subdivided plane, which created the drips as real 3D features. I then did a simple viewport render from above using the “normal” matcap to produce the image below. The drips are raised and correspond to their UV position, so they should line up with the black oil drips. I also tried making a normal map in gimp as a comparison (it’s a little different, but neither give good results).
The pseudo normal map didn’t do much, but the “proper” normal map in Gimp gave me this:
Which is maybe…1% better? I think you can see a tiny improvement in the run going down the side of the mouth area, and some of the other runs around the eyes.
[Edit] I should add, this does give weird artefacts at the edge when viewed out of cycles (it’s already an 8K texture, I don’t want to go higher and higher to smooth it out).
Any thoughts? I’m probably missing something obvious. This has to be do-able with a texture right?