1
$\begingroup$

Is there a way to keep the mesh from stretching like this when you go around a curve?enter image description here

$\endgroup$
5
  • $\begingroup$ you could try use a denser mesh or lower your angle of your curve. It is a mathematical problem: you have "let's say a line to keep it easy". Now move that line a bit away but parallel to the curve (to both sides). If you are now in a curve with any angle, but with tighter angle it is more obvious: on one side the line has to be longer, on the other shorter. How will you do that without stretching the mesh? Of course, you could just "copy" that mesh, but then you will have holes or overlaps. It isn't possible just mathematical if you think about it. $\endgroup$
    – Chris
    Commented Feb 28, 2022 at 6:45
  • $\begingroup$ but of course you can give me a sketch and prove me the opposite how you can do it? $\endgroup$
    – Chris
    Commented Feb 28, 2022 at 6:47
  • $\begingroup$ I’m voting to close this question because in my opinion this isn't possible (not because of Blender, but because of mathematics) $\endgroup$
    – Chris
    Commented Feb 28, 2022 at 6:48
  • $\begingroup$ please share your file: pasteall.org/blend $\endgroup$
    – moonboots
    Commented Feb 28, 2022 at 7:33
  • $\begingroup$ Is your problem that it's deforming (because this can't be prevented) or that it's resulting in ugly geometry ? $\endgroup$
    – Gorgious
    Commented Feb 28, 2022 at 8:50

1 Answer 1

4
$\begingroup$

As often, when you want to array an element along a curve, without deforming it, instead of arraying the element, you can array some sort of mount, on which the element can be instanced. The mount can be allowed to deform, and the instanced elements will not.

For example, here, we can plan on instancing on faces...

enter image description here

The base element is a pair of offset faces, up in Z, Arrayed in the X axis, Simple Deform > Bent around Z to closure (which is a bit more than 360). The ring is then Array ed again in Z, to fit the snake-curve.

Then it's given a Curve modifier, targeted on the snake-curve. The Curve itself is set to 'Stretch' and 'Bounds Clamp' in its Data > Shape settings. I think that helps with smooth transitions.

enter image description here

The array is set to instance on 'Faces' in its Object tab > Instancing panel. A scale-object is created, and parented to the array. Instancing on faces allows you to check 'Scale By Face Size', varying the size of scales according to the underlying mesh.

enter image description here

Once instanced, in Edit Mode, you can adjust the scale-object for offset, size, left-right tilt, and top-bottom tilt, to minimize gaps and self-intersection.

Parenting the array to the curve allows movement and deformation of the curve withoout everything falling apart, athough, once set, you would probably want to set the Z-array count to a constant, for animation.

$\endgroup$

You must log in to answer this question.

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