0
$\begingroup$

I have a custom texture applied in UV editor to the mesh. However, I need the texture to save its shape when I move vertices of a mesh (right now, when I move some vertices in edit mode my texture also follows these vertices and changes shape.

How can I achieve this?

$\endgroup$
4
  • 1
    $\begingroup$ I kinda udnerstand what you mean but I am not sure, can you provide some images $\endgroup$ Commented Apr 29, 2019 at 19:11
  • 1
    $\begingroup$ If you really want to alter vertices position with texture being on mesh you don't want to use UV coordinates for texture. Try to use Object coordinates and set image texture node mapping settings to Box. $\endgroup$
    – Mr Zak
    Commented Apr 29, 2019 at 21:18
  • $\begingroup$ In addition to my answer below - depending on what exactly you want to change on your model (which we don't know due to lack of info), you can also create a copy of your model, make the changes there, then bake a new texture for it, using the original as the bake source. Sort of a "highpoly to lowpoly bake" without the original being really highpoly. $\endgroup$ Commented Apr 29, 2019 at 21:52
  • $\begingroup$ I get it now that can't I achieve what I want using UV coordinates.I removed custom texture and put gradient texture with color ramp and set texture coordinates node to object. It kinda does what I need, but whenever I move object - gradient texture stays still. Is there a way (maybe with driver) to make gradient texture coordinates follow objects center coordinates for example? here is example imgur.com/a/aqMtaHE $\endgroup$
    – Anna
    Commented Apr 30, 2019 at 0:30

1 Answer 1

2
$\begingroup$

Short answer - you don't.

The UV layout is tied to the object in a way that each vertex in the UV layout represents a vertex in your 3D mesh.

Imagine a rubber skin that gets stretched around your model. You paint it to look good on your model and afterwards you stretch your model or add new parts to it. Now, the same rubber skin has to cover a different mesh, which results in stretches.

You can make the stretches visible in Blender, if you activate the stretch indicator in the Properties Region of the UV/Image Editor.

display stretching in UV Editor

Moving vertices around creates stretching in the area and the angles of your UV layout.

stretching indicator in action

If you manipulate the vertices in your 3D mesh, you also need to update your UV layout to avoid stretching.

$\endgroup$
2
  • $\begingroup$ If this answer solves your problem, please consider to mark it as accepted. $\endgroup$ Commented Apr 30, 2019 at 0:28
  • $\begingroup$ it helped me understand that I have to manually edit UV each time I edit object. I removed custom texture and put gradient texture with color ramp and set texture coordinates node to object. It kinda does what I need, but whenever I move object - gradient texture stays still. Is there a way (maybe with driver) to make gradient texture coordinates follow objects center coordinates for example? here is example imgur.com/a/aqMtaHE $\endgroup$
    – Anna
    Commented Apr 30, 2019 at 0:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .