Hey everyone! I have a bezier curve with a bevel so that it makes a tube. I have a material on this that has a nice look, but when I move the end of the curve further away, the material stretches out. I’m wondering if I can get it to repeat instead of scaling like that. I’m trying to make an extending hose so that it looks like the hose it just getting longer and not stretching but I have no idea where to start to do that.
I see! If the points in my curve aren’t evenly distributed, is there anything I can do to stop it from bunching up?
There is!
Are you ready to go to geometry nodes? I promise it isin’t scary:
GN curve uv fix.blend (761.7 KB)
You need to generate your own coordinates and then access them as an attribute in your shader nodes. Check out the file and let me know if you have any questions.
First all, geometry nodes are definitely scary. I’m pretty sure I wet myself.
I’ve gone back and forth between your file and mine and I swear I’m missing something minor but crucial. Mind taking a look? https://www.dropbox.com/s/vbgt4wdt1e0wr2k/roboarm.blend?dl=0
We don’t get a smooth continuous UV using a circle as the cross section. Have to use a flattened spiral instead with double endpoints at same location which is then merged. See this for explanation:
Here is what I ended up with that seems to work ok in my case, although I simplified it as I’m doing some other stuff in there as well:
It’s just that the curve has thickness, so when it comes into geometry nodes it’s seen as a mesh rather than as a curve. Here I applied the spiral method to your file, using a brick texture that will show the difference clearly between using a circle and a flattened spiral:
Note that bevel is set back to 0 to make it work, but the spiral is set to whatever the bevel used to be.
I’m also outputting to a named attribute instead of to a socket.
Awesome. It seems to work for me with the circle as well. I just had to remove the bevel as you mentioned.
Good tips on the spiral and the named attribute output in the nodegraph. I came in to help and ended up learning something myself!



