Join Blender Studio for just €11.50/month and get instant access to all of our training and film assets!
In this workflow example I show how to extend the simple wall shader from the first workflow example with the functionality to dynamically paint away the plaster to expose an underlying wooden structure.
It contains:
Find the Full shader in the adapted example scene: https://cloud.blender.org/p/procedural-shading/5f2d40a5a72ef6dc71a8a612
Timestamps:
35:00 I can't seem to get the Displacement to work. Displacement and Bump looks the same as Bump Only, and Displacement Only looks completely flat. Do you have any suggestions for things to check? I'm using 4.1.
@Brian Mnichowicz I think I've got it now -- my problem was that I only had 4 vertices for the plane, and no subdivision surface modifier.
@Brian Mnichowicz Yes, you can only displace the vertices that already exist in the geometry. This displacement is not more granular than that.
This completely destroyed my laptop, but it was absolutely worth it!
If anyone's wondering, it looks like the correlation for the X component of the multiply vector at around 13:00 (for fixing the circles) is something along the lines of:
X = ((Object's X scale) * (Frequency of bars horizontal) / (Frequency of bars vertical)) * 2
I don't have an explanation for it since i was eyeing the formula but it seems about right for me
@Itay Sharon Correction:
X = ((Object's X scale) * ((Frequency of bars horizontal) / (Frequency of bars vertical))) * 2 Or more simply: (Scale.X * (H / V)) * 2
This was epic. Thank you. I am using 3.2, so I have the sculpt paint feature. Is it better than Vertex Painting for the mask, or is there no difference?
@Benjamin Bass It is currently still in heavy development and meant to eventually replace the old vertex color painting system. There are some features that the new system is missing still to be up t par, that's why they still both exist next to each other. But as soon as those are there it will be all-around better than the old system.
hey, I must apply my subdivision modifier to be able to vertex paint. I see in the video than Simon doesn't apply them and he's able to paint, am I missing something?
@Emmanuel I just went further in the tutorial, and I understood why. His mesh was already subdivided in addition of the modifier.
I;ve got stuck at 20:30. Unchecking "Clamp" for the map range for the horizontal bars makes no difference. Normally the horizontal bars should turn black when unchecking "clamp" and you connect the view Node directly to the output of that map range node. In my file nothings happens. I compared all values and found no differences to the example file. I really got stuck and would appreciate any help. You may download my current file from here: https://1drv.ms/u/s%21AkArx_WkEuwAhYhIhshF-paW2Xmqcw?e=RjdcNk
@Michael Schwarz Your RGB Curves node for the horizontal bars has a point in (0,0). This prevents it from going far into the negative and because of that the clipping does not make much of a difference. You can just remove that point in the Curves node and it should be fine.
@Simon Thommes OK. I think I've got. I have to reset the curve and then set the 3 points again. My question is: how have seen that there was a point in 0,0 ? Or was that just an assumption concluded from the behaviour?
@Michael Schwarz It was an assumption, but I can simply select it by clicking in the general area in the file that you provided. Maybe you have to reset the view of the curve, if you zoomed in and can not see it because of that.
@Simon Thommes Oh. I see. Thanks!
@Simon Thommes sorry, but I can't see that point and neither I could delete it. I played around with the RGB curves a bit and actually I came sometimes to a point where ir worked as it should but I was not able to reproduce this. Please have a look at this commented screenshot and please advice how to find and delete that point in 0,0. File: https://1drv.ms/u/s%21AkArx_WkEuwAhY0NrL-HyYnbhyEMXw?e=bsZRRa
At 21:00 when you're combining the height maps for the wood, I don't understand why the maximum node is the right choice, since you want the lower values from the vertical bars.
I'm also not sure what effect unchecking "clamp" has on the map range node. It seems to suggest it's no longer clamping to the "To Min" and "To Max" values. Does that mean only the "From Min" and "From Max" values are taken into account? If so, what's the point in setting the to min / max values at all?
*@Gary* when we use the maximum, we take in account the high value of the both functions without changing the value as the space where they overlapping each other.
now for example, we have a plane of value from 0 to 10. we add a map range node and turn off the clamp.
we can use from min = 0, from max = 10. then to min = 0, to max = 10. it's from (0 to 10) to (0 to 10), the value remains the same, and that makes sense, right?
now use to max = 1, now it's from (0 to 10) to (0 to 1). still makes sense, right?
so for every steps of (0 to 10) will be scaled to ("to min" to "to max"). for the value that goes from 0 to 10, there is only 1 (0 to 10) step.
now with from min = 0, from max = 1, we use the step of (0 to 1) for our value. for the value of 0 to 10, we have 10 steps of (0 to 1). and every of them will be scaled the range of ("to min" to "to max").
for example, from min = 0, from max = 1, to min = -3, to max = -1. so the first step will be -3 to -1. the 2nd is will continue from -1 to 1 and goes on.
to know how the "clamp" work, you should take a value from Geometry>Position coordinates and scale the mesh bigger, then turning on/off the clamp. The bigger the mesh, the more position value it covers. turning on clamp will stop the value at the to min to max.
*@Gary* Thank you *@Huân Lê-Vương* for helping out, I'll put it into my words also.
The maximum node is used because the map that we want for the combined heightmap is everywhere the one that is protruding higher. Because the horizontal bars are higher that means that those are layered in front of the vertical ones.
In the places of gaps the clamping is important though. The gaps for both maps are at the height that is set as the To Min value because the maps are clamped.
That means all values lower than the minimum are cut off to the minimum and the same for any values higher than the maximum. (I would recommend you to take a look at the map range node in particular with the value graph tool from Chapter 1.)
That means the map with the horizontal bars is higher everywhere, as its minimum is as high as the other map's maximum. When only one of the is clamped, the unclamped one dives rapidly into the negative values in the gaps and so for the maximum node the clamped map is definitely higher in the gaps and so in the gaps the vertical bar map is considered as the maximum.
Simon this workflow examples are amazing.. The learning now feel more grounded.. Thank you for making this course.
Anyway do you have plans to do more courses?
*@victor p* I would get more membership time for his courses
*@victor p* Thank you very much, I am glad they are helping! The idea is to finish this course as an extensive collection of all the concepts of fundamentals of procedural shading. As that it is pretty complete and so I won't make another course in the same vein. But I can definitely see doing workshops on more specific and practical cases in the future! Also I want to successively add more advanced additional concepts, as I pointed out in the 'Content Overview' video.
Generally, as long as I am part of the Blender Studio, I will be adding content to the Cloud, also in the context of future open movie production. Breakdowns and tutorials are a part of that :)
*@Simon Thommes* will be waiting for other course or workshop. Anyway if you can make explanation on how you make your shaders that will be very interesting to follow along.
Question, why not put your mix shader (to mix between the plaster and the wood frame) after the mix shader with the transparency?
Seems like it would be much easier, that way you don't have to worry about the transparency effecting the plaster?
*@kroneborge* You can also do that. The only difference I see right now is that the way I set it up the transparency is not affected by the backface-culling. I think that was the reason I did it this way.
Here it does not really matter but if you wanted light to be able to go through the gaps to the outside, you would have to set it up this way.
I make height map at 25:40 and change bump only to displacement and bump.
i can see some distortion like this : https://drive.google.com/file/d/1bO-WABgLi4EFtX6QutaN_gjqnR0XGU0U/view?usp=sharing and it can see in your example file too, but in this video 36:14 it is very tidy. i wonder why this distortion come up? can i delete it?
it is my blend file :https://drive.google.com/file/d/1f3OTqr96vWgH_4SnHU9fqcYqo_5GkEZ8/view?usp=sharing
*@Aron* What you can see there is just the displacement of the shader not having enough geometry to work with. If you enable the subdivision modifier for viewport display you can see how it comes together with more geometry. You are on the right track :)
Also setting the shading to smooth will help a bit.
*@Simon Thommes* Thanks to replying my question, it's work!
It will be nice in the next course to have the outputs connected when making changes, I know you are explaining each part, but the visualization of the hange is very important to me (and I believe for others) to get a feedback and help in the fixing of the thing, otherwise I feel very lost in the numbers.
Hello and thank you for the tutorial,
I'm at the part where you add a Map Range node to the vertical bar value. If I use "from min 0.8 from max 0.9" instead of "from min 0.2 from max 0.1", later I won't have to substract 0.5 to offset the value before I combine XYZ. The circles will be at the right locations. I don't know if there is any "consequence".
Edit: from min, from max
*@Huân Lê-Vương* Can you give me a timestamp in the video, so I know where to look?
*@Simon Thommes* I also use MixRGB instead of maximum/minimum so I can use less a node at the dispacement part from 18:47 to 25:35
My file: https://drive.google.com/file/d/1YEBmfHHtgDJXr9ngVLprEMCKAIuFcHqi/view?usp=sharing
*@Huân Lê-Vương* You can also use Mix nodes with a greater/less than mask, but then you have to make sure to mix between exactly the same maps you used for the mask as well.
About the node-count: Using fewer nodes is not always better. Even for performance it matters more which nodes you use than how many.
*@Simon Thommes* ah, actually I plugged the bolt's Map Range (24:10) to the "To Max" value of the horizomtal Map Range instead of using a Minimum node. I thought it only worked with MixRGB but it also works with Maximum too.
*@Simon Thommes* thanks!
then the diplacement just doesn't work properly. don't know how. i should go back to your method.
*@Simon Thommes* 5:59 and 10:52
*@Huân Lê-Vương* Ah, I see what you mean now. Yes, that seems reasonable to do!
Join to leave a comment.