2
$\begingroup$

I would like to create an animation of a cubic trefoil knot. It is a very interesting 3D structure. Use Google images to see what one looks like. I would like to do an animation where I start with 1 block and either extrude or stack blocks to create one, one block at a time. It would look something like one block then another block next to it in the Y axis, repeat to three, then start adding blocks in the Z direction until you have a stack, then start adding blocks in the X direction, etc.

$\endgroup$
  • 1
    $\begingroup$ Hello and welcome. What is your question, what part of the workflow are you stuck with? $\endgroup$ – Duarte Farrajota Ramos Sep 13 '18 at 2:40
  • $\begingroup$ Actually, that is the problem. I really don't know what a workflow is. What I want is similar to stacking blocks. I want to stack blocks to create a cubic trefoil knot. I have created one by extruding surfaces, but I want to animate the process as I do it. $\endgroup$ – Richard McWaters Sep 13 '18 at 3:07
  • 1
    $\begingroup$ I can't see how it could work with Arrays or Dupliframes. If I had to do it I would do it with cubes appearing in the scene the one after the other (keyframes on the eye icons of the cubes, in the Outliner). It's not the most intelligent way but it works. I guess you can do this kind of thing with Animation nodes? Also, maybe, a series of Boolean that would reveal the shape? $\endgroup$ – moonboots Sep 13 '18 at 7:43
  • 4
    $\begingroup$ Suggest adding an image and or link to your question, rather than suggesting to readers to google it. What does the one you created look like? $\endgroup$ – batFINGER Sep 13 '18 at 8:42
  • $\begingroup$ I came up with an answer but it does not work. I will leave here in case anyone can fix the final hurdle. Create a Curve as the knot, use the Curve as a Curve Modifier on a Cube that has an Array Modifier. This produces non 90 degree angle results so add a Remesh Modifier set to Blocks. Looks great, reduce the number of items in the Array and the moment the knot is smaller that the original bounding box the mesh jumps in location and size, very visible with low array count. This is because the Remesh Modifier uses the Bounding Box to determine Block size and Bounding Box can not be forced. $\endgroup$ – rob Sep 14 '18 at 11:16
3
$\begingroup$

You can do this with DupliFrames.

Starting with a cube, and a path for the knot. (I made my path by duplicating selected edges from a 4x4x4 array of cubes and then AltC converting the mesh to a curve)

  • In the cube Object Properties > Duplication panel, set duplication to 'Frames', the Start to 1, and the End to 36. Uncheck 'Speed'.
  • In the path's Data > 'Path Animation' panel, check 'Path Animation' and set the Frames to 36, uncheck 'Follow'.
  • In object mode, with the cube and path selected, (path last), CtrlP parent the cube to the path, with 'Follow Path' selected.

You may have to hit AltO to clear the origin of the cube and make it sit on the path. You may also have to alter the orientation / scale of the cube in Edit Mode to get the overall look you want.

Now you can animate the build block by block, Keyframing the cube's Duplication > 'End' field.

enter image description here

$\endgroup$
  • 1
    $\begingroup$ great method but why are the cubes invisible in Render? $\endgroup$ – moonboots Sep 13 '18 at 19:28
  • $\begingroup$ @moonboots YIKES! thank you!? The duplis do render in Internal, but not in Cycles, until they'e made real, and then, of course, they don't animate. More digging, or it's abandon this method? I've found no commentary on this apart from bug reports in about 2014, which are marked fixed. $\endgroup$ – Robin Betts Sep 13 '18 at 21:07
  • $\begingroup$ I followed your instructions and they do render in cycles. I did not apply an materials or make any changes. $\endgroup$ – rob Sep 14 '18 at 12:08
  • 1
    $\begingroup$ here is the .blend. I do have different number of vertices but otherwise the same. blend-exchange.giantcowfilms.com/b/5249 $\endgroup$ – rob Sep 14 '18 at 12:24
  • 1
    $\begingroup$ OK, got it. Both @moonboots and I accidentally had duplication set to 'Frames' on the curve. Must be an easy slip, if we both made it.. $\endgroup$ – Robin Betts Sep 14 '18 at 13:11
1
$\begingroup$

There must be an intelligent way to do it, like Animation nodes, but anyway here is a way with the Boolean modifier:

  • Create your Knot.
  • Create one cube per section and scale them so that they encompass each section of the Knot.
  • Make them transparent and invisible in Properties > Object > Display and Cycles Settings (see screenshot).
  • Give your Knot as many Boolean modifier as you have cubes, and in each modifier chose one of the cube as Object.
  • Now in the Dopesheet window, go to frame 1, select all your cubes in the 3D view and press i > LocRotScale.
  • Move the green bar in the Dopesheet window, come back to your 3D view, move up the first cube and press i > LocRotScale. You've created a second keyframe for this cube and Blender will interpolate the movement from position 1 to 2. It will reveal the part of the Knot that was contained in this cube.
  • Maybe sometimes you'll have to scale down the cube instead of moving it.

enter image description here

$\endgroup$
  • $\begingroup$ I couldn't help overhearing you mention Dupliverts -- what would you animate, in that case? .. (I've popped the Blend into my answer ...) $\endgroup$ – Robin Betts Sep 13 '18 at 15:59
  • $\begingroup$ Yes you're right, my bad, but I don't know why I have a bug with your method, I'm trying to understand why $\endgroup$ – moonboots Sep 13 '18 at 16:06
  • $\begingroup$ there's a cube missing on the angle: zupimages.net/up/18/37/iky0.jpg $\endgroup$ – moonboots Sep 13 '18 at 16:13
  • $\begingroup$ the file: blend-exchange.giantcowfilms.com/b/5245 $\endgroup$ – moonboots Sep 13 '18 at 16:23
  • $\begingroup$ There's an on-for-so-many frames, off-for-so-many frames option in the cube's Duplication panel..-- you have it on for 9, off for 1. 1 & 0 will fill your curve. $\endgroup$ – Robin Betts Sep 13 '18 at 18:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.