Animation Nodes

@liero: interesting thanks, I’ll test this soon.

Thanks, Jacques, for linking my work here! It is shame, that i had missed showreel, which come out really beautiful.
While in process I’ve got couple of questions:
Where should be “Time info” be? Does count of this nodes matter, or should I have only one instance?
And is it only me or “Transforms Input” and “Transforms Output” should exchange their names? :slight_smile: Like “T. Input” got all transforms as input, and “T. Output” returns transform outputs.

Overall I’m really enjoying to use this great addon. And don’t even have huge complains :slight_smile:

I must say, I find myself making this mistake of adding the incorrect node over and over again based on the name. So no, you are not alone…

Welcome to the thread, and nice use of animation nodes!

@TH_JG, Interesting. This is more of a usability point. Just wonder which way you are most oftenly using to add nodes. For me, I use Ctrl A searcher a lot. Well, before a possible “better” solution born, you may want to try some quick and dirty hack like:
“rms” then press Enter for Object Transforms Output, and “rms i” for Object Transforms Input.

Tried another test with a new frame:



Some conclusions -

  • Creating cords and radial arrays now is a breeze thanks to AN.
  • Tried creating the cubes using the new AN approach, but had to fall back to the old Loop approach because:
    A - Randomization is still on the To Do list
    B - And this is actually the most important - loop node creates duplis and not a giant single mesh. For memory and render optimization reasons this is crucial.
    All in all it was a fun test, and I always wanted to create a fake sci-fi reactor… Now with AN it’s easier.

@TH_JG: Not sure what you mean with the Time Info node. You can have multiple of it of course. In fact in some edge cases it is possible that you need more than one because it gives you the frame in a specific Scene (hidden socket). So when you have multiple scenes and somehow have to mix them… Not that I’m suggesting this :smiley:

I learned a lesson from the beginning of AN. And what I learned is that all the names should be specific. AN is so generic that otherwise we’ll run into problems later when two nodes have the same name.

About the “input” and “output” issue, I wrote about it here some months ago: https://github.com/JacquesLucke/animation_nodes/issues/469

@Leon: cool trick haha, didn’t know about it :smiley:
Personally I don’t like some of the parts how the Search works, it is very picky when you misspell a word or so. I might change this later. Unfortunally this has to be done in the Blenders source code, or I could develop my own search…

@Printer Killer: again, very cool image!
I actually thought about how we could solve this issue with big meshes (without having a lot of objects!). A solution that I want to try later is to convert a Matrix List into a mesh, similiar to the Replicate Mesh Data node. However this time each matrix becomes a triangle in space. Now we can Blenders Duplis system to clone an object on each triangle. This should be relatively fast and memory efficient. Still have to test it though. On disadvantage we’d have with this approach is that we can only scale the object uniformly. So it cannot be scaled only at the X axis or so.

@Jacques: if you are going to implement your own search, have a look at the difflib library from Python. The get_close_matches function is very nice to do ‘fuzzy’ matching. Just thought I’d mention it… :slight_smile:

@printer Killer @jacques Lucke, I thought duplis could inherit the scale of the parent face?

I am new to animation nodes and am finding it quite logical. The first issue I have run into is trying to randomise the object selection for the object instancer.

How would I go about this? I have tried feeding an object list into the object port of the object instancer and driving the index of the “get list element” node in between them with index of a loop input node…but this fails. Any ideas?

On a similar note, I had a look at the dominoes blend file to see how it was randomising its dominoes, but it looks like it is just one object with the texture somehow being randomised. How does this work?

Any help would be appreciated!

Does anyone knows if the Shape Key Output doesn´t baking doesn´t work for any reason?

Is this intended or some sort of bug? On the release notes for 1.6 says that everything that can be keyframed can be baked but the shape key output node aren´t been baked at all.

@3pointEdit: yes, but it supports only uniform scaling, doesn’t it? I actually never really used duplis.

