9
$\begingroup$

I'd like to animate a torus knot, making the edge loops (selected below) move forward along the knot:

enter image description here

The method I'm currently trying is edge sliding all of the loops forward as a shape key, then animating the shape key. After the slide, the mesh should look unchanged, however the edge loops are on top of where their neighbour used to be.

A simple edge slide on the loops doesn't slide them all in the same direction; some loops slide forward, and the others backward.

enter image description here

Is there a way to slide all of the loops in the same direction? Is there a better approach to achieving this animation effect?

$\endgroup$
9
  • $\begingroup$ Select half one then half? $\endgroup$ Commented Apr 19, 2015 at 14:02
  • 1
    $\begingroup$ It's not clear to me yet where the "splits" in direction are - there can be more than one, and it seems to depend on where the mouse is when the slide starts. I think doing it in multiple operations is going to be a pain in the neck. $\endgroup$
    – ajwood
    Commented Apr 19, 2015 at 14:37
  • $\begingroup$ Are you trying to achieve a seamless animation using Vertex Colors ? $\endgroup$
    – zeffii
    Commented Apr 21, 2015 at 15:45
  • $\begingroup$ I am trying to achieve seamless animation, though I haven't thought of using Vertex Colors (nor do I understand how that'd work).. I was thinking I'd keyframe a shape key with linear interpolation and a cycle modifier. $\endgroup$
    – ajwood
    Commented Apr 21, 2015 at 15:55
  • 1
    $\begingroup$ Maybe adjust the title of the question, to reflect what you really want rather than focussing on an intermediate step? That way people looking how to animate something like this will actually have a chance at finding an answer. In the format 1) this is what I want 2) this is what i'm trying, are there better ways? $\endgroup$
    – zeffii
    Commented Apr 21, 2015 at 17:46

1 Answer 1

16
+50
$\begingroup$

Sadly you can not do this directly, however you can achieve the same result fairly easily. Begin by selecting one longitudinal edge loop, and pressing P > By Selection. Now (in object mode) delete the old mesh. Next select the new edge loop mesh, and press Alt+C > Curve from Mesh/Text.

Torus Edge Loop

Now you can create a cylinder, add an array and curve modifier, and you have the desired result. You may need to scale and adjust your cylinder mesh slightly to fine tune it.

Deformed Mesh

Simply animate the mesh's position (on the Z axis) to animate the edge loop sliding effect, and add your wireframe modifier to complete the effect.

Animated Mesh

And this is what the final result will look like:

Animated loop

The array modifier has been disabled to show the animation more clearly.

$\endgroup$
4
  • 1
    $\begingroup$ With the torus loop closed, I don't suppose there's a way to merge the first/last edge loops? $\endgroup$
    – ajwood
    Commented Apr 21, 2015 at 23:27
  • $\begingroup$ Yes, enable Merge and First/Last on the array modifier. $\endgroup$
    – J Sargent
    Commented Apr 22, 2015 at 0:06
  • 1
    $\begingroup$ You sure about that? The array modifier has to come before the curve modifier, so the vertices aren't close yet. $\endgroup$
    – ajwood
    Commented Apr 22, 2015 at 1:19
  • $\begingroup$ Oh right. Hmm . . . I don't know then. $\endgroup$
    – J Sargent
    Commented Apr 22, 2015 at 1:30

You must log in to answer this question.

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