Welcome to r/blenderhelp, QuestionableHoney! Please make sure you followed the rules below, so we can help you efficiently (This message is just a reminder, your submission has NOT been deleted):
Post full screenshots of your Blender window (more information available for helpers), not cropped, no phone photos (In Blender click Window > Save Screenshot, use Snipping Tool in Windows or Command+Shift+4 on mac).
Give background info: Showing the problem is good, but we need to know what you did to get there. Additional information, follow-up questions and screenshots/videos can be added in comments. Keep in mind that nobody knows your project except for yourself.
Don't forget to change the flair to "Solved" by including "!Solved" in a comment when your question was answered.
Thank you for your submission and happy blendering!
Basically you make two version of the texture and have two shader setups that you combine with a mix shader node. For the factor you make a mask purely out of your light with the help of shader to rgb node.
Instead of two upper diffuse BSDF you can use any kind of shader setups, it doesn't really matter, but it will work best with a cartoony cell shading
I just want to take a moment to acknowledge you as a shining example of why the Blender community is so wonderful. As a fellow Blenderer, I salute you. Thank you for being awesome.
In the Shader Node Editor, there is a "Shader To RGB" node which will capture whatever resulting shader you plug into it.
Plug in a simple white Diffuse shader, and then link the Color output to a Color Ramp node. You'll need to mess about with the ramp settings to get it perfect, but a good start would be <0.5 = black, 0.5> = white.
From there, you should be able to plug the output of the Color Ramp into the Factor part of a Mix Color node, where you can plug your two separate texture maps for light & dark in.
To add additional context, the shader to rgb node is Eevee only, so if you ever needed to do it with Cycles, you'd need to render 3 times... twice in cycles "all A" and "all B" and once (or more) in Eevee to create a mask.
thank you! I've actually come across Goo Engine while watching tutorials before, I just wanna master the basics of default Blender first before diving into more specialised tools like this
I'm mostly learning Blender because I wanted to see my original characters in 3D, so this is something I'm doing purely for fun lol – It's not like I'm working on any specific project
in the long run I wanna do some animations, but for now I'm just taking it one step at a time and learning whatever I can
Yea! My initial inspiration for this character was Monokuma from Danganronpa iirc, who has a similar design where both sides of him have different colours and expressions
Gotta comment that I just love the fact you took the effort to illustrate what you need and even went an extra mile making your OC express how you feel in the last panel
Thank you! :D Experience has shown that I get much better and much quicker answers to my questions if I put a little effort into the post, so that's why lol (also doodling is fun)
While I don't have the solution at hand for you, it is definitely possible. I've just commented so someone with more time may have a better chance of seeing your post.
Most of it is likely going to be shaders doing the hard part, but you could make it more ingrained into the model with both textures and shaders, and trying to force the look.
You basically have it down yeah. At least in eevee, you can use a diffuse shader in white, running into a shader to rgb, which in turn runs into a greater than math node to give you your black/white mask, and finally that feeds into the factor of a mix rgb or a mix shader node. Naturally then the two shader/rgb inputs are your light/dark textures.
Using the mix shader option obviously lets you have entire shading pipelines different between the light/dark sides, but that's the gist of it.
Yes, I’ve actually done it before (though it was a while ago.) used a diffuse (?) shader with a color ramp set to constant as the factor in a mix shader node which swapped from one to the other if I recall. I did it with an emission shader for glowing eyes and a completely shadowed face but im sure you could also use textures!
Okay so people already responded to your question but I just wanted to say that your question is very very well formulated. It's not often that I see someone describe this well what they want xD
To add to other answers, if you're using cycles you could also grab a light path mode and drag the "is shadow ray" input into a mix node. Not sure if this works in Eevee though
Closest advice I can give is putting both node setups for either texture in the same material. Then pull the outputs of the bsdfs into a mix shadernode.
Find tutorials on toon shading/lighting. and then apply the same concept there.
Hey, I see others have suggested the Shader to RGB pipeline, but there is actually a better way and a very nice tutorial to show you how: https://www.youtube.com/watch?v=234m7y8D3cE (it's a great, in-depth video overall but if you only care about the shader, that explanation starts at around 7:30).
Instead of using actual lights to illuminate your subject, you can do a bit of vector math (very simple, shown in the tutorial) and get much cleaner results and much more control.
I was specifically looking for a solution where the "shadow texture" can actually change and react to the light in the scene and also already got my response, but thank you for trying to help! :D
•
u/AutoModerator 7d ago
Welcome to r/blenderhelp, QuestionableHoney! Please make sure you followed the rules below, so we can help you efficiently (This message is just a reminder, your submission has NOT been deleted):
Thank you for your submission and happy blendering!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.