0
$\begingroup$

What options / tools are there to create stylized shadows in Blender?

I have been able to find a method that works in the way I want, but at the cost of adding thousands of extra triangles to my geometry.

I have been experimenting with rendering stylized/pixelated low poly & low res shadows in blender.

I found that using the ray-cast node in geometry nodes it is not too difficult to create a pixelated shadow that fits to a fixed grid size (in this case a plane that has been subdivided into squares for each "pixel" of my shadow), and then have the shadow animate as you move a light source around.

In my example I perform a ray cast from each face of the mesh towards the light source, and test if we hit the geometry of Suzanne. This allows us to control the color of the shadows as well as create a nice pixelated effect that can be aligned with a pixel art texture on the plane, in this case a simple checkerboard pattern.

Here is the setup I am experimenting with currently:

Geometry Nodes example setup

Example render of Suzanne casting a red pixelated shadow onto a checkered plane

This resulting visual effect is exactly the kind of shadows I'm wish to make, however the drawback with this method is that it involves adding thousands of extra triangles to my mesh.

I have tried several other methods for creating this specific effect in other ways, for example baking the lighting data to a texture and then creating a shader to "pixelate" the shadows, which works for ambient lighting, but not so for dynamic or moving shadows, also I'd prefer not to have to use cycles since the style I'm going for is a low resolution, low poly look anyways, and my pc is not very fast.

I tried using compositing nodes, but I'm not really sure how you would pixelate the shadows but still have the "shadow" pixels be aligned with the "texture" pixels, in this example that would mean keeping it so the red shadow is aligned with the checkerboard texture.

I know there are options in the rendering settings to reduce the resolution of shadows, to create a "pixelated shadow" look, however, again these shadows are not aligned with the pixel grid of the texture so that isn't quite what I'm looking for.

I was able to create something similar using only shader nodes, without any geometry nodes, but only with very basic non rotating "drop" shadows, since I don't believe there is any equivalent to a "ray-cast" in shader nodes. At least not without custom shader nodes and thus using cycles.

It might be possible to do this using custom scripts/python, which I am willing to learn how to do if that's the case, I just want to make sure there isn't an easier way to accomplish this that I have simply overlooked. I'm still somewhat new to blender, so it's entirely possible there exist a tool that I'm simply unaware of that would make this much easier but after two weeks of scrolling through menus and message boards and experimenting with half a dozen or so different methods, I'm realizing I have to accept the small amount of social anxiety and actually just ask others for help.

I didn't want to overwhelm everyone with too many details of every single thing I have tried so far, but if there is any need for more clarity about exactly what I'm am trying to accomplish please let me know!

I appreciate any feedback or suggestions of things to try, even if there isn't a "simple" answer to my question, I realize this is a somewhat specific look that I'm trying to achieve and it may be possible that the node based tools simply aren't gonna cut it for my case.

In terms of other restrictions that may prevent other solutions from working, there really aren't any that come to mind, I don't plan to do any scenes with more then a handful of light sources, I don't plan on using complex models, or high resolution textures / shadows, I'm willing to switch to cycles rending or workflows involving multiple steps if needed, so long as I am able to get some kind of feedback on how my shadows are looking at different parts of the animation. Basically, so long as I don't have to draw the shadows in by hand every single frame, and my computer doesn't need to draw thousands of triangles in what is supposed to be a "low-poly" style.

$\endgroup$

0

You must log in to answer this question.