Yes, something like a Mesh Neighbourhood node would be useful. As input it could get (a list of) vertices, edges, or faces. Then for a vertex, it could return the indices of the connected edges or (as a choice in a drop-down menu) the indices of the vertices directly linked to the vertex by the edges (in other words, the star of the vertex). For an edge it could return the indices of the connected faces. For a face it could return the indices of the edges bounding it.
Using a bmesh instance this would be straightforward to do, in O(1), using a regular face-vertex data structure this would take O(n).
Just FYI, the first example (domino) is having a problem on my system at least: when the .blend loads the Invoke Subprogram node on the left subgraph as well as the entire right subgraph (i.e. Loop Input etc.) are pink. So then I opened the Animation Nodes tool shelf and manually clicked the Execute Node Tree, there is a traceback ending with animation_nodes.problems.ExecutionUnitNotSetup and location: <unknown location>:-1. (Iām still sorting out which way is up with AN or Iād provide more/better infoā¦)
@phil14: The pink color is normal, it just helps you to see which parts of the node tree belong together. For me the file works without problems. Do you use the newest AN and blender version? Otherwise it would be helpful to get the full traceback and some exact steps to reproduce. Thank you
Jacques: no worries. I knew my description was probably not the most helpful as Iām still getting familiar with AN. Thanks for this most excellent addon!
I am experimenting with āNetwork from particlesā template and I donāt see any way to get those distance parameters out of āFind close verticesā node. If that would be possible, maybe we could use that to control vertex colours of mesh and that way get similar result to Plexus plugin for after effects, so that lines start transparent, then get visible and then disappear smoothly when getting too long. I think it should be quite easy to do if we could get those parameters. At least I think thatās the only way, because the generated mesh is one object and can have only one shader, but yeahā¦ vertex colours could be the way! Otherwise the effect is quite choppy.
Another cool thing would be if those generated polygons of lines would always point at the camera.
Weight of lines could be controlled by distance between particles alsoā¦ and not just by one setting.
Are node groups not currently supported? (i.e. Node menu -> Edit Group, Ungroupā¦ are all disabled for me) Also, are the Subprogram menus āgroupā nodes related to the Blender concept of node groups or something else?
Subprogram menus group does the trick, but you are Not forced to go to another tree / tab into it
(It is a subprogram or a group of nodes that can be called n times ā¦)
that allows you to see or change things in group on the same screen if u prefer
duplicate things and creating another group etc. In a way itās more flexible.
on any invoke nodes (that call this group), same tree or no, if u TAB it will zoom view to the group input/output.
However, you can put it in another tree if you prefer to be organized etc or for further reuse by appending into another file
Thanks o.g., that addresses my questions both re: why itās different for Animation Nodes vs. regular Blender node groups as well as the use cases I was envisioning.
Couple of questions regarding (Integer) Lists. I use an Integer List [98, 102, 108] as input for a Loop. The Loop returns (Generator Output) a new Integer List [99, 102, ā¦] which Iād like to use as input for the next time the Loop is invoked. How can I do this?
In addition, are there nodes (planned) for List Intersection, List Difference, ā¦? How about a node to remove duplicate entries from a list (in other words, make it a set)?
In addition, are there nodes (planned) for List Intersection, List Difference, ā¦? How about a node to remove duplicate entries from a list (in other words, make it a set)?
good point
(you can do this today with loops and search list, but would be better and probably more efficient)
Thanks. What I was trying to explain is the following ā invoking the loop creates a list which I need to use as input for the loop the next time it is invoked (and so on). The loop is invoked when the Frame is changed.
Example. The initial list is just [98, 102, 108]. These numbers are indices of vertices of a BMesh. For each element in the list [98, 102, 108] the loop finds the star of that vertex in the BMesh (i.e. it returns the indices of the vertices directly connected to the vertex). These indices are added (extend, not append) to a list. When the loop has finished processing [98, 102, 108] we have the list [99, 102, 105, ā¦]. This is the list I want to use as input for the loop the next time it is invoked. See below.
[Edit] So basically, I need to reassign the Iterator (not the Parameter).
then you can use my example at the top, connecting frames to iterations (green one):
the blue is your loop that does bmesh stuff
the green repeats it n times (iterations) and reassign+extend the result
If u put the frames in iterations, for frame 1 have 1 iteration, for frame 2 : 2, for frame n: n iterations
(so itās like selecting more and more points)
ps: So no, you donāt reassign iterator, you have a loop in loop that repeats a parameter n times (reassign or notā¦)
I canāt get it installed correctly. Everything works until I try to enable it. Iām on Linux Mint 17.2. Does anyone know how I can fix this? Here is the error message. (I have tried multiple installs in multiple different ways, but canāt get it to work.)
Thanks very much, Uncle Snail
Edit: I fixed it. On Linux, in the terminal type: sudo apt-get install python3-numpy
Restart Blender and try enabling again.
I hope this can help someone.
Hi Iām running into a bug with this add-on, Iāve done some searching but Iām not finding anything mentioned. Iām running version 1.0.1 (I downloaded from Git two days ago,) and I canāt get the script node to connect with any other nodes. I can create my script just fine, I can add inputs and outputs (selecting the proper type, float, integer, string, etcā¦) but once I add those itās acting as if those links are incompatible with the nodes Iām trying to connect to (the debug node and the text object out [with string type] are among the ones Iāve tried.)