Thread Reader
aVersionOfReality

aVersionOfReality
@AversionReality

Jul 13, 2022
12 tweets
Twitter

Working on a tree shading tutorial, but I still can't resist messing with Normals. This uses Surface Gradients to steal the Normals from a Normal Map and add them to the custom sphere Normals. Just the leaf detail gets used without the bad base normals! #b3d #bnpr #Blender3d

The tree shader now has features! This is an NPR shader that uses the shading and gloss masks to alter color Hue as well as Value. There's also some fake shading based off distance from the tree's center, and subtle details like AO (but only in shaded areas.) #b3d #bnpr
The tree uses Sphere Normals as a base. There are many ways to do them. Typically NormalEdit modifier (needs an Empty) or Object Coords (needs a rotation driver.) But now with #geometrynodes, we can use Bounding Box center instead of an Object and avoid all that! #b3d #bnpr
This method also works with Instancing. Obj Coord Normals don't that well. NormalEdit works, but has downsides of being mesh based, and overrides real Normals. The important thing here is that the sphere Normals stay aligned in World Space regardless of transforms. #b3d #bnpr
Its not hard to have lots of trees, even though I have too many leaves here and no optimization. #geometrynodes can pass more data to let us randomize Normal detail in the shader to get more variation. (More tree shapes or modular instances needed for a full setup) #b3d #bnpr
A challenge of stylized rendering in Eevee is all the different light contributors (a big topic of the upcoming video). We want to work with Black and White shading masks, but what if we also want World Lighting? You can cancel it out and then add it back later! #b3d #bnpr
Alright you can fully cancel out World and Sun light, do your stuff that needs a black and white mask, and then restore them. Technically you could do this for Point lights too, it just means more drivers and Distance calculations to the object. #b3d #bnpr
Typically in NPR rendering we use a Sun Lamp with angle 0. But if we use 180, we can get value further around an object than usual. And if we don't want it, we can map back to the original look. This lets us effectively control the 'Angle' as a material parameter. #b3d #bnpr
Okay, had some other work and had to make some decisions about what to include in the video, but now I've finalized the leaf shader and can record! Here's some subtle changes to the Normals and AO detail level based on distance from camera. #b3d #bnpr
The tree uses only a single shading node. Everything else is Normals or other input parameters. And since the Normals are created from the Bounding Box Center and Position, it isn't actually dependent on the mesh at all. #b3d #bnpr
Here's a breakdown of some of the effects involved. Will have the video out soon! #b3d #bnpr
aVersionOfReality

aVersionOfReality

@AversionReality
Developing Stylized Rendering Workflows + Tools in Blender Tutorials: https://t.co/3SjfFegCUX Patreon: https://t.co/ODtW7tXLF9
Follow on Twitter
Missing some tweets in this thread? Or failed to load images or videos? You can try to .