@Jamez: Unfortunally the object Instancer doesn’t really support instancing multiple different objects. However you could use the Copy Object Data node to copy the mesh from one object to another… Maybe someone else can give you an actual example… I’m focussing on something else atm.

@pecador: thx, fixed it: https://github.com/JacquesLucke/animation_nodes/commit/f4dd8c3114548b99c75b70997af5d49eae24d775

here’s a quick exampleusing copy data, btw the ‘get random list element’ seems to be broken for the single mode in recent version…

the dominoes example uses AN to set a different pass index to every object, then in the material this number is used to offset the uv coords for the texture

dupligroups work fine for setting uneven scale, but you would need a lot of empties… it worked great for me, maybe an option in object instancer would create real instances…? particles are nice too as you could have 1 per face and get random elements from a group

@liero: thanks for the report, fixed it: https://github.com/JacquesLucke/animation_nodes/commit/a161b5a92612032c740f11b74e1ba2ca520aa7a4

ok thx for the info.
Not sure what exactly you mean with the Object instancer, it can create real instances already, or not?

btw: The Object Transforms Output node has an interesting new checkbox in the advanced settings. It allows you to modify the delta transforms of an object instead of the real transformation. This can be useful if you want to add some movement on top of another animation. (only in the cython branch, but should be in all the builds that have been uploaded so far)

More news:
Thomas Beck compiled a Linux build of AN today. It will be available on graphicall as soon as he gets the upload access over there.
I worked on the rotation stuff the last days (much more complex than I thought! I have to implement quite a lot of boring low level math stuff…). I’m making some progress though, the Direction to Rotation and Rotation to Direction nodes are vectorized now. Next step is to vectorize the Compose Matrix node which will then make it possible to eg align objects to the normales of vertices/faces.

Beside that, university has started again, so I’ll have a little less time to work on AN. And I’ll be at the bconf next week, will be great :slight_smile:

@Jacques , thanks the Copy Object Data node does exactly what I was after. Btw, very impressed with your addon! I have been using xpresso inside of C4D for 10 years, so I found AN to be very intuitive and powerful. Actually it is already more powerful than xpresso :slight_smile:

Out of interest, what was your inspiration behind creating Animation Nodes…Ice, xpresso, Vex? Is there ever likely to be a way to group nodes like you can with Cycles materials or is this a limitation of Python nodes in Blender?

@liero many thanks for your example project, that was exactly the approach I needed. Your domino project is also very clever and I now understand how you created the texture variation. Is there any way of assigning random materials to instances with AN or is making duplicate objects and giving each of them a different material (along with the Copy Object Data randomising technique) the best way?

Thanks to you mate. Tested and working!!!

Jamez there’s a cycles material output -or the object pass trick- you could use to mix different branches of a cycles material tree, but it’s a bit complex… also here’s a little script node solution I just tried, it’s kind of slow but seems to work

Jacques I meant instances as in particles/duplis, but yes, you can already duplicate an empty with the dupligroup option activated, it’s better than meshes in many cases, so no problem

Hi;

I have a question concerning Vertex Colors and how its processed in AN. Is Vertex Coloring taken into account only on a “Per-Object” basis or is it possible to iterate through vertices and assign color attributes to each vertex on a mesh?

Thanx and Cheers;

AJ

@liero …wow, thanks so much for that…you are a champ! I don’t fully understand the script side of things of this setup but the rest makes sense. Will study it. Very excited about the potential of AN :slight_smile:

How do I get an EdgeListSocket ? Although they are not mentionned in the docs (http://animation-nodes-manual.readthedocs.io/en/latest/dev_guide/socket_types.html) I found an_VertexListSocket and an_PolygonListSocket which work well. Any help appreciated for an edge list socket.

Let’s say I created an operator that transforms a BMesh and returns a list of the newly created verts. I want to integrate this operator in a node. How can I get the node to output both the modified bmesh and the list of newly created verts?