scratches around relflection

I saw that in a lot of real world metal materials. and I wonder how can achive this in cycles:
http://i.imgur.com/WTjNTQ3l.jpg
As you can see, the scraches is showed just around a reflection of strong light source.
(Sorry of my bad enlish)

1 Like

It can be done with a black and white bump/spec/scratch map. You feed that into a bump node, and you can also use it a bit for specularity control. In this version I created the big scratches with too thick of a brush, and the material needs work, but you get the idea.

Packed blend


1 Like

I use only a small amount of displacement (thinner lines = finer scratches)



Blend link (w/o environment map):
https://www.sendspace.com/file/7nolq4

1 Like

http://www.blenderguru.com/tutorials/introduction-to-anisotropic-shading/#.U7P7B_ldXwo

Good tutorial on Anisotropic Shading, which I think is what you were asking about. Otherwise its just like the two above said, a bump map for the more random scratches.

No. You all didnā€™t understand. I will try to explain again: Glossy have relflection right? The scratches apear only around strong light source reflections, like the sun in the example. No around a certain point. if I will move the light source, the scratches will apear around diffrent point acording to the reflection point of the light source. (hope you got itā€¦ sory of my bad english)

3 Likes

Just to be clear: So, in your picture we are actually looking into a concave metal dish, like e. g. a salad bowl or the backside of an old hub cap?

Utilizing a scratches map, increase just slightly the roughness where the scratch is located. Scratches will be everywhere, but the increased roughness will make it more likely the bright object will be reflected rather than the darker surroundings.

Which is kind of the same deal as burnin shows (with displacement). I can see scratches everywhere in both his and your image, but appears ā€œbrighterā€ (in both) because those scratches reflect the bright object.

Unfortunatly the effect youā€™re looking for is not easy. the best i can think would be lots of anisotropic shaders, each with different tangents and masks, all added together. But it seems a nightmare to deal with thisā€¦ maybe in osl can be easier to do itā€¦ :frowning:

hereā€™s my sugestion in practice:


Probably it wonā€™t look good for animations as the noise map is not fixed to the surface, (but in reality you normally just see each scratch just from one angle, so maybe it can work)

Iā€™ve just used 8 directions, but you can add more. The scratchesā€™ size can be controlled by the size value from the noise texture, and for the quantity just change the RGBCurve node. Changing the roughness and the anisotropy values in the anisotropic shader can lead you to some glossy stars. Just play with it and change it as you need.
Maybe you can even throw away the bump node, i think its effect is quite superfluous.

BrushedMetal.blend (564 KB)

edited: for the diffraction grating effect that you can see in your picture, i still havenā€™t found a good solutionā€¦ :frowning:

Hi all. I did this scratched metal sometime ago:


It is completely procedural and you can find the explanation here.

Is this something along the lines you want?



If so, Iā€™ll clean up the project and upload. The highlight on the sphere should give a basic idea what itā€™s all about, although I mix in some bumpmapping and normal maps. The actual scratches happen to be those in the post above this, just rendered out at various densities and noised up coordinates (to make them non straight). Itā€™s a very nice procedural pattern, that (as usual) tend to be too slow (for me anyways). Better and more complex pattern generators in Cycles would have been much welcome, since it would speed things up (construction time and render time wise).

Other than that, Blender/Cycles doesnā€™t really support the concept of microgrooves very well.
Here is a paper on microgrooves, scratches and so on. Maybe some day in blender? :slight_smile:

Again, Iā€™m not sure if this is what youā€™re looking for, and my approach might not work well in all circumstances.

secrop-- You were the closenst. The idea works technicaly thoug it is not looking as good as I wanted. I mean the scratches are around the reflection point but they are not looking as in my picture.
I stil need to understand what exactlly you did there any wayā€¦
I donā€™t know what about you, but as I see until now - It seems like cycles canā€™t make this effect! do someone saw a CGI work with this material before? If so, what is the render engine?

As far as i know, thereā€™s no algorithm for this kind of effect in any physically based render. :frowning:
Until now, iā€™ve only seen textured based materials for this specific reflectionā€¦
Maybe i can improve my first shaderā€¦ Iā€™ve some ideas that may turn it a bit faster, instead of using a huge amount of different Anisotropic shaders, for each directionā€¦

Thank you. I will try to take a closer look photo of the bowl. maybe it will help.

A video might be better. I just have a hard time understanding how random scratches would form circular highlights. Not saying it isnā€™t so, just that Iā€™ve never observed it myself. And your initial image does to me indicate productional grains/lay pattern (circular grooves) mixed in with wear and tear scratches. What material is it, what surface finish is it, and what surface roughness would you estimate (not sure it would help, butā€¦)?

@Secrop: I like the material setup, but Iā€™m not following whatā€™s actually going on. I donā€™t think I have ever made use of vector cross products myself, other than happy little accidents. :slight_smile:

@CarlG, this is something very common, not only with metals, but also in other materials like plastic, glass, etc. Normally youā€™ll see it better when the light thatā€™s shinning is very strong. The great problem for making this material is that it lies between a very localized anisotropy and a simple gloss with roughness. Statistically (because cycles loves statistics!) It looks as a gloss from the distance, and if you look very close you can define that each scratch can be represented with an anisotropic model. But in the middle you get the image ShacharHarshuv posted, and thereā€™s no mathematical model to represent that. (that i know, at least).

About the shader iā€™ve posted,

The small nodegroup, is just a 2d vector creator, using a sine and a cosine of an angle to make the coordinates.

The cross product, between two vectors returns a vector perpendicular to both of the vectors. If one of the vectors is the surface normal, than the result is a tangent vector, but rotated around the normal, to be perpendicular to the other given vector.
This resulted tangent is what i use as the main ā€˜tangentā€™ for the anisotropic node, and as the coordinate system for the noise node which gives me those streched lines.

What i tried to simplify a bit, was to group every scratch with the same direction in just one anisotropic node, instead of calculating each scratch on its own. (that is what the noise texture is doing)
But this is still a lot for cycles, as we need different directions, and therefore, lots of anisotropic shaders. :frowning:

One idea that I came to mind, to simplify things even further, was to make each anisotropic shader to represent more than just one direction, so that we need a smaller number of themā€¦ But i havenā€™t spent any time testing thisā€¦ It might work, but for now itā€™s just theory.

Found It! http://vimeo.com/100344603 (go to 0:22)
someone has program it, for cycles! And itā€™s looking great. Now, how can I use it?

1 Like

I donā€™t know how they did it in the movie, but i remembered that Michel J. Anders (aka varkenvarken) wrote once this osl ā€˜Hagelslagā€™ script that could be used for scratches. I did a very tiny modification to the script so it also outputs the tangent vector corresponding to each scratch, that can be plug into the anisotropic shader. And the results are quite similar.


scratches.blend (431 KB)

1 Like

Hey, this may be useful for you, even if itā€™s not Blender:
http://viscorbel.com/microscratches-swirl-marks-spiderwebbing-vray-tutorial/

Anyone saw this:Siggraph 2014: Rendering Glints on High-Resolution Normal-Mapped Specular Surfaces
Papers here: http://www.eecs.berkeley.edu/~lingqi/
Would it be viable with cycles?