Thank you! I try to categorise stuff into very useful (free) and nice to have (paid). I don't want money to be a barrier to anyone for a tool that will actually help them
Dude, that was rather intense, had to pause every 10 seconds, some steps were kinda murky with the jump cuts but in the end I have my node group and everything is working swimmingly, thank you so much!
2 years later and this video just blew my mind. Seriously, people like you who upload tutorials, and even offer the download for this setup for free are absolute lifesavers, I cannot thank you enough!
I want to thank you for providing the file but I have to completely agree with you that creating these with you really opens up my understanding. A while ago I would have watched this and felt overwhelmed. There have been times (not this one 😅) that I have experimented along side a node setup and have gotten a bonus of something cool and different. It's interesting that I don't give a second thought to setting up a complex audio routing setup including multiple busses, side chaining, 64 or more channels with outside hardware etc. and nodes in Blender made me sweat. I've grown to love this part of Blender and appreciate your help. I've incorporated this and your basher setup into my startup file. You've opened up texturing to a quantifiable solid useful degree.
I'm so glad to hear that! Blenders nodes are not the most intuitive because they're so low level but that's also what makes them so powerful. Once you're able to use them to some degree though, it opens up a lot of opportunities and you'll find yourself improving quickly!
Excellent tutorial, overall. I'm a bit older and slightly less familiar with some of Blender's node system, so came aground adding a Converter->Math:Subtract node instead of the required Converter->VectorMath:Subtract node. A few video frames - 2 or 3 will do - of what is being added will greatly enhance the experience. Thank you greatly for this: tiling has been the bane of my Blender experience! ETA: I come from Poser background... we had this shader guru on the forums (Bagginsbill) who took a total maths approach to all his shaders... he was able to produce results using Python and mathematics when all others failed using the eyeball method to building shaders. Your explanations reflect an appreciation and understanding of the mathematics in what we see and - from my perspective - gives your videos incredible credibility! Well done!
I'm glad you found the right node! I'll try to be more rigorous with saying the node names as I go forward! Thank you for the kind words! I hope I'm able to offer something in the Blender bubble of what Bagginsbill offered to Poser!
Now that....is amazing! I've been trying to get a natural stone tecture for work for over a year now and this blend of image with procedural nodes is fantastic. I've only tried it with a small sample image so far and that looks great. Can't wait to take a larger sample. Thank you for sharing, man!!
you're amazing bro. thank you! i'm a beginner and this is my first video about node groups! did not even know you can do math with blender.. this is just WOW. im at awe at how i got it and didn't at the same time also loving how concise you are with everything shet
I'm always searching for good blender tutorials and yours are some of the best. I cant believe it took me so long to find your channel. Il spend some time looking over and liking your videos. Thanks for the knowledge my friend.
You are brilliant, absolutely brilliant. What an incredible technique.. With your help, the mathematics behind Blender are starting to make sense. At first, it is daunting, but as each tutorial is watched, understanding improves. Your help is invaluable. Your explanations are concise. I wish I could add likes to the power of 10. Thank you so much for sharing your enviable knowledge. THANK YOU! Dg
Very clever! I just start learning nodes in Blender and checked your remaining videos. It seems to be great learning source for the begin. Thanks for your effort. Subscribed :)
@@Erindale A tiny bit maybe, but I actually rather have a tutorial that you have to stop now and then rather one of those hour long ones, that don't get to the point. Good job! (Btw. I enhanced your group with a random rotation amount input and am trying to get some variation into scale as well ;) ).
that was super well explained and super useful, thank you so much, as I am transitioning from Maya to Blender, these tutorials are not only give you a useful tool at the end, but the explanation on why and how is top noch!
Really a great view to the problem, I'd only recommend you to add a rotation input, because some textures like skin have a grain direction. You're indeed a master.
An easy fix would be to put a mixRGB node in-between the Map Range and the combine nodes, set it to mix, plug the Map Range into the bottom and set the first socket to black. Then just connect the fac slider to the front and you've got a nice control for the amount of that random rotation!
This is pretty awesome thanks a bunch. super useful for turning photos into texture without all the photoshop editing. It also lets me keep some of the dark and light spots without it looking stupid.
I got your nodes, and I'm blown away that they work so well! They even work for me! lol (still learning Blender) Maybe one day years from now I'll actually understand the process you used here. : )
Hello, thank you for this tutorial. I have been looking for such a good custom untiling node like this one for a while now and it looks like this is it!
Awesome and efficient node. Thank you so much! I was thinking. Would it be possible to make untiling for textures with straight elements like kitchen or bathroom tiles? We already can divide the texture into square parts with voronoi randomness set to 0. Then all that we need to do is rotate each element by 90°, so that each part gets random rotation (0°, 90°, 180°, 270°), which would break up tiling. We could probably do that by limiting the rotation with DIV operation? But would it be possible to get that random rotation for each element? What do you think? I am not that good with math, so I'm probably talking nonsense :)
Hi Sinisa! Yes, assuming that you're using an image texture that will work when rotated 90/180/270 and still line up, you can do this easily! Like you said, drop the randomness on the Voronoi to 0 and then on the Map Range node you just need to change it from Linear to Stepped Linear and set the steps to 4. This will now output 0, 90, 180, 270 and 360. Obviously 0 and 360 are the same so you might get a biased distribution. If you want to ensure that there is an equal chance for each rotation then you need to change the "To Max" value from 2*pi to 3/2*pi, and the steps to 3. Totally up to you how you do it but that's the easiest conversion if you want that kind of explicit stepped rotation!
@@Erindale Works like a charm for square textures! Thank you. I added those things. Here it is: easyupload.io/zvblg1 For A*B textures like bricks there would have to be possible to change A and B lengths of the element to crop them. And then rotate them but only for 180°. I think that could work. There is one more option, and that is to mirror the element on the X and Y axis, but that is to advanced for me :)
The voronoi method is quite popular amongst people who do much with nodes! Although I haven't seen it done with the position like this to cover seams but I'm sure I'm not the first! Being able to work with nodes will make materials and realism a breeze!
I’ve got a modeling and texturing background and am wanting to learn more about shading and this was a great tutorial. It had me scratching my head just the right amount. I’m about 30-40min I was able to create a similar shader which will be a HUGE asset to my texturing workflow, so thanks. Question for you: how do you know how to do this? Is your background in math, or python, or what? I’d really like to build up some of these skills but am not quite sure where to start. Thanks for the generous and excellent tutorial!
Thanks! My background is art and design! All the maths I know for this I've picked up from the community and just testing stuff in Blender. You could try 3blue1brown though if you want actual maths videos
Great tool! I noticed it appears to do something similar to that Blender Guru/Poliigon "Uber Mapping node". Are they doing the exact same process or there are significant differences? You can find the node in Blender Guru's video "How to Tile a Texture Without Repetition - Blender Tutorial"
A good question! I know they look very similar and it's the same idea but they are different! My method uses a voronoi pattern to break up the surface rather than his grid method. Mine also gives controls to let you use non-seamless image textures and I have a method for hiding the seams that are added by the node. I think mine is also cheaper computationally but that's a bit hard to measure. The download version on my gumroad is bundled with a box mapping node so you can use it for texture bashing objects without needing to even unwrap them!
just a small note, it would be great if you said or showed what keys you were pressing for everything. I had to look up how to exit a group node because I have never done this before.
I have the screen keys add-on now so I try to remember to turn that on for my tutorials and streams now! Two ways with node groups, either Tab which is the most convenient or else there's an icon on the group header you can click
Hi, @Erindale one question. In 1:41 you take the original coordinator system and vector subtract with the position data of the Voronoi texture resulting in propagating coordinate systems to each of those segments. I notice adding doesn't work only subtraction does, but previously in the radial array tutorial you used addition instead of subtraction for the same thing, there I noticed subtraction doesn't work. It seems like both adding and substrating should work because it just offsets all the values of the coordinates systems by a single particular value pulse or minus. Any explanation would be appreciated.
It is! The node on Gumroad now is the Basher node and it doesn't need any input vectors, it calculates it all inside the node! You can choose the second option on gumroad if you want the original untiling node box mapper bundle!
Love the vid bro!!! But I don't seem to understand how subtracting the position output from UV coordinates gives individual UV spaces... Like, how does it work? Feel free to give me external sources if it's too complicated... Thankssss 💕
Great question! Let's say one of your cells has the position (0.5, 0.5) and we want to move the origin (0, 0) into it. To change 0.5 into 0, we just have to subtract 0.5 from it. So basically we have the UV coordinates which are giving us our Cartesian coordinates (this just means X, Y and Z axis with linear values from 0 along the axis), the position output of the voronoi gives us the vector to the centre of each cell, and the entire cell is one value. So if we subtract our position cells from our UV coordinates, it's going to put (0, 0) at the centre of that cell. I know it's a bit confusing because we think of shifting the origin to the right and up as being a positive translation so it would make sense that we're adding something but in terms of the actual numbers, we're not moving the origin, we're turning down the numbers so a positive number needs to become 0 for the origin to move into that position! I recommend you have a play around and it'll start to make sense! If you look at one of the earlier videos I did on Radial Arrays, that's another exercise where we shift the origin with vectors but in that case we are using Add because our vectors are negative!
Thank you very much Erin!! I think i ll use this untiling node very often. Do you know if glTF export support this? Like use a PBR node set up and untile It?
You should be absolutely fine to do that! The edge blend, because it is a dissolve rather than a proper opacity fade, can cause issues with displacement so it can be better to keep the blend option turned off if you're going for full displacement
I tried to export a glTF with the tiling node and didnt work. I think its because its using object coordinates instead of UV (which its the only one supported by glTF i think). If you know a workaround please let me know. I also tried the node on a large surface with a 512x512 image and worked beautiful. Thank you!!
Hi! I'm trying to follow your video to port this process in Godot Shaders. I'm a bit confused about Map range. Could you please explain why you used Linear Map Range ? I mean what is the desired effect opposite to clamp? You see I have clamp function available in shader API and would like to know how linear map range works or how I can hard code it. Thanks!
In this case I take a 0.1 - 0.9 range and map it to a new 0 - 2pi range. For ease you could just use 0-1 as the input range so you could just use a multiply instead here and multiply your voronoi cells by 2pi for almost the same effect. Linear map range just takes an input range and scales it to a new output range. You can replicate the node with arithmetic if you need to but in this case you can get away with just using a multiply.
That's a custom workspace that I have set up because I don't like the default Shader layout. You can set up a shader workspace how you like it and then go File>Defaults>Save Startup File
I want to make a crosscut or cutaway from say a muscle. Could you go over how to control the voronoi so the smoothing f1 effect is stronger? So it looks more like random shapes with red blood lines between the cells. As it is now I have issues with controlling how uniform the spacing is between the shapes. Some times it is perfect with two pieces having a red line between. Other times it looks like it has a massive gap between the shapes. Thank you for your time and tutorials.
You're going to want to UV unwrap the bit you're doing the cut away on and use 2D voronoi with the UV Map as input. This way, the voronoi points all exist in a plane which is important to keep it uniform. You need 2 voronoi nodes for this effect (if I'm imagining it correctly) and a math node set to subtract. Do F1 subtract Smooth F1 and then use a colour ramp to control the falloff. Both voronoi need to be 2D and have the same scale and randomness (I'd recommend plugging a value into both scales so you can control it easier)
@@Erindale Thank you! That worked perfectly. I was able to use Color Ramp with another Voronoi to get that clean look I wanted. I have another question, if you don't mind me asking. How would you go about cutting into say the arm to show the muscle in an Animation? I know there is transparent nodes, and the principled bsdf node can control the surface. But it seems I am going to have to model the inside of whatever I want to "cut", then add faces and add shaders or textures. I know the boolean tool also could work. The way I am going to do it have the model touching and looking like it is whole then use the boolean on the time line, then some how apply the UV shader to the faces of the model. Is that possible to change the shader or texture using keyframes? Because if not I was going to make a plane that fit the inside and move it into position after using the boolean tool.
I would put a plane in that's got the texture and maybe use a intersect Boolean on that so it fits nicely inside just where you're cutting. That way you're just revealing that plane as you open up the mesh
@@emperormiester the file that I put on gumroad is the file in the video! I just cleaned it up slightly and added the colour output to the group node! Let me know if there's anything you're getting stuck on and I'll explain!
I can easily see that Erindale is actually form the FUTURE and using Blender 11.1 to build a REAL TIME MACHINE just to come back to the past and teach us "before times" plebs how to understand Blender 2.9 nodes. Maybe the future depends on it or something. So, ya'll better pay attention. All this just seems too real to be a normal youtube tutorial.
Yes you're 100% right. Displacement will just take the value that is on the vertex and shift that amount. It could be possible to use a second voronoi with a slightly different seed and the distance output as a mask to try and get a smoother falloff? I'm just thinking aloud here so I'm not sure if that would work in practice. Let me know if you have any suggestions!
@@Erindale Maybe! I have been experimenting with something for displacement materials where I sample 4 different rotated patterns in quarters (in a grid) and blend them on the overlaps. This seems to work quite well, as I can blend the displacement. The displacement can also be used to make a more natural transition. I really like the voronoi pattern but I've no clue how to do that with it!
Surely if you're blending in that way you have image nodes in the middle of the system? I personally try to avoid getting images entrenched when I'm building more general tools like this but then I guess displacement is the cost of that. I tried out the voronoi thing and it didn't work how I wanted. The only way I could think was by taking the texture and creating one part for the middle of the cells and another part for the seams and then mixing with a gradient. I think this is similar to what you're saying for your process? It's a tricky one though! I wish there was a way to set the image from outside a group node - it's a real usability barrier when working with node groups!
Hi Erin. I tried your Blended tiling with box mapping nodes. From what I gathered it's a triplanar mapping fixing the normal and displacing issues. The trouble is I'm not sure I can get it work work on 3.4. Are there any issues with that version?
hi erin, i am learning node wrangler liked your setup, tested your BlendedTiling.blend, how do you duplicate your node groups, specifically the texture map input group, i ungrouped and it has no connections to your voroni groups, as i wanted to duplicate the whole network have one for grass rock snow, within a 2 mix shaders. does shiftd break the groups texture maps connections?
If you ungroup a node group without having things plugged into the front, you will lose all the input connections. Best to just plug things into all the sockets so you can keep track before ungrouping.
@@Erindale thx reply in your BlendedTiling.blend the images group has no visual wire(noodle) link connections to the rest of the shader, yet it clearly is connected .......so have you hidden the wires(noodle) somehow from the images group to the rest of the shader network.... ie when i group something that group keeps a wire into and out of the group, so when i ungroup those in and out wires are still there, ....in your images group their is no in and out wire(noodle) to the rest of the shader....... the rest of your shader groups do have in and out wires as i would expect, and when you ungroup those wires are the same ( unless it just can somehow take the word vector and use that without an actual wire link?)
What I do is enable the Node Preset add-on that comes with blender and I put the Basher file into the folder that the node presets is looking at. I have a specific one for the presets. Then in every file you will have access to it from the Add > Templates menu
@@Erindale Tried it now and it works! Thank you! For future videos, i would recommend you to not make cuts cause it's better to follow. But anyways, that was a good one!
From the 1:56 mark. Where the results are green, red, black and yellow. I put together the same way and the result is a black and white striped pattern.
is this an expensive set up? every time I have the node graph selected after adding this blender chugs like crazy actually it just lags whenever I look at it when I'm near it it seems like its the voronoi node being set to 4d that does it, anything lower and it stops lagging
You can definitely drop voronoi to 2D in this setup. To have a "seed" value, you'll just need to add something to the input vector so it offsets the voronoi. You might need to subtract that value from the voronoi position output? I can't quite imagine it right now but do some testing. 4D voronoi is definitely more complex though - 2D checks 8 neighbours, 3D checks 26 neighbours, and 4D is another order of magnitude
@@Erindale thanks so much for the tutorial btw, this ports over to unities shafergraph pretty much 1:1 after accounting for node differences. the only one that didnt really work was the edge blur, it doesnt totally eliminate jagged edges but it smooths most of it over.
I downloaded the basher file and I appended this file into another blender file and it worked good with eevee and cycles but after a couple of renders this no longer works with cycles in cycles the texture is now black even in rendering any ideas why that is?
Something must've got disconnected. Try viewing the outputs and if it's not showing any coordinates then append it from the original download again. If coordinates show up then try checking through the rest of your node tree. If you're using it with an image sequence just check that the frames are updating correctly
@@Erindale I had a lot of fun messing with this node setup, I added a feature that uses the voronoi color to offset the sample position to force the texture to have more variation at the risk of seeing the edges, also added a couple sliders to change the initial rotation and rotation variance, in case I wanted to limit that more, this sort of setup is really fun
Watching this stuff makes me feel like such a complete idiot. I've got a nice rock texture applied to an object but the tiling is super obvious. It's already made up of 18 nodes and when I try to add your Basher Node after the Texture Coordinate Node (seems to be the only real place it can go) all I get is massive warping of the texture. And the texture only really looks good horizontally so any rotation option from other methods just doesn't work. I also don't seem to have this Box Mapping node you refer to on your Gumroad page.
The basher node doesn't require any inputs :) just use it on its own to create the coordinates. I imagine the warping is from the texture coordinate node controlling the scale of the basher or something like that. But yeah, the basher is 100% self contained so just use it on its own and plug into your image textures
@@Erindale So, I can only use it for new materials? I can't add it to an existing one? So I'd have to rip apart the existing one I like but can't get working the way I want, and rebuild it in Basher?
I use the Node Presets add-on which helps for appending groups but you can just append the basher group to your file (in the node tree category) and then just add it to your material from the shift-a menu under Groups
@@Erindale Yeah, that sounds like what I've been trying to do but maybe I just don't know enough about nodes to figure out where in the existing node tree I would add it. I don't know if posting links in RUclips comments works, but if does, I was trying to replace the Poliigon node in the Mapping group with Basher just before the Textures. That's how I was getting the warping. Changing to a different texture Coordinate type didn't help things at all. i.imgur.com/42EGcgj.png
I just download the new node "Basher" but when I plug to the texture , all it just stretches all of them , and when I use the old one everything's normal why is that? imgur.com/a/bGfR5OF
The fact you are giving the node setup away for free is insane, what a legend mate, you could sell that with no trouble
Thank you! I try to categorise stuff into very useful (free) and nice to have (paid). I don't want money to be a barrier to anyone for a tool that will actually help them
@@Erindale what a dude! thank you
@@Erindale you are the exception. a true blender hero
@@Erindale wow true BLENDER spirit, you not often hear someone talking like this! kudos and big greetings from italy
The things these Blender geniuses come up with these days!! WAUW!
Thanks! Useful tools are useful! It's good to have a few lying around to speed up your process!
Stuck with the most cliched words to appreciate these node spells. Man, you are a genius.
Thank you so much mate!
You have that Grant Abbit calmness in your voice and really nice way of explaining stuff. Hope your channel grows!
Thanks so much! Grant is a top guy!
Dude, that was rather intense, had to pause every 10 seconds, some steps were kinda murky with the jump cuts but in the end I have my node group and everything is working swimmingly, thank you so much!
2 years later and this video just blew my mind. Seriously, people like you who upload tutorials, and even offer the download for this setup for free are absolute lifesavers, I cannot thank you enough!
Glad to help!
I want to thank you for providing the file but I have to completely agree with you that creating these with you really opens up my understanding. A while ago I would have watched this and felt overwhelmed. There have been times (not this one 😅) that I have experimented along side a node setup and have gotten a bonus of something cool and different.
It's interesting that I don't give a second thought to setting up a complex audio routing setup including multiple busses, side chaining, 64 or more channels with outside hardware etc. and nodes in Blender made me sweat. I've grown to love this part of Blender and appreciate your help.
I've incorporated this and your basher setup into my startup file. You've opened up texturing to a quantifiable solid useful degree.
I'm so glad to hear that! Blenders nodes are not the most intuitive because they're so low level but that's also what makes them so powerful. Once you're able to use them to some degree though, it opens up a lot of opportunities and you'll find yourself improving quickly!
Excellent tutorial, overall. I'm a bit older and slightly less familiar with some of Blender's node system, so came aground adding a Converter->Math:Subtract node instead of the required Converter->VectorMath:Subtract node. A few video frames - 2 or 3 will do - of what is being added will greatly enhance the experience. Thank you greatly for this: tiling has been the bane of my Blender experience!
ETA: I come from Poser background... we had this shader guru on the forums (Bagginsbill) who took a total maths approach to all his shaders... he was able to produce results using Python and mathematics when all others failed using the eyeball method to building shaders. Your explanations reflect an appreciation and understanding of the mathematics in what we see and - from my perspective - gives your videos incredible credibility! Well done!
I'm glad you found the right node! I'll try to be more rigorous with saying the node names as I go forward! Thank you for the kind words! I hope I'm able to offer something in the Blender bubble of what Bagginsbill offered to Poser!
Now that....is amazing! I've been trying to get a natural stone tecture for work for over a year now and this blend of image with procedural nodes is fantastic. I've only tried it with a small sample image so far and that looks great. Can't wait to take a larger sample. Thank you for sharing, man!!
Glad it's working for you mate! It can definitely save a lot of hassle trying to get seamless textures at scale!
Thanks for sharing the node . Amazing info. Keep it up.
Thank you so much! You're very welcome!
you're amazing bro. thank you! i'm a beginner and this is my first video about node groups! did not even know you can do math with blender.. this is just WOW. im at awe at how i got it and didn't at the same time also loving how concise you are with everything shet
Thank you! Honestly so jealous that you get to go through discovering all this fresh! Enjoy the journey
I'm always searching for good blender tutorials and yours are some of the best. I cant believe it took me so long to find your channel. Il spend some time looking over and liking your videos. Thanks for the knowledge my friend.
Thanks so much! That means a lot to hear. I hope they're useful to you!
Perfect! I've seen some nodes around that do the same thing, but most overcomplicate everything. I saved this node group for further use, thank you 😁
That's great to hear! Thanks!
You are brilliant, absolutely brilliant. What an incredible technique.. With your help, the mathematics behind Blender are starting to make sense. At first, it is daunting, but as each tutorial is watched, understanding improves. Your help is invaluable. Your explanations are concise. I wish I could add likes to the power of 10. Thank you so much for sharing your enviable knowledge. THANK YOU! Dg
Thank you Dg! That's really good to hear they're helping!
You, sir, are *killing* it! Thank you
Thank you! That means a lot!
Rely clever and so useful! The guys at Allegorithmic won’t like that or they’ll maybe offer you a job so that you stop teaching secrets on RUclips...
This is magic, thank you so much for giving it away for free!
Thanks so much! I hope it comes in handy!
very useful, I like how this videos uses nodes in unconventional ways
Thanks! I'm glad it's useful!
Mind blown, so many nodes so well explained, thank you.
Thank you, Mark!
@@Erindale Thank you for this I am just getting back to Blender and the node graph is really nice, so content like this is golden.
Very clever! I just start learning nodes in Blender and checked your remaining videos. It seems to be great learning source for the begin. Thanks for your effort. Subscribed :)
Thank you so much! I hope you're able to learn a lot!
thanks for share this gold tip, really open my mind in terrains and crazy stuff
Thanks for the kind words! Nodes have so much power!
Great tutorial, I had to go through it in slow-motion but finally I start understanding a lot! Thanks a lot!
Sorry for the fast pace - future edited tutorials will be at a more human speed! I'm glad it's making sense though!
@@Erindale A tiny bit maybe, but I actually rather have a tutorial that you have to stop now and then rather one of those hour long ones, that don't get to the point. Good job! (Btw. I enhanced your group with a random rotation amount input and am trying to get some variation into scale as well ;) ).
Great stuff. Thank you!
Thanks!
im a better artist now thanks to you . thank you 💕💕
It’s your own effort that got you there 🙌
This is really a huge life saver!! Wonderful job!
Thanks so much!
that was super well explained and super useful, thank you so much, as I am transitioning from Maya to Blender, these tutorials are not only give you a useful tool at the end, but the explanation on why and how is top noch!
Thanks Alex! I appreciate that 🙌
That was excellent. Thank you!
Thank you very much!
Really a great view to the problem, I'd only recommend you to add a rotation input, because some textures like skin have a grain direction. You're indeed a master.
An easy fix would be to put a mixRGB node in-between the Map Range and the combine nodes, set it to mix, plug the Map Range into the bottom and set the first socket to black. Then just connect the fac slider to the front and you've got a nice control for the amount of that random rotation!
best info i've seen in a while. great job
Thank you so much!
I have no idea how any of that UV magic works and I didn't understand a thing, but I was able to replicate your process nonetheless. So, thank you.
I'm glad it's working! I find with stuff like this, the what is often more important than the how :)
This is pretty awesome thanks a bunch. super useful for turning photos into texture without all the photoshop editing. It also lets me keep some of the dark and light spots without it looking stupid.
Thanks so much! It's definitely a useful technique, I use it a lot myself
This is insane, thank you so much for sharing.
Glad it's useful!
Tiling just went extinct and is now an issue to be studied by future archeologists. Thanks, mate!
I got your nodes, and I'm blown away that they work so well! They even work for me! lol (still learning Blender) Maybe one day years from now I'll actually understand the process you used here. : )
Haha glad they're useful!
Wow, this is fantastic! Thank you!
Thanx a lot for that brilliant set up and explanation! Monstro content!
Thank you!
Hello, thank you for this tutorial. I have been looking for such a good custom untiling node like this one for a while now and it looks like this is it!
This is just amazing! YOU are amazing! Thank you!
Ahhhh thank you so much!!
Man, you'really blender wizard!!! Thanks a lot!!!
Thanks, Sergio!
You are a genius. Love your work. It's so handy!
Thanks for sharing this good information, it helped me a lot with my animation movie.
Great! I'm glad it's helped!
just WOW!!!!!!!!!!! thank you for this awesome Add-on :)
You are very welcome!
Nice untiling node
Hey, thanks for this. Supper new to blender discovered it this weekend and this helps a bunch. keep up the great work.
Amazing! Welcome to the community! Do shout if you need any help! Also check out Grant Abbitt and Blender Guru for good beginner content!
thank you so much for this !!
Aw thanks so much!
Thanks brother we love you
Super helpful thank you! I used this process for a leather jacket.
I love this :) Master.
Thanks so much!
Awesome and efficient node. Thank you so much!
I was thinking. Would it be possible to make untiling for textures with straight elements like kitchen or bathroom tiles?
We already can divide the texture into square parts with voronoi randomness set to 0.
Then all that we need to do is rotate each element by 90°, so that each part gets random rotation (0°, 90°, 180°, 270°), which would break up tiling.
We could probably do that by limiting the rotation with DIV operation?
But would it be possible to get that random rotation for each element?
What do you think? I am not that good with math, so I'm probably talking nonsense :)
Hi Sinisa! Yes, assuming that you're using an image texture that will work when rotated 90/180/270 and still line up, you can do this easily! Like you said, drop the randomness on the Voronoi to 0 and then on the Map Range node you just need to change it from Linear to Stepped Linear and set the steps to 4. This will now output 0, 90, 180, 270 and 360. Obviously 0 and 360 are the same so you might get a biased distribution. If you want to ensure that there is an equal chance for each rotation then you need to change the "To Max" value from 2*pi to 3/2*pi, and the steps to 3. Totally up to you how you do it but that's the easiest conversion if you want that kind of explicit stepped rotation!
@@Erindale Works like a charm for square textures! Thank you.
I added those things. Here it is: easyupload.io/zvblg1
For A*B textures like bricks there would have to be possible to change A and B lengths of the element to crop them.
And then rotate them but only for 180°. I think that could work.
There is one more option, and that is to mirror the element on the X and Y axis, but that is to advanced for me :)
Very smart way of creating seamless texturing. Really stunning to see that something like this even exists. How did you come up with such a solution?
The voronoi method is quite popular amongst people who do much with nodes! Although I haven't seen it done with the position like this to cover seams but I'm sure I'm not the first! Being able to work with nodes will make materials and realism a breeze!
I’ve got a modeling and texturing background and am wanting to learn more about shading and this was a great tutorial. It had me scratching my head just the right amount. I’m about 30-40min I was able to create a similar shader which will be a HUGE asset to my texturing workflow, so thanks.
Question for you: how do you know how to do this? Is your background in math, or python, or what? I’d really like to build up some of these skills but am not quite sure where to start. Thanks for the generous and excellent tutorial!
Thanks! My background is art and design! All the maths I know for this I've picked up from the community and just testing stuff in Blender. You could try 3blue1brown though if you want actual maths videos
Life saver. Thank you so much!
I'm glad it's helpful!
Amazing, so elegant!
Thank you so much!
Great tool! I noticed it appears to do something similar to that Blender Guru/Poliigon "Uber Mapping node". Are they doing the exact same process or there are significant differences?
You can find the node in Blender Guru's video "How to Tile a Texture Without Repetition - Blender Tutorial"
A good question! I know they look very similar and it's the same idea but they are different! My method uses a voronoi pattern to break up the surface rather than his grid method. Mine also gives controls to let you use non-seamless image textures and I have a method for hiding the seams that are added by the node. I think mine is also cheaper computationally but that's a bit hard to measure. The download version on my gumroad is bundled with a box mapping node so you can use it for texture bashing objects without needing to even unwrap them!
@@Erindale Thanks for clarifying!! Indeed now I see the differences. Also nice to know what that extra file was for 😄
8:00 kind of turned my brain into a soup but this is an incredible tutorial; Thank you.
Thanks!!
just a small note, it would be great if you said or showed what keys you were pressing for everything. I had to look up how to exit a group node because I have never done this before.
I have the screen keys add-on now so I try to remember to turn that on for my tutorials and streams now! Two ways with node groups, either Tab which is the most convenient or else there's an icon on the group header you can click
Thans a lot, really good job.
Thanks so much!
Awesome! Thx dude!
The procedural God👽
Hi, @Erindale one question. In 1:41 you take the original coordinator system and vector subtract with the position data of the Voronoi texture resulting in propagating coordinate systems to each of those segments. I notice adding doesn't work only subtraction does, but previously in the radial array tutorial you used addition instead of subtraction for the same thing, there I noticed subtraction doesn't work. It seems like both adding and substrating should work because it just offsets all the values of the coordinates systems by a single particular value pulse or minus. Any explanation would be appreciated.
Awesome!
Thanks :-)
Thank you!
Great node group. I saw there was a vector input socket in the video, is it removed in your latest gumroad version?
It is! The node on Gumroad now is the Basher node and it doesn't need any input vectors, it calculates it all inside the node! You can choose the second option on gumroad if you want the original untiling node box mapper bundle!
@@Erindale Its an awesome node group, many thanks.
Love the vid bro!!! But I don't seem to understand how subtracting the position output from UV coordinates gives individual UV spaces... Like, how does it work? Feel free to give me external sources if it's too complicated... Thankssss 💕
Great question! Let's say one of your cells has the position (0.5, 0.5) and we want to move the origin (0, 0) into it. To change 0.5 into 0, we just have to subtract 0.5 from it. So basically we have the UV coordinates which are giving us our Cartesian coordinates (this just means X, Y and Z axis with linear values from 0 along the axis), the position output of the voronoi gives us the vector to the centre of each cell, and the entire cell is one value. So if we subtract our position cells from our UV coordinates, it's going to put (0, 0) at the centre of that cell.
I know it's a bit confusing because we think of shifting the origin to the right and up as being a positive translation so it would make sense that we're adding something but in terms of the actual numbers, we're not moving the origin, we're turning down the numbers so a positive number needs to become 0 for the origin to move into that position!
I recommend you have a play around and it'll start to make sense! If you look at one of the earlier videos I did on Radial Arrays, that's another exercise where we shift the origin with vectors but in that case we are using Add because our vectors are negative!
@@Erindale OH MY GODDD DUUUDEE YOU'RE THE BESTTT MAN THANKS THANKS THANKS!!!! YOU DESERVE SO MUCH MORE ISTG!!!!
Thank you very much Erin!! I think i ll use this untiling node very often. Do you know if glTF export support this? Like use a PBR node set up and untile It?
You should be absolutely fine to do that! The edge blend, because it is a dissolve rather than a proper opacity fade, can cause issues with displacement so it can be better to keep the blend option turned off if you're going for full displacement
I tried to export a glTF with the tiling node and didnt work. I think its because its using object coordinates instead of UV (which its the only one supported by glTF i think).
If you know a workaround please let me know.
I also tried the node on a large surface with a 512x512 image and worked beautiful.
Thank you!!
Thanx for the awesome tute.. xpectng more..
Thank you so much!
Hi! I'm trying to follow your video to port this process in Godot Shaders. I'm a bit confused about Map range. Could you please explain why you used Linear Map Range ? I mean what is the desired effect opposite to clamp? You see I have clamp function available in shader API and would like to know how linear map range works or how I can hard code it. Thanks!
In this case I take a 0.1 - 0.9 range and map it to a new 0 - 2pi range. For ease you could just use 0-1 as the input range so you could just use a multiply instead here and multiply your voronoi cells by 2pi for almost the same effect.
Linear map range just takes an input range and scales it to a new output range. You can replicate the node with arithmetic if you need to but in this case you can get away with just using a multiply.
Блять. Лучший гайд на ютубе по этой теме!
Any chance you use Blender Octane and have a similar group :p. It'd be worth buying for sure
I can't not find the proTex on top of the horizontal bar.
That's a custom workspace that I have set up because I don't like the default Shader layout. You can set up a shader workspace how you like it and then go File>Defaults>Save Startup File
Great video. I learned a lot.
Thank you! I'm glad!
Thanks for tutorial
You're welcome! Thank you!
I want to make a crosscut or cutaway from say a muscle. Could you go over how to control the voronoi so the smoothing f1 effect is stronger? So it looks more like random shapes with red blood lines between the cells. As it is now I have issues with controlling how uniform the spacing is between the shapes. Some times it is perfect with two pieces having a red line between. Other times it looks like it has a massive gap between the shapes.
Thank you for your time and tutorials.
You're going to want to UV unwrap the bit you're doing the cut away on and use 2D voronoi with the UV Map as input. This way, the voronoi points all exist in a plane which is important to keep it uniform. You need 2 voronoi nodes for this effect (if I'm imagining it correctly) and a math node set to subtract. Do F1 subtract Smooth F1 and then use a colour ramp to control the falloff. Both voronoi need to be 2D and have the same scale and randomness (I'd recommend plugging a value into both scales so you can control it easier)
@@Erindale Thank you! That worked perfectly. I was able to use Color Ramp with another Voronoi to get that clean look I wanted. I have another question, if you don't mind me asking.
How would you go about cutting into say the arm to show the muscle in an Animation? I know there is transparent nodes, and the principled bsdf node can control the surface. But it seems I am going to have to model the inside of whatever I want to "cut", then add faces and add shaders or textures. I know the boolean tool also could work.
The way I am going to do it have the model touching and looking like it is whole then use the boolean on the time line, then some how apply the UV shader to the faces of the model. Is that possible to change the shader or texture using keyframes? Because if not I was going to make a plane that fit the inside and move it into position after using the boolean tool.
I would put a plane in that's got the texture and maybe use a intersect Boolean on that so it fits nicely inside just where you're cutting. That way you're just revealing that plane as you open up the mesh
just wow
Thanks!
this is bloody amaze balls!! any chance you can release the blend file from the video?
You can find a link to my node file on gum road! The link is in the description!
@@Erindale already did! But also am a bit lazy and my brain hurts trying to think about this in the evenings .... ill have a go over the weekend
@@emperormiester the file that I put on gumroad is the file in the video! I just cleaned it up slightly and added the colour output to the group node! Let me know if there's anything you're getting stuck on and I'll explain!
Can we use this to make stuff like textures for commercial games or do we need special permission for commercial use?
Completely free to use and change as you wish!
@@Erindale Thank you so much man!
I can easily see that Erindale is actually form the FUTURE and using Blender 11.1 to build a REAL TIME MACHINE just to come back to the past and teach us "before times" plebs how to understand Blender 2.9 nodes.
Maybe the future depends on it or something.
So, ya'll better pay attention.
All this just seems too real to be a normal youtube tutorial.
What does this kind of sampled blur do if you apply it to displacement? I guess it will produce some crazy high frequency spikes?
Yes you're 100% right. Displacement will just take the value that is on the vertex and shift that amount. It could be possible to use a second voronoi with a slightly different seed and the distance output as a mask to try and get a smoother falloff? I'm just thinking aloud here so I'm not sure if that would work in practice. Let me know if you have any suggestions!
@@Erindale Maybe! I have been experimenting with something for displacement materials where I sample 4 different rotated patterns in quarters (in a grid) and blend them on the overlaps. This seems to work quite well, as I can blend the displacement. The displacement can also be used to make a more natural transition.
I really like the voronoi pattern but I've no clue how to do that with it!
Surely if you're blending in that way you have image nodes in the middle of the system? I personally try to avoid getting images entrenched when I'm building more general tools like this but then I guess displacement is the cost of that. I tried out the voronoi thing and it didn't work how I wanted. The only way I could think was by taking the texture and creating one part for the middle of the cells and another part for the seams and then mixing with a gradient. I think this is similar to what you're saying for your process? It's a tricky one though! I wish there was a way to set the image from outside a group node - it's a real usability barrier when working with node groups!
wow thank you so much how i can exporting this shader to unity ?
You can either bake the texture down to an image map in Blender or you can try and remake the shader in Unity using the same basic logic I use here
Hi Erin. I tried your Blended tiling with box mapping nodes. From what I gathered it's a triplanar mapping fixing the normal and displacing issues. The trouble is I'm not sure I can get it work work on 3.4. Are there any issues with that version?
Hm shouldn't be any different... Tab into the groups and check you don't have any red undefined nodes
hi erin, i am learning node wrangler liked your setup, tested your BlendedTiling.blend, how do you duplicate your node groups, specifically the texture map input group, i ungrouped and it has no connections to your voroni groups, as i wanted to duplicate the whole network have one for grass rock snow, within a 2 mix shaders. does shiftd break the groups texture maps connections?
If you ungroup a node group without having things plugged into the front, you will lose all the input connections. Best to just plug things into all the sockets so you can keep track before ungrouping.
@@Erindale thx reply
in your BlendedTiling.blend the images group has no visual wire(noodle) link connections to the rest of the shader, yet it clearly is connected .......so have you hidden the wires(noodle) somehow from the images group to the rest of the shader network....
ie when i group something that group keeps a wire into and out of the group, so when i ungroup those in and out wires are still there,
....in your images group their is no in and out wire(noodle) to the rest of the shader.......
the rest of your shader groups do have in and out wires as i would expect, and when you ungroup those wires are the same
( unless it just can somehow take the word vector and use that without an actual wire link?)
Hello. I bought the node group. Can you help me to add it into Blender so I can use it at will?
What I do is enable the Node Preset add-on that comes with blender and I put the Basher file into the folder that the node presets is looking at. I have a specific one for the presets. Then in every file you will have access to it from the Add > Templates menu
Many thanks. Much love. keep creating. ❤️
Brilliant ♥️♥️♥️♥️
Thank you so much!
Sadly this does not work with displacement maps. But very cool though!
You can use a similar process but you need multiple layers and you can use a Distance to Edge Voronoi as the blend mask between each layer
But what if i want to do this with a corrugated iron texture? I can‘t turn tiles cause then the texture does not fit anymore
You can just turn off the rotation randomness 👍
@@Erindale Thank you, i will try it today.
@@Erindale Tried it now and it works! Thank you! For future videos, i would recommend you to not make cuts cause it's better to follow. But anyways, that was a good one!
i appreciate the node setup, and the headache.. i'm finding hard to understand how all of this works..
I think the title should include "Part 3"
ooh that's great but it seems complicated while the anti seams and tile addon is just one click .
Very true! Everyone has their own workflow and there are resources to suit all!
@@Erindale I'm just not experienced enough with that stuff , but it's great :)
What version of the blender do you have?
I'm assembling from starting the nodes, but it's not working. My blender environment is ver2.83.0.
It should work fine with 2.83! When you're following along, how far do you get before it stops working?
From the 1:56 mark.
Where the results are green, red, black and yellow.
I put together the same way and the result is a black and white striped pattern.
I'm sorry. The cause was my mistake, and in the video, I had added a vector math node at about 1:38, just I thought it was a math node.
Ah no worries! I'm glad you got it sorted!
anyone getting weird problems on eevee? For me, it works on cycles but not on eevee. There is weird overlay along the edges of cells.
is this an expensive set up? every time I have the node graph selected after adding this blender chugs like crazy
actually it just lags whenever I look at it when I'm near it
it seems like its the voronoi node being set to 4d that does it, anything lower and it stops lagging
You can definitely drop voronoi to 2D in this setup. To have a "seed" value, you'll just need to add something to the input vector so it offsets the voronoi. You might need to subtract that value from the voronoi position output? I can't quite imagine it right now but do some testing. 4D voronoi is definitely more complex though - 2D checks 8 neighbours, 3D checks 26 neighbours, and 4D is another order of magnitude
@@Erindale thanks so much for the tutorial btw, this ports over to unities shafergraph pretty much 1:1 after accounting for node differences. the only one that didnt really work was the edge blur, it doesnt totally eliminate jagged edges but it smooths most of it over.
I downloaded the basher file and I appended this file into another blender file and it worked good with eevee and cycles but after a couple of renders this no longer works with cycles in cycles the texture is now black even in rendering any ideas why that is?
Something must've got disconnected. Try viewing the outputs and if it's not showing any coordinates then append it from the original download again. If coordinates show up then try checking through the rest of your node tree. If you're using it with an image sequence just check that the frames are updating correctly
for some reason the scale node simply does not exist for me, I am on blender 2.9
Scale should be a function of the Vector Math node. Let me know if it's not there!
@@Erindale Thank you very much tor the extremely quick response, it is infact there. Much appreciated
great
Thank you!
Haha d'oh. I bought AntiTile and this is a free solution!
You're supporting blender creatives and that's the important thing!
@@Erindale Yup! That's how I thought, but it is quite funny!
does it work on 2.9
It does
before i watch this, I want to guess how it works, I think it's going to be voronoi tiles randomly rotated, and the smooth f1 thing to blend
Close guess but smooth f1 would cause bad texture stretching between seams. We have to do it much more janky
@@Erindale I had a lot of fun messing with this node setup, I added a feature that uses the voronoi color to offset the sample position to force the texture to have more variation at the risk of seeing the edges, also added a couple sliders to change the initial rotation and rotation variance, in case I wanted to limit that more, this sort of setup is really fun
Amazing! Great to see you pushing it further!
Watching this stuff makes me feel like such a complete idiot. I've got a nice rock texture applied to an object but the tiling is super obvious. It's already made up of 18 nodes and when I try to add your Basher Node after the Texture Coordinate Node (seems to be the only real place it can go) all I get is massive warping of the texture. And the texture only really looks good horizontally so any rotation option from other methods just doesn't work. I also don't seem to have this Box Mapping node you refer to on your Gumroad page.
The basher node doesn't require any inputs :) just use it on its own to create the coordinates. I imagine the warping is from the texture coordinate node controlling the scale of the basher or something like that. But yeah, the basher is 100% self contained so just use it on its own and plug into your image textures
@@Erindale So, I can only use it for new materials? I can't add it to an existing one? So I'd have to rip apart the existing one I like but can't get working the way I want, and rebuild it in Basher?
I use the Node Presets add-on which helps for appending groups but you can just append the basher group to your file (in the node tree category) and then just add it to your material from the shift-a menu under Groups
@@Erindale Yeah, that sounds like what I've been trying to do but maybe I just don't know enough about nodes to figure out where in the existing node tree I would add it. I don't know if posting links in RUclips comments works, but if does, I was trying to replace the Poliigon node in the Mapping group with Basher just before the Textures. That's how I was getting the warping. Changing to a different texture Coordinate type didn't help things at all. i.imgur.com/42EGcgj.png
Right so in that setup you could delete the whole Mapping frame and use the Basher node there instead
this looks like magic lol
Happy ;)
I just download the new node "Basher" but when I plug to the texture , all it just stretches all of them , and when I use the old one everything's normal why is that? imgur.com/a/bGfR5OF
Hmm it shouldn't stretch things. Have you applied the scale of your objects?
@@Erindale I just test again today and everything's fine but I didn't change anything that's really weird..
@@waynesun3835 Have you figured out how to use it with the displacement map? :( Those stretches are present when I use the displacement node.