5

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'?

Chameleon
  • 53
  • 3
  • 1
    You can use Sverchok. Not an expert, but I'm sure it provides an option to omit edges longer than x. – p2or Oct 20 '16 at 10:10
  • 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. – g19fanatic Oct 20 '16 at 13:01
  • 1
    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. – zeffii Oct 21 '16 at 07:00
  • There is also similar question: http://blender.stackexchange.com/questions/63091/how-to-animate-random-turbulence-on-a-mesh-surface/63552#63552 – Blender Sushi Guy Nov 13 '16 at 09:31

1 Answers1

5

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.

zeffii
  • 39,634
  • 9
  • 103
  • 186