Building a Fancy Stylized Tree Shader in Blender 3.2
Вставка
- Опубліковано 3 чер 2024
- Learn a bunch about shading by making an excessively fancy tree leaf shader! Our subject is a spherical tree that will get custom radial Normals, mixed colors, and much more. We'll try to keep it compatible with Instancing and Scattering, but this tutorial isn't about those.
You do not need a huge amount of shader node knowledge to follow along, but this is probably above absolute beginners. There's lots of good foundational information like how to balance lights, map ranges, and mix colors. Also advanced stuff like lifting Normal Map details and applying them to Custom Normals via Surface Gradients!
Topics:
- Balancing the Sun Light
- How World Lighting affects shading
- Basic and advanced Radial/Sphereical Normals
- Faking Sun Angle in the material
- Making fake shading (Lambert Shading)
- Lots of color mixing and effects
- Leaf Texture (alpha and Normal Map)
- Randomized UVs
- Getting Random Per Island in Eevee via Geometry Nodes
- Compensating for Object transforms in Object based Normals
- Mixing Noise into Normals for variety
- Using Surface Gradients to combine Normal Maps and Custom Normals
- Faking tree density with Object Coords
- Using AO to darken and brighten things
- Distance from Camera based masks
- Tons of other random stuff.
Blog post for this project:
www.aversionofreality.com/blog...
File Download on Gumroad ($2+):
aversionofreality.gumroad.com...
Support me on Patreon:
/ aversionofreality
Social Links:
/ aversionreality
/ aversionofreality
www.artstation.com/aversionof...
Timestamps:
00:00 - Intro
03:44 - Starting Setup
06:12 - Balancing Lights
13:54 - Basic Radial Normals
18:43 - World Lighting
27:06 - Sun Angle
30:30 - Lambert Shading
47:50 - Mixing Colors
59:16 - Gloss?
1:03:30 - Leaf Alpha Texture
1:06:52 - Randomizing UV tiles
1:10:10 - GN Random Per Island
1:12:42 - Advanced Radial Normals
1:24:12 - Object Normal Transforms
1:37:40 - Normal Noise
1:44:17 - Surface Gradients
1:51:00 - Rendering Normal Maps
1:57:38 - Faking Density
2:07:27 - Ambient Occlusion
2:11:35 - Applying AO via Soft Light
2:14:43 - Noise Density
2:15:49 - Distance Masks
2:23:06 - Conclusion - Навчання та стиль
Pin me hahahaha
Such is the reward for being FIRST
@@aVersionOfReality ahahahaha nice nice
This should be required watching for anyone new to shading in Blender.
it's like listening to professional teacher, so amazing
Incrediblly useful content! Thanks for all the hard work.
Wow. That was insane. Really detailed and useful. Totally worth the 2.5 hours.
I really love this, thank you!
This is amazing, thank you!
this is gold
You are an incredible person!
This is amazing!!! Thank you
Nice! Advance tutorial for free, thanks!
There was a standard baked plane with normals realistic tree going 'viral' on twitter as if normals on planes wasn't an incredibly old technique. This, on the other hand, is actually mind bending.
Hehe, thanks! This can also just be done in a plane except for the density and AO part (although that could be baked to one!)
Great video sir
First attempt watching the video and I got about 50 minutes in before I lost track of what was happening in the shader. I'll definitely be back after taking some time to recollect what I just learned
Let me know if you've got any questions! There's a lot in there.
Very interesting! I watched all the way through and learned a lot. I do have one issue, though. Scaling the leaves doesn't scale the density masks. So if I were to use this shader on smaller clumps of bushes, I'd have to change the values of the center mask map range to match the smaller scale. Any advice would be appreciated
Yes. You could probably automate it to set the density set on some other parameter, like bounding box volume. I've not actually tried solving this problem yet, but there should be lots of ways that would work.
nice video
this is amazing piece of information. Thank you! One question, you mentioned in the beginning that you are turnig of cast shadows and that you will explain laiter how to get cast shadows back without messing up the shading inside the tree. Is there a way?
The problem is that the Eevee engine's cast shadows are pretty terrible. I believe they are getting improved soon though. There is no problem using them to have the tree cast shadows on things right now, but you'll want to avoid having the tree shadow itself. This can be done with lightpath. But then it also can't receive shadows. Basically, there's no perfect fix until Eevee's shadow options improve. But in other engines it can be fixed.
can u make fast tutorial for old version?
Love the look that's DEFIANTLY what I'm going for but I'm making a tall "eastern white pine tree" it's not as round or full of leaves like your tree so I'm worried I might see some floating leaves. Hopefully you can make an updated version in the future, one that isn't as LONG as this, or has TOO MUCH stuff in it.
I was following the tutorial but up until the "Lambert Shading" part the shadows are at a 45-degree angle whereas his are vetical. After I decided to-do what he did by putting the drivers of Combine XYZ, Value, and RGB in 1 group. Also, I'm doing all this in Blender 3.6.
It’s MY slumber party; I get to choose the movie!
Excellent choice if the goal is a good night's sleep for everyone!
Beginner question here: do you have a tutorial on how to create that tree? Mine somehow... sucks compared to yours :D
Gonna get the blend-file from gumroad anyways to appreciate your effort in this video, but would be cool to see the process :)
Just what it shown here. There's nothing special going on beside playing with the Sapling settings until you get something you like.
Would it be possible to add a highlight color to this? I'll buy it again for even more 😅 🙏 It's so gorgeous as it is too, you're a creative genius! 🤩🥰
There's lots of ways that could be done. Like take the shading and ramp it to only the part most facing the light, then use that to brighten the rest. Or you could use gloss like mentioned in the video, but that's harder to get working just right.
Thank you! 😊
Omggggg I fkn love you
Is it possible to bake this into a mesh with textures and export in a GLB?
You can bake the output as color and the Normals to a Normal map. And you can make similar setups in other engines. I'm not really familiar with GLB or what it can hold.
2:04:49 Couldn’t you just use generated coordinates and separate XYZ?
In some cases. Gen cords are based on the bounding box, and are pre-deformation. So depends if you want those things.
Will this work with cycles or its eevee only?
Shader to RGB is eevee only. The Lambert shader will work in either, as will all the rest that does not depend on Shader to RGB. There are some things you need to do in Cycles like use Light Path Is Camera Ray to stop Emission shaders from actually casting light.
@@aVersionOfReality thx for the quick reply, definitely gonna try it
@@rakdos5371 Feel free to contact me if you run into issues.
@@aVersionOfReality I will, thanks mate
Brain's explosion, now.
oh god before creating this shader i need to create the tree and how ? hahahaha
Can you animate this
22.00
It worth metioned what this is not "Lambert shading". Default "Lambert shading" are indeed NdotL, while those trick of calculating (NdotL)*0.5+0.5 are not Lambert diffuse, but so called "Half Lambert" or "Wrap diffuse". Not sure why you add 1 instead of 0.5, it looks okay, but normally its 0.5. Maybe its some blender things, i dunno.
Its widely used not only in stulyzed games. Half-Life 2 was using "Half Lambert" for character lighting. The more stylyzed game INSIDE was also using this trick to fake global illumination.