0

I have no knowledge of UVs, so I don't want to do that approach of fixing textures. I want a design for nodes that will take a shader and properly map it. I believe I can do this via a mapping mode and texture coordinates, but I am new to blender and don't have too much experience with shaders. How would I go about preventing stretching like this? I transformed this a while ago, and there is a lot of objects like this that are stretched, mostly complex ones, and I don't want to have to remake all of them.

an example of a stretched texture

the shader being used

1 Answers1

2

You can solve this problem in a few ways. The first way can be to apply the scale of the mesh by pressing Ctrl+A then set the mapping node to "Object" in Texture Coordinate node.

enter image description here

Another way is add an Empty object to scene, and same as the previous method set the mapping node to the "Object" output in the Texture Coordinate node. With this method all meshes with the same material are affected.

enter image description here

In this two methods you can change the projection option form the texture node to "Box" so that the texture is affected on all sides

enter image description here

And the last way without apply scale of the mesh and without add an empty object is directly change the scale on the Mapping Node, in my case I set the Y scale to 7

enter image description here

Leonardo
  • 1,076
  • 7
  • 7
  • I'm not using a texture, but a material with no textures. How would I do that? simply put the mapping into the displacement? – Sesame_Slayer Oct 01 '22 at 00:33
  • @Sesame_Slayer If you're not using an image as a texture the same method works, just connect the "Vector" input of the texture node you're using to the Mapping node, and use any of the three methods above. Screenshoot – Leonardo Oct 01 '22 at 02:45
  • @Sesame_Slayer Just be aware that if you haven't applied the scale to your object this might give stretched results as well... of course you can counter this with the scale settings in the Mapping node. However, if you don't need an altered scale on that object anymore it's always best to apply it with Ctrl+A > Apply > Scale. – Gordon Brinkmann Oct 01 '22 at 10:11
  • I don't think you understand. There isn't images in the material. I have added a screenshot of the material in case you're confused. I've looked at a lot of tutorials, and they have said the same thing, but it doesn't work with materials. – Sesame_Slayer Oct 01 '22 at 16:22
  • you are working with texture nodes which is the same as working with texture images, you just have to connect the "Vector" input of the "Noise Texture" node to the output of the "Texture Coordinates" node as shown in the examples. Here are some screenshots – Leonardo Oct 01 '22 at 22:17
  • Thanks. how would I do this for textures without noise though? I have a few of those too. – Sesame_Slayer Oct 02 '22 at 16:53
  • All texture nodes have the "Vector" input and they all work the same way, and you can use any of the examples to adjust the texture. Screenshot – Leonardo Oct 03 '22 at 00:17
  • what I mean is that I have a few textures that are purely mathematical, no vector inputs at all. – Sesame_Slayer Oct 06 '22 at 23:42
  • Can you tell me exactly which node you need to map? so I can see the solution in blender directly. – Leonardo Oct 07 '22 at 01:58
  • well, I forgot to save the file for the thing I was making, but I had a light that had bands of different shades of green or red based on the frame number (just a value with #frame put in, put through a few math nodes so I wouldn't get brown, then put as the factor of the mix color node), but i guess i can replace it with a wave function and save myself some trouble. – Sesame_Slayer Oct 09 '22 at 16:18