5
$\begingroup$

Before I begin here, I'm not talking about Node Editor nodes: I understand those just fine.

I want to make an animation. Nothing too fancy - something like this:

(Something very similar to this would be nice) In which the dots move around, the lines / connections with them.

However, my conundrum is that, unlike this, I would like the connections to be capped at a certain length. I can't really explain this, so here is another image.

So that dotted line would not be displayed. Anyway, my question is, how would I go about this? Freestyle? Shape keys? A lot of toggling that little eye on and off? Node or code wranglin'?

$\endgroup$
  • 1
    $\begingroup$ You can use Sverchok. Not an expert, but I'm sure it provides an option to omit edges longer than x. $\endgroup$ – p2or Oct 20 '16 at 10:10
  • $\begingroup$ Seems like something that wouldnt be too difficult to script up. Find all node objects in a scene, get distances between them and draw cylinders between ones that are within a certain range. Do a move (random or organized) and repeat. $\endgroup$ – g19fanatic Oct 20 '16 at 13:01
  • 1
    $\begingroup$ The title of this question won't be useful to others, but something like "automatically generating edges (with maximum length) between an animated set of Vertices" , might. $\endgroup$ – zeffii Oct 21 '16 at 7:00
  • $\begingroup$ There is also similar question: blender.stackexchange.com/questions/63091/… $\endgroup$ – Blender Sushi Guy Nov 13 '16 at 9:31
5
$\begingroup$

You could use Sverchok or Animation Nodes, if you are comfortable with Nodes (and don't want to write any Python). Because I am a developer of Sverchok I'll show how you might approach it using using that add-on.

Sverchok

Generating the meandering vertices is what looks most complicated here, but it's sampling points on a perlin-like 3d noise system. How you generate the position of your 3d points is up to you; could be read from a text file with xyz position per frame.

Making Edges is done with a single Node (KDTree Closest Edges) which makes K-Dimensional Tree of the incoming vertices and spits out the possible edges given the configuration parameters

  • min distance
  • max distance
  • max num edges per vert
  • skip first n edges per vert

enter image description here

That gets the basic concept going, then it's a matter of choice how to represent the Circles (verts) and Lines (probably flat shaded Curve Objects (straight) with thickness).

Then after experimenting with the meandering algorithm and min/max edge length, you'd add a few Viewer Nodes (BmeshViewer and Curve Viewer)

enter image description here

It can be animated by keyframing the left most Float node labelled Driver Value.

$\endgroup$

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.