I have a edge loop that has vertices on it. Is there a way I can separate the vertices on the the edge evenly without moving the end points? I would also like for the vertices to maintain the current shape.
-
1$\begingroup$ I usually just select them one at a time and double tap 'g' which gives a tool similar to Vertex Slide. This gives to full control over the shape, but not mathematical precision. $\endgroup$– MarcClintDionMar 12, 2014 at 16:42
-
$\begingroup$ I just learned you can combine subdivision with vertex sliding to fine-tune a curve. As long as you're careful, you can handle off-axis curves much easier that way. $\endgroup$– person27Jan 4, 2020 at 6:53
3 Answers
There is an add-on bundled with Blender called Loop Tools which has an option for this.
Enable it in CtrlAltU > Preferences > Addons:
The operator you want is accessible through W > Loop Tools > Space:
In Edge Select Mode (CtrlTab > Edge), select the edges which you want to equalize:
Before/After:
-
3$\begingroup$ Vader asked to also maintain the shape, surely this is not possible as the position of the vertices have to change to provide the spacing. $\endgroup$– NeilMar 12, 2014 at 7:25
-
$\begingroup$ What does the 3d cursor do when using this tool. I see when the pivot is set to cursor it behaves differently. $\endgroup$– VaderMar 12, 2014 at 16:47
-
$\begingroup$ is there a way to prevent the end points from moving $\endgroup$– VaderMar 12, 2014 at 16:49
-
6$\begingroup$ @Neil I think the OP meant "approximately maintain the current shape". $\endgroup$– gandalf3 ♦Mar 12, 2014 at 19:20
-
$\begingroup$ How do you control the resulting mesh resolution? This answer mostly worked well for me but I would like to add more (evenly spaced) points. $\endgroup$– jminardiOct 16, 2020 at 1:13
Mark the two vertices to the left, set the cursor to selected (Shift+S). Delete the other ones. Set the pivot point to cursor (it's to the right of the shader button...). Then duplicate one of the vertices, and rotate it 60 degrees. Repeat. Now add edges between them (F).