Trouble with stretched textures

Hi guys, I have a question regarding stretched textures that I haven’t been able to solve through googling or tutorials. I’m making a model of a jock strap for a game and I would like the waistband of the garment to have an elastic texture with the striations of the material running vertically. However, I don’t want them to be perfectly vertical, but to sort of ‘flow’ with the mesh. I’m using nodes and the cycles renderer, and between learning how to use these two aspects of blender, things have gotten a bit confusing, so forgive me if I’m asking a dumb question.

I have no idea what I’m doing, so if that doesn’t work, holler at me and I can try and make it work.

As you can see from this image, the texture seems to apply fine along the front and the back. (Only the waistband is meant to be textured and I tried creating creating a vertex group for the waistband and assigning the texture to JUST those vertices, but it seems to ignore that. Is that normal? When I apply additional textures it they seem to cover unwanted stuff up just fine.)

But when the texture wraps around the side, it gets really stretched and nasty.

I’ve tried lots of different things- I’ve rotated and scaled the texture with the mapping node, changed the textures coordinates from Generated to Object and then to Window with the coordinate node, and messed around with the ‘box, sphere, tube and flat’ options under the image texture node. Nothing seems to work- they all wind up with some sort of stretching either at the sides, or the front and the back. Changing the texture coordinates to window got me close, but then the textures were perfectly vertical all the way around and looked strange (like it was painted on). It’s frustrating because I don’t understand why it stretches in the way it does. I realize I’m trying to lay a 2d image onto the surface of a 3d model, but I don’t see why wrapping a texture around the waistband in this way would skew it in such a way. Wrapping it around a cylinder, for example, wouldn’t yield similar results.

I know that I could unwrap the model, go into photoshop, tile a bunch of my eleastic textures end to end and then warp them to fit over the elastic portion of my mesh, but that seems really unintuitive and makes making adjustments to the texture scale difficult. I’ve also looked into using the UV project modifier, creating a ring around the waist band of my model, and directly projecting the textures from that onto my model, but my attempts ended in failure as I just don’t understand the modifier well enough, and tutorials on the subject seem to focus on using simple shapes like planes to project textures onto flat surfaces. My attempts with projection yielded an even worse texture job.

My goal is to apply most of the textures without a UV map at first (as they’re all tilable), to this higher poly model, then learn how to use baking and normal maps to shunt all the texture data to a UV, and apply it to my low poly model. I’m wondering if I’m just trying to do too much at once? Any advice you guys could offer would be so helpful. Thanks.


how did you UVunwrap?

I created a series of seams and unwrapped it. However, I figured that wouldn’t matter, as I’m not actually using the UV coordinates for the seamless texture. This is an image of my unwrapped uv. The only reason I unwrapped it was so that I could tweak the final UV after everything was baked.

Ultimately you will probably have to use UVs in order to get the texture to follow the way you want. Around the bands you might want to try follow active quads to make them straight in the UV map so that the distortion of the lines are cause by the model itself. Same pretty much goes for everything else as well. The way you have it laid out right now will cause the lines to travel in many directions and with different scales, which won’t read right.