THIS IS AMAZING! Thank you so much for this shader! I can see that a lot of effort was put in it, the shader has so many different parameters to play with! Genuinely thank you!
Thank you so much. It's incredibly cool to practice understanding how it might work. I'm currently writing the same shader for my projects, and I'm very glad that there are still people who bring fresh thoughts about the implementation of this idea.
YOU ARE SOOOO NICE!!! Just thanks for your hard work! Providing this enormous shader is just incomprehensible!!! You deserve so much more, gl with your future projects, YOU ARE AWESOME!!!!❤
Dude this is unbelievable! You thought of every modification someone could want. Instant subscribe and no way I'm taking this for free! Can't wait to see more from you :)
Such a gorgeous shader!! You're so generous making it available for free. I hope it works in 4.0. I've had to abandon my last shaders for lack of update 😭
thank you, thank you, thank you from the bottom of my heart as an animation student. I wanted to try a painterly effect for a while now and REALLY appreciate that you made it this accessible
Thank you so much for this! I've added the strokes on top of a model with baked textures. Simply put the diffuse texure into the pcolor of the pseudo shader. I did have to add specular and normal inputs to the group input of the pseudoshader.
I don’t know if this is relevant, but your comment reminds me of something that I kinda forgot to mention in the video. You can, for example, connect a ‘pseudoPainter’ ONLY to the B input of a ‘pseudoLayer’ (let the A input be empty), and then use the Alpha output to drive, say, the mix factor of a ‘Mix Shader’. If you put a ‘pseudoShader’ into the B input of a ‘Mix Shader’, you can put any other BSDF on the A input and the 'Stroke Amount' on the ‘pseudoLayer’ will determine how much ‘pseudoShader’ to be put on top of the other BSDF of your choosing. Btw, I don’t think you need to plug in the ‘pseudoLayer’ into the ‘pseudoShader’. You can just plug the ‘pseudoPainter’ straight into the 'pseudoShader' and let the ‘pseudoLayer’ just be an Alpha generator. (you’d still need to connect the ‘pseudoPainter’ into the B input of ‘pseudoLayer’ to generate the Alpha) This is somewhat the technique that I used to make some of those mini examples at the beginning of the video.
The Edge Effect section is just what I've been looking for!! I wanted to make a heatwave effect and a water distortion for fish in a river- but could find NO turorials on such a thing other than water simulation or opaque stylized water. This method would be lighter on the computer. And easily placed on a plane infront of the camera for heat waves in the air or used with sylized water ripples to be the surface of the water, this making the fish/rocks look wavy from above, to create a great running water look. I highly reccomend you to use that shader to make an easy fake water distortion tutorial because all that's out there is water sim or caustic *lighting*, not caustic distortion. So many others could use it!
I'm really curious to try this out and see how much I can use texture painting to affect different values. Like, say, input an image into the shader, and then use a different texture to add more/smaller strokes around more detailed parts to help conserve them. Also it could theoretically give manual control over the rotation as well? Be a bit weirder to do though likely. Still, can't wait to experiment, thanks a lot for sharing this man!
Thanks dude!! I hope you add another function wherein the shader will draw a strokes of lines using a texture (inside and outside), for additional detailing.
Freaking amazing!!! Okay, I will try this out right now, doing concept work for an animation. If this works out for me, I will get this a second time and pay proper cash, but I need to try it first. Thank you so much
Hello. I definitely want to get this, but I don't feel comfortable downloading for free, so I will donate and pay you for it. You deserve it. Thank you so much for your contributions! This work deserves payment.
Hi I have one question! but firstable, what a wonderful shader that you made! My question is if you know how to export a model with your textures to unreal engine?
Well.. the simplest way to do it is probably to bake the texture using the ‘pseudoShader (Cycles)’ , though it won’t give you the same amount of control the eevee version have. A more elaborate way do it, probably, is by baking the BSDF shader that is connected to the ‘Shader to RGB’ node inside the ‘pseudoShader (Eevee)’ node group, and then replacing the ‘Shader to RGB’ with the baked texture. That way, you can render the shader in Cycles and then bake it and export it. I’m planning to tackle this problem in the next version of pseudo painter, but for now, that’s some of the only ways I can think of doing it. ps. sorry that it took me this long to reply
Thank you for this! But Is it normal for it to use so much of my GPU when I view it in rendered view? does it depends on how many poly there are in my model?
Currently, the closest thing to a solution is probably to use ‘pseudoScatter’ . Although, having a custom brush is definitely on my future feature list and I’m hoping to tackle it on the next version of pseudo painter. ps. really sorry for taking a long while to reply
Hi, this shader is lovely. Trully. My team and I have been dabling in testing with it to create a game that uses this kind of artstyle. After some testing, we've realized that we're having trouble exporting our meshes with this shader under a glTF format. I know it's a lot to ask but if you could do a video explaining if there's any way of exporting the mesh and the texture either together or seperately so we can add it to the game? thank you
I’m…. not actually a 3d artist of any kind, let alone tried any kind of game developing. So (embarrassingly,) this is the first time I’ve heard of glTF. With that said, I did some light research and testing and here’s what might work: 1. Set your desired pseudoPainter settings 2. Use the Cycles version of pseudoShader 3. Bake each of the map (Diffuse/Color, Normal, etc) and save them 4. Make a new material that (only) uses Principled BSDF 5. Plug in the baked textures into the Principled BSDF* 6. Export to glTF using that new material Again, I’m not sure if that’s sufficient. I’ll be back if I managed to find something else. hope this helps. *I also use the Normal Map node rather than plugging in the normal texture straight to the Normal input of the Principled BSDF
@@barely_art Thank you so much!! We will try this today. Hope it all goes well, and if not we are still so thankfull for the response. We'll update you :)
@@barely_art Just thought i'd let you know, IT TOTALLY WORKED!!. We are not even close to finnishing our game but we'd like to add you to the creddits when possible. Could we contact you when the game is finnished to ask you??
Nice to know that it worked. But really, you don't need to go as far as putting me on credits for this. It's already amazing enough that people would actually use the shader for their projects. I’d appreciate if you would tell me where I can get the game after it’s finished though.
I would think so? Especially if you really dial in the UVs to control the paint direction. Idk about actual 'Hair' though. It somewhat works fine with quad modeled hairs, but I never tried it using actual spline hairs
hi ! love your shader, i'm going to use it in my next npr project. I just wanted to know if there is a way to use a base texture and then shade over it Like we use texture image and shader together for shading handpainted models.Pls let me know if it is possible with your shader or is there any alternate solution for this. Thank you so much ! let me know if you want to know more
Assuming 10:00 is not what you meant, I think you want to have the paint strokes to be put on top of an image texture? Please do elaborate more if that’s not what you meant-but if it is, a way to do that is: to use ‘Mix’ or ‘Mix Shader’ to combine the image texture and the paint strokes. It can be done by utilizing the ‘Alpha’ output from ‘pseudoLayer’ as the ‘factor’ input in the ‘Mix’ / ‘Mix Shader’. The ‘Alpha’ output basically acts like a mask, so you can set how much paint strokes you want to add on top of the image using the parameters on ‘pseudoLayer’. Despite having A and B input, the ‘Alpha’ output on ‘pseudoLayer’ can actually be used with only B input connected. (you can also put the image texture straight into the 'A | pColor' on the 'pseudoLayer' without using any mix nodes. The 'pColor' output of the 'pseudoLayer' will then output the result) Again, if that’s not what you meant, please do elaborate more. EDIT : just wanna say, your comment made me realize how i can combine different pseudoShader(s) using the 'pseudoLayer' alpha! Thank you very much good sir!
@@barely_art So i tried your 2nd method and it worked but even though your shader is working fine but the pseudo painter is not working with my node setup. I mean i'm not able to play with brush strokes. can you make a video to show how you would use the image texture with your shader. That would be amazing.
Hello! I’ve just added some kind of preview version in the download link (v2.07b). It will have some additional settings regarding color variation. It might not be exactly the same, but it should give you more control over the color variety. Do keep in mind though that this is a preview version and might have some unexpected behavior. ps. very sorry for only been able to reply just now
i've been using this shader for some time now, only problem i found is with controlling shadow color, its really difficult to get the desired color. i wish if it was possible to choose desired shadow color without affecting the light part. is there a way to have more control with shadows using this shader
hello! I’m currently working on the next version of this pseudo painter, and this feedback is certainly on my list of things to improve. It seems that it’s going to be some time until I can manage to finish it, so in the meantime I added some kind of a preview release that’s available on the download link. It will have some additional settings regarding highlight/shadow control but keep in mind that it might have some unexpected behavior. ps. really sorry for the super duper late reply
I really enjoyed the first version of your shader ! However i have struggle to use this one, when i move in the viewport the shader disappear and reappear when i change a parameter in the shader node editor. Is it a common issue ? I use blender 3,6,2, Thanks in advance and keep up the great work !
Would you mind to elaborate what 'disappear' and 'reappear' means? What version of the shader are you using? (at the time of writing, there is now a v2.06)
The brush strokes pattern is fading and only the color remains on the object , i am currently using the v2,06 but i have the same issue with the v2,05@@barely_art
I don't know if it help but when i move in the viewport display a short "Optimizing shader..." is showing quickly in the top left corner under the selected object name and then the shader don't work properly (brush strokes disappears) @barely_art
Ukkkhhh… I’ve been looking things up on the web trying to find a possible fix or at least replicate the problem on my end. The ‘optimizing shader’ thing is very intriguing and I tried to look up any kind of references to that. Perhaps the keywords that I used are not very good but I couldn’t find any meaningful result. I also tried checking the render settings, the built in add-ons, the preferences, yet still hasn’t been successful replicating the problem. I will keep trying to look this up (from time to time), but for now, the only thing that I can think of is to try downloading other versions of blender (say 3.4 or 3.5) and run them with factory settings. If the shader works, then it might possible that something in the 3.6 blender configuration doesn’t play well with the shader. note: I currently use 3.6.2 as well
The texture is beautiful but it only works properly on a sphere, when I try to apply it on a model like a simple plate or a head sculpt it doesn't work, could someone help me?
hmmm…. If it works on default/primitives shapes, but it only shows a single shade of color (not black or grey) on other models, then the first thing I would check is the uv map, since this shader relies on uv map to work
Shader is amazing! But im facing problems when im trying to bake materials to a set of images. Is there any workaround about this? is there any chance to bake materials?
Yeaaa… this is definitely something that I want to tackle for the next version of pseudopainter. But, as for now, I can think of two ways of baking. First, the simplest way is to use ‘pseudoShader (Cycles)’ so that cycles can render it. Of course, this way you would be limited to the settings on the cycles version of the shader. Second method, a bit more complicated. You need to open the ‘pseudoShader (Eevee)’ node and look for the ‘ShadertoRGB’ section. Despite the mess, it is located on the left side and framed inside a brown-ish/orange frame; so it should be easy enough to find. Connect the ‘Principled BSDF’ straight to the ‘Surface’ input of the ‘Material Output’ node (If you use node wrangler add-on you can just [Ctrl+Shift+Left Click] the ‘Principled BSDF’ to connect it). Bake* that BSDF, and then replace the ‘Shader to RGB’ node with an ‘Image Texture’ node of the texture that you just baked. After that, the ‘pseudoShader (Eevee)’ should be able to be rendered using Cycles, thus, you can bake. Taking things a step further, you can also connect the 'pDisplacement' output into the 'Vector' input of the 'Image Texture' node. It should make the shader looks better, assuming it didn't give out problems instead. You wouldn’t be able to change some of the settings on the ‘pseudoShader (Eevee)’ after you bake the ‘Principled BSDF’, so I recommend to get the look you want first, before doing any kind of baking. And of course, the baking process would bake the lighting into the texture so you won’t be able to change the lighting of your scene. *I use the 32-bit setting on when creating the blank texture. Not sure if that would make any difference ps. don’t forget to check out the ‘v2.07b (Preview)’ . It has additional setting for the ‘pseudoShader (Eevee)’ , though might have some unexpected behaviour.
I think all I did was just connecting the 'pDisplacement' into the 'Vector' input of the 'Image Texture'. I only trimmed the video to cut the part when the texture was loading so that people don't have to wait for it. But.... hmmm.... if I were to guess though, the image texture might not work because of the UV map that's being used, since (assuming you use UV for the 'Mapping(1)' input like in 2:00 ) how the image texture is mapped (still) depends on the UV map. Something that I would try to check in order to troubleshoot is to connect the ‘UV’ from the ‘Texture Coordinate’ node straight into the ‘Vector’ of ‘Image Texture’ and see if the image is properly mapped the way I wanted. If not, then I will try to fix the UV map, or even use a ‘Mapping(2)’ node to fix it. After that, I would just connect the ‘Mapping(2)’ node into the ‘Mapping(1)’ input of the ‘pseudoPainter’ node. do let me know if that works (or not) Mapping(1) : an input on the ‘pseudoPainter’ node Mapping(2) : an actual node called “Mapping”
Amazing Shader! Thx! How do i render an image with transparent Background while using the plane with the bokeh effect? It looks good but i get a grey Background from the plane..
@@barely_art thx for the answer. I want to render an PNG with transparent Background. I have my object in my scene and in front of the object a plane with the pseudo bokeh effect. And it works fine on my object but I get a grey Background if I render. Even if I set the settings of the plane with bokeh effect on alpha blend mode and play with alpha settings in the pseudo shader. If I remove the plane the BG is transparent, so I think it's the plane with effect that makes it grey. I hope u can understand my rambling^^
I'm still not quite sure how your scene is set up, so I’m going to assume this scenario: - You have two different objects on the scene; a plane and (for example,) a sphere. - You use the pseudoBokeh on the plane hoping to distort the look of the sphere. - You also want the sphere to have an image texture which is PNG and want to use that transparency of the PNG. - Somehow, when you look at the sphere through the plane, the transparency doesn’t work (or maybe the sphere just completely gone). In that case, here’s what worked for me: 1. Re-check that ‘Screen Space Reflections’ and ‘Refraction’ is turned ON from the global render settings 2. Re-check that ‘Screen Space Refraction’ is turned ON from the material settings-of the PLANE 3. Re-check that ‘Screen Space Refraction’ is turned OFF from the material settings-of the SPHERE 4. Connect the ‘Alpha’ output of the ‘Image Texture’ to the ‘Alpha’ input of whatever shader you are using for the sphere 5. Set the ‘Blend Mode’ of the sphere to either ‘Alpha Clip’ or ‘Alpha Hashed’ 6. As for the plane, I just use a typical pseudoBokeh setup (again, with screen space refraction turned ON) I do hope I understood the problem correctly and also hoping you would explain things further if it seems that I have misunderstood it
wow big thanks again, you already helped me quite a bit^^ and your assumption was almost right. The object of my scene (just assume its a sphere) has no transparency instead i want the background of my scene to be transparent and the sphere to be visible. I think your explanation should work for me too but im missing something.. Now I jut put a greenscreen behind my object and keyed it out in ae. @@barely_art
In that case I would've gone with green screen as well actually, but, I just found out that you can do it using cycles. There's an additional setting called 'Transparent Glass' under 'Film' in global render settings. I tried to use that (and play around with the 'Roughness Threshold' setting) and it worked. A distorted sphere effect with a transparent background. sorry for the late reply and hope this helps
I think so? I've never tried it myself since I can't do character animation whatsoever. I do plan to use the shader on (my ongoing work of) an animated character though. I think as long as the UVs are not distorted too much by deformation it should work fine.
As I said in some other comment, I’m not actually a 3D artist of any kind, and (I think) this is the first time I heard the term ‘g buffer’. Upon doing some light reading, I understand it as some kind of render passes? So if I understood you correctly, you want to have the painting effects as a post process instead of actually having it as a shader? Well, I never had that kind of use case in mind when I made the shader, but I suspect it’s possible. This shader works by creating a mask for each of the highlights, midtone and shadow, which is all affected/driven by the ‘pData’. So if you can get hold of them as a render pass / gbuffer, I think you could “recreate” the painting effect using post process (to some extent). All this shader does is doing some color correction using masks after all. There is currently no direct ‘Mask’ output if you want to render it (to use it as a render pass), although I don't think it's difficult to add (since I do have some new features for an upcoming update anyway). But I pretty much don't know anything about render passes and how exactly they are used in post, so I don't know how you would set up those masks to be an actual render pass (in blender) instead of rendering them manually. But hey, that’s all in the assumption that my understanding of gbuffer is correct and I didn’t misunderstand your question either. or maybe....... I should (try) add a post-process version of the shader as well? ps. soooooo soooooorryyy for replying so laaaateeeeeee!!!
aaaaaaaaaaa I just realised I cut the part where I connect the 'toSurface' of the 'pseudoShader (Eevee)' to the 'Surface' of the 'Material Output' nodee!!! (which can be seen in 1:30) Im soooo sooorrryyyyy!!!! .... pls tell me if you did that already and it's still black.
Heyo. I tried using this Shader, appending it to a scene - but for some reason, the sphere I put the material on just appears textureless, light grey, and unaffected by lighting. I'm using Eevee rendering, and everything *seems* set up as the video's intro parts said to do it, but it still doesn't seem to be working. Is there any way to troubleshoot this?
hmm... something like that usually happens to me if I forgot to connect the UV mapping into the 'Mapping' socket on pseudoPainter node, or if the UV is set up incorrectly. But you're talking about the sphere here, so it should have a UV map set up by default. If I may, what do you see when you connect the 'pData' of pseudoPainter straight into the material output? (I also briefly tried the shader on blender 4.0-which this shader hasn't been properly tested on yet-but it's still somewhat works)
Thank you for replying - and sorry for the slow response on my part, TH-cam apparently decided to get rid of my previous reply for some darn reason... I tried plugging the pData into the Surface slot, and got a black sphere, then used Node wrangler to plug it into the Viewer slot, which gave the same grey sphere. I think it's a problem with the UV as well - it says there's some kind of problem with the edges/creases when I try to UV unwrap it. I tried marking the edges and unwrapping it then, too - but still nothing. @@barely_art
Ukh…. This might gonna be somewhat difficult to troubleshoot. Hopefully I can manage to help you in solving this. Here are some things that I myself would try to check first: - When I open the node groups (for example the ‘pseudoPainter’ node), are there any nodes that are colored red and called ‘Undefined’? If this is the case, the problem might come from blender not recognizing one of the nodes used. Possible solution is to update the blender version. (I included this because you mentioned getting a black sphere when plugging the pData. I found that this kind of problem (usually) comes from having an older version of blender that doesn’t support the shader) - When I actually try to open the save file itself (rather than append it to another project), there should be a sphere already set up with textures in place. Would I be able to render this sphere right away? If I can, then the problem might come from the state/settings of the blender project file where the shader is appended to. I do have something else in mind, but upon trying to replicate your problem, I found that it is likely that all you need to do is update your blender version (to 3.4 or newer. But to be safe don’t get the 4.0 yet). Do tell if you already got 3.4 or newer and still got the same problem.
You were right about option 1 - I updated to 3.6.5, and indeed, it seemed that a few nodes were red and marked as undefined. I tried 3.4.1 as well, and there were also undefined nodes. I tried loading the file itself, then appending the NodeTree to a different file, and both had undefined nodes - it doesn't seem to be a problem with the save file itself, but I'll try some more things and see if I can fix it.@@barely_art
I got it working! Apparently, something went wrong with the download - I had to redownload the files to get everything working properly. Thank you for helping me - and sorry for eating up your time :P@@barely_art
Using a baked PBR texture? Plug that into the pcolor of the psuedo shader. You'll need a mix shader node after the pseudo shader output. Plug it into B and a transparent bsdf into shader A. The factor will be the alpha output of your PBR texture.
now there is. I've just added a new file in the gumroad download link called 'pseudoPainter (Legacy)' which is the old brush pattern that's compatible with the new shaders. you just need to append it to your project files. although, it doesn't support 'pseudoLayer' (yet?) since I would need to actually remade it (perhaps even) from the ground up for it to be able to work. also i made it in some rush and haven't done much testing with it so do tell me if there's any problem thanks
just wanna let you know that I have now embedded that legacy node in the recently updated v2.05 (with some other new updates as well). It is now possible to use pseudoLayer with it (although somehow make things really slow, which I still don't know the reason yet). anyways, this version of the legacy node should work better, i think.
aaaaannnd sorry for replying back again. just wanna let you know (again) there is now a v2.06 since I found v2.05 slows down performance by quite a bit
Yeaaa… this is definitely something that I want to tackle for the next version of pseudopainter. But, as for now, I can think of two ways of baking. First, the simplest way is to use ‘pseudoShader (Cycles)’ so that cycles can render it. Of course, this way you would be limited to the settings on the cycles version of the shader. Second method, a bit more complicated. You need to open the ‘pseudoShader (Eevee)’ node and look for the ‘ShadertoRGB’ section. Despite the mess, it is located on the left side and framed inside a brown-ish/orange frame; so it should be easy enough to find. Connect the ‘Principled BSDF’ straight to the ‘Surface’ input of the ‘Material Output’ node (If you use node wrangler add-on you can just [Ctrl+Shift+Left Click] the ‘Principled BSDF’ to connect it). Bake* that BSDF, and then replace the ‘Shader to RGB’ node with an ‘Image Texture’ node of the texture that you just baked. After that, the ‘pseudoShader (Eevee)’ should be able to be rendered using Cycles, thus, you can bake. Taking things a step further, you can also connect the 'pDisplacement' output into the 'Vector' input of the 'Image Texture' node. It should make the shader looks better, assuming it didn't give out problems instead. You wouldn’t be able to change some of the settings on the ‘pseudoShader (Eevee)’ after you bake the ‘Principled BSDF’, so I recommend to get the look you want first, before doing any kind of baking. And of course, the baking process would bake the lighting into the texture so you won’t be able to change the lighting of your scene. *I use the 32-bit setting on when creating the blank texture. Not sure if that would make any difference ps. don’t forget to check out the ‘v2.07b (Preview)’ . It has additional setting for the ‘pseudoShader (Eevee)’ , though might have some unexpected behaviour.
Not quite? It uses the “data” from ‘shader to RGB’ node to make different masks for highlights/mid/low. Yes indeed the shader that drives the ‘shader to RGB’ has the 'Normal' modified using the ‘pData’ input, but it’s all just for creating masks. Which is why in theory, you can actually have different textures/colors for each of the highlights, midtone and shadow (or any different values on the mask). So what I did is just combining all the different textures/colors that I have tweaked for the high/mid/low and then porting them to the ‘emission’ socket (so technically it doesn’t actually have a ‘Base Color’). though it works somewhat differently for the cycles version
THIS IS AMAZING! Thank you so much for this shader! I can see that a lot of effort was put in it, the shader has so many different parameters to play with! Genuinely thank you!
Thanks for the update! It's incredible how customizable you've made the shader, probably the best painterly shader out there in my opinion.
Thank you so much. It's incredibly cool to practice understanding how it might work. I'm currently writing the same shader for my projects, and I'm very glad that there are still people who bring fresh thoughts about the implementation of this idea.
YOU ARE SOOOO NICE!!! Just thanks for your hard work! Providing this enormous shader is just incomprehensible!!! You deserve so much more, gl with your future projects, YOU ARE AWESOME!!!!❤
Dude this is unbelievable! You thought of every modification someone could want. Instant subscribe and no way I'm taking this for free! Can't wait to see more from you :)
Such a gorgeous shader!! You're so generous making it available for free. I hope it works in 4.0. I've had to abandon my last shaders for lack of update 😭
I will forever be grateful for this shader
Incredible work man, thanks a lott!!
thank you, thank you, thank you from the bottom of my heart as an animation student. I wanted to try a painterly effect for a while now and REALLY appreciate that you made it this accessible
Thank you so much for these shaders! I'm currently trying to learn stylized shaders for a personal project, and these are helping a ton.
Once again, you made such a rad shader for free and I am so thankful!
Gorgeous shader! I will have lots of fun playing around with this
Can't believe this is free. Thanks a lot, your are a hero.
Thank You so much, it's such an awesome one that I had no heart getting it free!
it just gettin better!! awesome!
This looks awesome. I just got it on gumroad and am gonna try it as soon as I can. Also I can't thank you enough for making this free
You, sir, are a genious. Looking forward to trying this out! Thanks for sharing!
Thank you so much for this! I've added the strokes on top of a model with baked textures. Simply put the diffuse texure into the pcolor of the pseudo shader. I did have to add specular and normal inputs to the group input of the pseudoshader.
I don’t know if this is relevant, but your comment reminds me of something that I kinda forgot to mention in the video. You can, for example, connect a ‘pseudoPainter’ ONLY to the B input of a ‘pseudoLayer’ (let the A input be empty), and then use the Alpha output to drive, say, the mix factor of a ‘Mix Shader’. If you put a ‘pseudoShader’ into the B input of a ‘Mix Shader’, you can put any other BSDF on the A input and the 'Stroke Amount' on the ‘pseudoLayer’ will determine how much ‘pseudoShader’ to be put on top of the other BSDF of your choosing.
Btw, I don’t think you need to plug in the ‘pseudoLayer’ into the ‘pseudoShader’. You can just plug the ‘pseudoPainter’ straight into the 'pseudoShader' and let the ‘pseudoLayer’ just be an Alpha generator. (you’d still need to connect the ‘pseudoPainter’ into the B input of ‘pseudoLayer’ to generate the Alpha)
This is somewhat the technique that I used to make some of those mini examples at the beginning of the video.
how? how can this piece of pure gold be free? Hats off to you man !!! thanks a LOT ! ~~
Amazing! Can't wait to try this out. 😃 Thanks!!
Love It ! Thanks a lot for sharing gem with blender community
I'm looking for this!!! Thank so much !
The Edge Effect section is just what I've been looking for!!
I wanted to make a heatwave effect and a water distortion for fish in a river- but could find NO turorials on such a thing other than water simulation or opaque stylized water. This method would be lighter on the computer. And easily placed on a plane infront of the camera for heat waves in the air or used with sylized water ripples to be the surface of the water, this making the fish/rocks look wavy from above, to create a great running water look.
I highly reccomend you to use that shader to make an easy fake water distortion tutorial because all that's out there is water sim or caustic *lighting*, not caustic distortion. So many others could use it!
This is satisfying
That is really amazing stuff.
great work! awesome!
This is so good!!!
OMG!
amazing!
This is amazing! ~ Thank you 😁😁
Thank you for sharing it is amazing
I'm really curious to try this out and see how much I can use texture painting to affect different values. Like, say, input an image into the shader, and then use a different texture to add more/smaller strokes around more detailed parts to help conserve them. Also it could theoretically give manual control over the rotation as well? Be a bit weirder to do though likely. Still, can't wait to experiment, thanks a lot for sharing this man!
Thanks dude!! I hope you add another function wherein the shader will draw a strokes of lines using a texture (inside and outside), for additional detailing.
Care to elaborate, good sir?
You have my love and respect.
thanks a lot dudee..love you😊
tysm
Ngl, Im in love this.
Thank you so much!
Freaking amazing!!! Okay, I will try this out right now, doing concept work for an animation. If this works out for me, I will get this a second time and pay proper cash, but I need to try it first. Thank you so much
Thanks you very much. its very useful powerful instument for 3d artists
You are a genius.😻
Magic! 👏
Thank you🙏
Fantastic! And I can't believe it was free.!!
Hello. I definitely want to get this, but I don't feel comfortable downloading for free, so I will donate and pay you for it. You deserve it. Thank you so much for your contributions! This work deserves payment.
It would be super cool if there would be a way to make painterly hair that can be simulated
고맙소..
It would be so cool if you made a shader to get a cool concept art digital painted look.
ukh.... kinda wanna try that now....
WOW
Hi I have one question! but firstable, what a wonderful shader that you made! My question is if you know how to export a model with your textures to unreal engine?
Well.. the simplest way to do it is probably to bake the texture using the ‘pseudoShader (Cycles)’ , though it won’t give you the same amount of control the eevee version have. A more elaborate way do it, probably, is by baking the BSDF shader that is connected to the ‘Shader to RGB’ node inside the ‘pseudoShader (Eevee)’ node group, and then replacing the ‘Shader to RGB’ with the baked texture. That way, you can render the shader in Cycles and then bake it and export it. I’m planning to tackle this problem in the next version of pseudo painter, but for now, that’s some of the only ways I can think of doing it.
ps. sorry that it took me this long to reply
cool
Thank you for this!
But Is it normal for it to use so much of my GPU when I view it in rendered view? does it depends on how many poly there are in my model?
This shader has the most captain obvious text I've ever seen in my entire life
This is amazing , but i had a question . Is there a way to change the brush strokes
Of course
Currently, the closest thing to a solution is probably to use ‘pseudoScatter’ . Although, having a custom brush is definitely on my future feature list and I’m hoping to tackle it on the next version of pseudo painter.
ps. really sorry for taking a long while to reply
Thank you so much. Could it create a watercolor effect?
yes i think it can!
Hi, this shader is lovely. Trully. My team and I have been dabling in testing with it to create a game that uses this kind of artstyle. After some testing, we've realized that we're having trouble exporting our meshes with this shader under a glTF format. I know it's a lot to ask but if you could do a video explaining if there's any way of exporting the mesh and the texture either together or seperately so we can add it to the game? thank you
I’m…. not actually a 3d artist of any kind, let alone tried any kind of game developing. So (embarrassingly,) this is the first time I’ve heard of glTF. With that said, I did some light research and testing and here’s what might work:
1. Set your desired pseudoPainter settings
2. Use the Cycles version of pseudoShader
3. Bake each of the map (Diffuse/Color, Normal, etc) and save them
4. Make a new material that (only) uses Principled BSDF
5. Plug in the baked textures into the Principled BSDF*
6. Export to glTF using that new material
Again, I’m not sure if that’s sufficient. I’ll be back if I managed to find something else.
hope this helps.
*I also use the Normal Map node rather than plugging in the normal texture straight to the Normal input of the Principled BSDF
@@barely_art Thank you so much!! We will try this today. Hope it all goes well, and if not we are still so thankfull for the response. We'll update you :)
@@barely_art Just thought i'd let you know, IT TOTALLY WORKED!!. We are not even close to finnishing our game but we'd like to add you to the creddits when possible. Could we contact you when the game is finnished to ask you??
Nice to know that it worked. But really, you don't need to go as far as putting me on credits for this. It's already amazing enough that people would actually use the shader for their projects. I’d appreciate if you would tell me where I can get the game after it’s finished though.
@@barely_art Absolutely. We'll let you know :)
Does this shader work with more complex meshes like characters? Hair maybe?
I would think so? Especially if you really dial in the UVs to control the paint direction. Idk about actual 'Hair' though. It somewhat works fine with quad modeled hairs, but I never tried it using actual spline hairs
Alos, can this be used for animation? And what about lighting? Can I use it for cycles?
I would assume so. I think pretty much every parameters can be animated. And yes, there is also a node for rendering in Cycles.
hi ! love your shader, i'm going to use it in my next npr project. I just wanted to know if there is a way to use a base texture and then shade over it Like we use texture image and shader together for shading handpainted models.Pls let me know if it is possible with your shader or is there any alternate solution for this. Thank you so much ! let me know if you want to know more
Assuming 10:00 is not what you meant, I think you want to have the paint strokes to be put on top of an image texture? Please do elaborate more if that’s not what you meant-but if it is, a way to do that is:
to use ‘Mix’ or ‘Mix Shader’ to combine the image texture and the paint strokes. It can be done by utilizing the ‘Alpha’ output from ‘pseudoLayer’ as the ‘factor’ input in the ‘Mix’ / ‘Mix Shader’. The ‘Alpha’ output basically acts like a mask, so you can set how much paint strokes you want to add on top of the image using the parameters on ‘pseudoLayer’. Despite having A and B input, the ‘Alpha’ output on ‘pseudoLayer’ can actually be used with only B input connected.
(you can also put the image texture straight into the 'A | pColor' on the 'pseudoLayer' without using any mix nodes. The 'pColor' output of the 'pseudoLayer' will then output the result)
Again, if that’s not what you meant, please do elaborate more.
EDIT : just wanna say, your comment made me realize how i can combine different pseudoShader(s) using the 'pseudoLayer' alpha! Thank you very much good sir!
@@barely_art Thank you so much! This is exactly what I want. I'm glad it helped you, would love to see your TH-cam journey.
@@barely_art So i tried your 2nd method and it worked but even though your shader is working fine but the pseudo painter is not working with my node setup. I mean i'm not able to play with brush strokes. can you make a video to show how you would use the image texture with your shader. That would be amazing.
here ya go : th-cam.com/video/EkOhZAqtCW0/w-d-xo.html
@@barely_art damn bro This is just amazing. Now i can finally use it in my next project. Thank you so much. can't believe its free.
Loading does not work on the linked page. A pity😔
the highlight color variation is not on pseudo shader for eevee anymore. how can we do the same effect?
Hello! I’ve just added some kind of preview version in the download link (v2.07b). It will have some additional settings regarding color variation. It might not be exactly the same, but it should give you more control over the color variety. Do keep in mind though that this is a preview version and might have some unexpected behavior.
ps. very sorry for only been able to reply just now
i've been using this shader for some time now, only problem i found is with controlling shadow color, its really difficult to get the desired color. i wish if it was possible to choose desired shadow color without affecting the light part. is there a way to have more control with shadows using this shader
hello! I’m currently working on the next version of this pseudo painter, and this feedback is certainly on my list of things to improve. It seems that it’s going to be some time until I can manage to finish it, so in the meantime I added some kind of a preview release that’s available on the download link. It will have some additional settings regarding highlight/shadow control but keep in mind that it might have some unexpected behavior.
ps. really sorry for the super duper late reply
@@barely_art great! I'll check it out
I really enjoyed the first version of your shader ! However i have struggle to use this one, when i move in the viewport the shader disappear and reappear when i change a parameter in the shader node editor. Is it a common issue ? I use blender 3,6,2, Thanks in advance and keep up the great work !
Would you mind to elaborate what 'disappear' and 'reappear' means? What version of the shader are you using? (at the time of writing, there is now a v2.06)
The brush strokes pattern is fading and only the color remains on the object , i am currently using the v2,06 but i have the same issue with the v2,05@@barely_art
I don't know if it help but when i move in the viewport display a short "Optimizing shader..." is showing quickly in the top left corner under the selected object name and then the shader don't work properly (brush strokes disappears) @barely_art
Ukkkhhh… I’ve been looking things up on the web trying to find a possible fix or at least replicate the problem on my end. The ‘optimizing shader’ thing is very intriguing and I tried to look up any kind of references to that. Perhaps the keywords that I used are not very good but I couldn’t find any meaningful result. I also tried checking the render settings, the built in add-ons, the preferences, yet still hasn’t been successful replicating the problem. I will keep trying to look this up (from time to time), but for now, the only thing that I can think of is to try downloading other versions of blender (say 3.4 or 3.5) and run them with factory settings. If the shader works, then it might possible that something in the 3.6 blender configuration doesn’t play well with the shader.
note: I currently use 3.6.2 as well
Thanks for your answer ! I don't have this issue with the Cycles version so i can still use it anyway@@barely_art
The texture is beautiful but it only works properly on a sphere, when I try to apply it on a model like a simple plate or a head sculpt it doesn't work, could someone help me?
hmmm…. If it works on default/primitives shapes, but it only shows a single shade of color (not black or grey) on other models, then the first thing I would check is the uv map, since this shader relies on uv map to work
Shader is amazing! But im facing problems when im trying to bake materials to a set of images. Is there any workaround about this? is there any chance to bake materials?
Yeaaa… this is definitely something that I want to tackle for the next version of pseudopainter. But, as for now, I can think of two ways of baking.
First, the simplest way is to use ‘pseudoShader (Cycles)’ so that cycles can render it. Of course, this way you would be limited to the settings on the cycles version of the shader.
Second method, a bit more complicated. You need to open the ‘pseudoShader (Eevee)’ node and look for the ‘ShadertoRGB’ section. Despite the mess, it is located on the left side and framed inside a brown-ish/orange frame; so it should be easy enough to find. Connect the ‘Principled BSDF’ straight to the ‘Surface’ input of the ‘Material Output’ node (If you use node wrangler add-on you can just [Ctrl+Shift+Left Click] the ‘Principled BSDF’ to connect it). Bake* that BSDF, and then replace the ‘Shader to RGB’ node with an ‘Image Texture’ node of the texture that you just baked. After that, the ‘pseudoShader (Eevee)’ should be able to be rendered using Cycles, thus, you can bake.
Taking things a step further, you can also connect the 'pDisplacement' output into the 'Vector' input of the 'Image Texture' node. It should make the shader looks better, assuming it didn't give out problems instead.
You wouldn’t be able to change some of the settings on the ‘pseudoShader (Eevee)’ after you bake the ‘Principled BSDF’, so I recommend to get the look you want first, before doing any kind of baking. And of course, the baking process would bake the lighting into the texture so you won’t be able to change the lighting of your scene.
*I use the 32-bit setting on when creating the blank texture. Not sure if that would make any difference
ps. don’t forget to check out the ‘v2.07b (Preview)’ . It has additional setting for the ‘pseudoShader (Eevee)’ , though might have some unexpected behaviour.
@@barely_art Thanks a lot. I'll try your methods
May I ask.. What do you do in 10:05 because my image texture is not working and this part get trim on the video...?
I think all I did was just connecting the 'pDisplacement' into the 'Vector' input of the 'Image Texture'. I only trimmed the video to cut the part when the texture was loading so that people don't have to wait for it.
But.... hmmm.... if I were to guess though, the image texture might not work because of the UV map that's being used, since (assuming you use UV for the 'Mapping(1)' input like in 2:00 ) how the image texture is mapped (still) depends on the UV map.
Something that I would try to check in order to troubleshoot is to connect the ‘UV’ from the ‘Texture Coordinate’ node straight into the ‘Vector’ of ‘Image Texture’ and see if the image is properly mapped the way I wanted. If not, then I will try to fix the UV map, or even use a ‘Mapping(2)’ node to fix it. After that, I would just connect the ‘Mapping(2)’ node into the ‘Mapping(1)’ input of the ‘pseudoPainter’ node.
do let me know if that works (or not)
Mapping(1) : an input on the ‘pseudoPainter’ node
Mapping(2) : an actual node called “Mapping”
Amazing Shader! Thx! How do i render an image with transparent Background while using the plane with the bokeh effect? It looks good but i get a grey Background from the plane..
I'm... not sure what you mean by that. Care to elaborate more?
@@barely_art thx for the answer. I want to render an PNG with transparent Background. I have my object in my scene and in front of the object a plane with the pseudo bokeh effect. And it works fine on my object but I get a grey Background if I render. Even if I set the settings of the plane with bokeh effect on alpha blend mode and play with alpha settings in the pseudo shader. If I remove the plane the BG is transparent, so I think it's the plane with effect that makes it grey. I hope u can understand my rambling^^
I'm still not quite sure how your scene is set up, so I’m going to assume this scenario:
- You have two different objects on the scene; a plane and (for example,) a sphere.
- You use the pseudoBokeh on the plane hoping to distort the look of the sphere.
- You also want the sphere to have an image texture which is PNG and want to use that transparency of the PNG.
- Somehow, when you look at the sphere through the plane, the transparency doesn’t work (or maybe the sphere just completely gone).
In that case, here’s what worked for me:
1. Re-check that ‘Screen Space Reflections’ and ‘Refraction’ is turned ON from the global render settings
2. Re-check that ‘Screen Space Refraction’ is turned ON from the material settings-of the PLANE
3. Re-check that ‘Screen Space Refraction’ is turned OFF from the material settings-of the SPHERE
4. Connect the ‘Alpha’ output of the ‘Image Texture’ to the ‘Alpha’ input of whatever shader you are using for the sphere
5. Set the ‘Blend Mode’ of the sphere to either ‘Alpha Clip’ or ‘Alpha Hashed’
6. As for the plane, I just use a typical pseudoBokeh setup (again, with screen space refraction turned ON)
I do hope I understood the problem correctly and also hoping you would explain things further if it seems that I have misunderstood it
wow big thanks again, you already helped me quite a bit^^ and your assumption was almost right. The object of my scene (just assume its a sphere) has no transparency instead i want the background of my scene to be transparent and the sphere to be visible. I think your explanation should work for me too but im missing something.. Now I jut put a greenscreen behind my object and keyed it out in ae. @@barely_art
In that case I would've gone with green screen as well actually, but, I just found out that you can do it using cycles. There's an additional setting called 'Transparent Glass' under 'Film' in global render settings. I tried to use that (and play around with the 'Roughness Threshold' setting) and it worked. A distorted sphere effect with a transparent background.
sorry for the late reply and hope this helps
will this work on animated characters?
I think so? I've never tried it myself since I can't do character animation whatsoever. I do plan to use the shader on (my ongoing work of) an animated character though. I think as long as the UVs are not distorted too much by deformation it should work fine.
I used some similar NPR effects from Artineering's Flair a few years ago... shaders in this video works much better than that
looks so awesome!
does it also work as post process effect? with special gbuffers?
As I said in some other comment, I’m not actually a 3D artist of any kind, and (I think) this is the first time I heard the term ‘g buffer’. Upon doing some light reading, I understand it as some kind of render passes? So if I understood you correctly, you want to have the painting effects as a post process instead of actually having it as a shader? Well, I never had that kind of use case in mind when I made the shader, but I suspect it’s possible.
This shader works by creating a mask for each of the highlights, midtone and shadow, which is all affected/driven by the ‘pData’. So if you can get hold of them as a render pass / gbuffer, I think you could “recreate” the painting effect using post process (to some extent). All this shader does is doing some color correction using masks after all.
There is currently no direct ‘Mask’ output if you want to render it (to use it as a render pass), although I don't think it's difficult to add (since I do have some new features for an upcoming update anyway). But I pretty much don't know anything about render passes and how exactly they are used in post, so I don't know how you would set up those masks to be an actual render pass (in blender) instead of rendering them manually. But hey, that’s all in the assumption that my understanding of gbuffer is correct and I didn’t misunderstand your question either.
or maybe....... I should (try) add a post-process version of the shader as well?
ps. soooooo soooooorryyy for replying so laaaateeeeeee!!!
hello! im stuck at the minute 1.39! i did everything you did in this pretty tutorial but my sphere remains black T^T
aaaaaaaaaaa I just realised I cut the part where I connect the 'toSurface' of the 'pseudoShader (Eevee)' to the 'Surface' of the 'Material Output' nodee!!! (which can be seen in 1:30) Im soooo sooorrryyyyy!!!!
.... pls tell me if you did that already and it's still black.
is there a good way to troubleshoot this ? lmao i cant get it working
mind to elaborate, good sir?
Heyo. I tried using this Shader, appending it to a scene - but for some reason, the sphere I put the material on just appears textureless, light grey, and unaffected by lighting. I'm using Eevee rendering, and everything *seems* set up as the video's intro parts said to do it, but it still doesn't seem to be working. Is there any way to troubleshoot this?
hmm... something like that usually happens to me if I forgot to connect the UV mapping into the 'Mapping' socket on pseudoPainter node, or if the UV is set up incorrectly. But you're talking about the sphere here, so it should have a UV map set up by default. If I may, what do you see when you connect the 'pData' of pseudoPainter straight into the material output?
(I also briefly tried the shader on blender 4.0-which this shader hasn't been properly tested on yet-but it's still somewhat works)
Thank you for replying - and sorry for the slow response on my part, TH-cam apparently decided to get rid of my previous reply for some darn reason... I tried plugging the pData into the Surface slot, and got a black sphere, then used Node wrangler to plug it into the Viewer slot, which gave the same grey sphere. I think it's a problem with the UV as well - it says there's some kind of problem with the edges/creases when I try to UV unwrap it. I tried marking the edges and unwrapping it then, too - but still nothing. @@barely_art
Ukh…. This might gonna be somewhat difficult to troubleshoot. Hopefully I can manage to help you in solving this. Here are some things that I myself would try to check first:
- When I open the node groups (for example the ‘pseudoPainter’ node), are there any nodes that are colored red and called ‘Undefined’? If this is the case, the problem might come from blender not recognizing one of the nodes used. Possible solution is to update the blender version. (I included this because you mentioned getting a black sphere when plugging the pData. I found that this kind of problem (usually) comes from having an older version of blender that doesn’t support the shader)
- When I actually try to open the save file itself (rather than append it to another project), there should be a sphere already set up with textures in place. Would I be able to render this sphere right away? If I can, then the problem might come from the state/settings of the blender project file where the shader is appended to.
I do have something else in mind, but upon trying to replicate your problem, I found that it is likely that all you need to do is update your blender version (to 3.4 or newer. But to be safe don’t get the 4.0 yet). Do tell if you already got 3.4 or newer and still got the same problem.
You were right about option 1 - I updated to 3.6.5, and indeed, it seemed that a few nodes were red and marked as undefined. I tried 3.4.1 as well, and there were also undefined nodes. I tried loading the file itself, then appending the NodeTree to a different file, and both had undefined nodes - it doesn't seem to be a problem with the save file itself, but I'll try some more things and see if I can fix it.@@barely_art
I got it working! Apparently, something went wrong with the download - I had to redownload the files to get everything working properly. Thank you for helping me - and sorry for eating up your time :P@@barely_art
Does it support cycles? Or other renderers?
it does support cycles (and eevee). idk about other renderers though
cool! thanks!@@barely_art
how do you animate shaders?
you should be able to just right-click on any parameters and add a keyframe
How to make it work on a transparent material?
Would you elaborate? What do you mean by 'transparent material'?
Using a baked PBR texture? Plug that into the pcolor of the psuedo shader. You'll need a mix shader node after the pseudo shader output. Plug it into B and a transparent bsdf into shader A. The factor will be the alpha output of your PBR texture.
Is there a way to change back to the old brush pattern?
now there is. I've just added a new file in the gumroad download link called 'pseudoPainter (Legacy)' which is the old brush pattern that's compatible with the new shaders. you just need to append it to your project files.
although, it doesn't support 'pseudoLayer' (yet?) since I would need to actually remade it (perhaps even) from the ground up for it to be able to work. also i made it in some rush and haven't done much testing with it so do tell me if there's any problem
thanks
@@barely_art thankyou so much
just wanna let you know that I have now embedded that legacy node in the recently updated v2.05 (with some other new updates as well). It is now possible to use pseudoLayer with it (although somehow make things really slow, which I still don't know the reason yet). anyways, this version of the legacy node should work better, i think.
@@barely_art really thankyou so much again
aaaaannnd sorry for replying back again. just wanna let you know (again) there is now a v2.06 since I found v2.05 slows down performance by quite a bit
How to bake these textures?
Yeaaa… this is definitely something that I want to tackle for the next version of pseudopainter. But, as for now, I can think of two ways of baking.
First, the simplest way is to use ‘pseudoShader (Cycles)’ so that cycles can render it. Of course, this way you would be limited to the settings on the cycles version of the shader.
Second method, a bit more complicated. You need to open the ‘pseudoShader (Eevee)’ node and look for the ‘ShadertoRGB’ section. Despite the mess, it is located on the left side and framed inside a brown-ish/orange frame; so it should be easy enough to find. Connect the ‘Principled BSDF’ straight to the ‘Surface’ input of the ‘Material Output’ node (If you use node wrangler add-on you can just [Ctrl+Shift+Left Click] the ‘Principled BSDF’ to connect it). Bake* that BSDF, and then replace the ‘Shader to RGB’ node with an ‘Image Texture’ node of the texture that you just baked. After that, the ‘pseudoShader (Eevee)’ should be able to be rendered using Cycles, thus, you can bake.
Taking things a step further, you can also connect the 'pDisplacement' output into the 'Vector' input of the 'Image Texture' node. It should make the shader looks better, assuming it didn't give out problems instead.
You wouldn’t be able to change some of the settings on the ‘pseudoShader (Eevee)’ after you bake the ‘Principled BSDF’, so I recommend to get the look you want first, before doing any kind of baking. And of course, the baking process would bake the lighting into the texture so you won’t be able to change the lighting of your scene.
*I use the 32-bit setting on when creating the blank texture. Not sure if that would make any difference
ps. don’t forget to check out the ‘v2.07b (Preview)’ . It has additional setting for the ‘pseudoShader (Eevee)’ , though might have some unexpected behaviour.
May I use this Stylized Painting Shader for commercial works?
yep
ur genius
hei saya punya masalah pada 11:48, node berwarna biru menjadi polos setelah saya menghubungkan lapisan pseudo ke pseudo shader
i use blender 3.4.1
kalau warnanya bukan hitam/abu-abu tapi jadi polos, kemungkinan masalahnya di UV. Apa boleh minta penjelasan lebih lanjut soal setup dan problem nya?
How do one bake this process into image?
So it affects the base color and the normals right?
I suppose you can use the cycles version of the shader. It won't look exactly the same as the eevee one, but you it does enable you to bake it
Not quite? It uses the “data” from ‘shader to RGB’ node to make different masks for highlights/mid/low. Yes indeed the shader that drives the ‘shader to RGB’ has the 'Normal' modified using the ‘pData’ input, but it’s all just for creating masks. Which is why in theory, you can actually have different textures/colors for each of the highlights, midtone and shadow (or any different values on the mask). So what I did is just combining all the different textures/colors that I have tweaked for the high/mid/low and then porting them to the ‘emission’ socket (so technically it doesn’t actually have a ‘Base Color’).
though it works somewhat differently for the cycles version
@@barely_art Thanks l lot super helpful
Hey, i want to let you know as a heafs up tha your link doesn't work
I just checked and it worked? You'd have to manually copy-paste it tho. (my channel is still not eligible for links)
@@barely_art oh thanks for thr clarification
I'm like hmmmm. Usingfree software developers spent years in to tempt users to your comericial web site. Not exactly what i would have expected
All blender users will be your fans.
This isnt working with anything other than primitive mesh. Using blender 3.4
In what way is it not working if I may ask?
I was dumb and forgot to uv unwrap my object! Its working great once I did that. Thank you so much!@@barely_art
this is free??????????????????????????????????????? omg ...
Yess,free