5

I have a curve (and i don't wanna convert it to mesh) and i want to texture that curve:

enter image description here

Unfortunately my texture is getting stretched on the straight parts.

How can i have the same distance of the rings on the circle part and on the straight part?

shader nodes:

enter image description here

Chris
  • 59,454
  • 6
  • 30
  • 84
  • resampling curve via geo nodes seems to be the only solution :( or you can subdivide the straight parts to get a uniform vertex density (ok solution for simple curves) – Shantanu Aryan Jul 14 '22 at 13:57
  • no it isn't because then it is no curve anymore – Chris Jul 14 '22 at 13:57
  • It doesn't seem possible: https://blender.stackexchange.com/questions/1670/how-to-texture-a-beveled-curve-without-stretching ... maybe you can try to subdivide the straight part – moonboots Jul 14 '22 at 13:59
  • wow, that's so sad :( is there maybe an add-on which resamples a curve geonode can do? so that the distances between control points are equal? or wouldn't that help at all? – Chris Jul 14 '22 at 14:01
  • https://gamedev.stackexchange.com/a/5427 see Mapping T evenly on the curve AKA arc-length parameterization – Shantanu Aryan Jul 14 '22 at 14:02
  • Generate cooridinates option ? https://blender.stackexchange.com/questions/9319/adding-a-texture-map-to-a-beveled-curve-or-path – Emir Jul 14 '22 at 14:11
  • there is no "use uv for mapping" checkbox anymore...and i don't get it working. If you can...i would appreciate it if you show me how – Chris Jul 14 '22 at 14:28
  • ok, i would also accept a geometry nodes solution... :D – Chris Jul 14 '22 at 14:34
  • ...it is still possible to achieve the desired result. Guess what? With Geometry Nodes, hell yeah! https://blender.stackexchange.com/questions/43146 – quellenform Jul 14 '22 at 14:37
  • @Chris Is this the look you are after? a curve with this texture https://imgur.com/a/cWTTjVj – Emir Jul 14 '22 at 15:20

1 Answers1

5

ok, this works for me now:

enter image description here

so i give the factor value to the group output and use that as uv value.

enter image description here

Chris
  • 59,454
  • 6
  • 30
  • 84