Animation Nodes

The Animation Nodes (AN) addon is a node based visual scripting system designed for motion graphics in Blender.

The main goal of this project is to have a very customizable and extendable node framework. You can use it as powerful driver alternative, text manipulator, animation replicator, …

Download

Thread Overview

Leon Cheung created a spreadsheetthat helps to directly jump to the quality posts in this Thread.

Learning AN

AN has a manual. Also checkout the external links for more learning resources.

You can ask questions about AN on blender.stackexchange.com using the ‘animation-nodes’ tag. If the answer to you question does not fit into one answer you can also ask it here in the forum or on Github.

Development

The development is mainly done by me (Jacques Lucke) but there a a few more developers who contributed code to the project. Most discussions about future development are on Github, everyone is invited to join us there.

Here you find some videos I made to show the progress: https://www.youtube.com/playlist?list=PLFSQhJg6cGLKq8WbouMNBOHbMd7xUhuom

Support Me

There are currently two options to support me financially:

  1. One time donation via paypal: https://www.paypal.me/jacqueslucke
  2. A small donation per month on Patreon (preferred): https://www.patreon.com/jacqueslucke

[Note: I deleted the original first post]

25 Likes

Just implemented a few new nodes to make random texts.


I realised that you can make intro templates or similiar things very easy via these nodes.

3 Likes

Well, this looks awesome, but I have a question for you - is this only for text objects? can we animate mesh and curve objects also? I think most of the people will find it useful if we can animate mesh and curve objects as well!

2 Likes

http://youtu.be/lYTKYIVSbbIhanks :slight_smile:

This is not only for text objects. I implemented them at first because they are easier to debug and you see the exact output. :smiley:

In the video I above you see a small example of how to use the addon with other object types.
we only need some more nodes, but to implement a simple node in the code is just a matter of 5 minutes or so. Fell free to help me :smiley:

I’m looking for a more creative name because I get tired of writing ‘a n i ma t i on n o d e s’ :smiley:
so maybe someone has a good idea for that :slight_smile:

2 Likes

Wow nice addon ; it looks very useful for motion graphics.

I’m trying it but i can’t seem to make anything move… :(, i’m not copying what you are doing, but making something with a cube… i’ll keep on trying.

Jackes if you want i can help you out in usability terms for artists, and we could make this be the definitive Motion Graphics addon for blender!.

Whaddayasay?

Okay, i figured out, i was using it on blender 2.69, and nothing really works there… hehe, so now in 2.72RC it works…

It would be better to change the Blue and Dark Blue to two different colors instead of different tones, because its very easy to try and connect the wrong nodes continiusly, actually, in the add menu they could have an output color code so you know what youre putting in easily.

:smiley:

Okay. Don’t know if here is a way to support older versions but this shouldn’t be my focus now.

Yeah. I noticed this color issue but forget it :smiley: I want to make everything number related in a blue hue.
You can find some nice rgb values for these dots if you want.
For testing these you can go folder where the addon is. There should be a file with ‘socket’ in its name. [Changed the location a bit. But should be clear if you look at the files] There are all the socket types and they define a color. Don’t know if you have any experience with this. Just save the file and restart blender.
Or you just find nice color without coding :smiley:

you are totally welcome to help from the artist perspective althought I’m a blender artist too for some years :smiley: started python scripting in blender just about 1or 2 months ago.

But I’m open for all suggestions! And will see if I can implement them.

I’m currently thinking about a way to make something like loops to execute the same nodes on multiple objects. . Not sure how this can look like… maybe frames around the nodes that are in a loop… im not sure about that.

Another short Video: https://www.youtube.com/watch?v=52nKM35LRZM&feature=youtu.be

Yay. One step closer to nodifying (definatle a word :yes:) everything.

I see sooo many uses for this in motion graphics projects!
As comparison I think this can be used similarly to After Effects text animation system…
Is it possible to somehow define animation for one character and then apply that same animation with offset in time to other characters in text?

I hope this is possible in the future. but not now…I haven’t found a nice way to implement this yet. maybe you have an idea how this can look like but so that we also keep the flexibilty…

maybe you find this interesting: https://developer.blender.org/D320

Atm I’m cleaning up the code and make it as easy as possible for others to make nodes.

Just to know. In the last two months we here in Cogumelo have been worked in a Commercial addon that implement a Node Based animation system. It will be released very soon and handle all these limitations that you are facing though it have a complete different approach to it all.

Cheers!

Cool!
Would be interesting to know in which aspect your approache is totally different. But I understand if you don’t want to write about that because you are making a commercial addon.

I just cleaned up the whole nodetree execution code hoping that it will be easier then to overcome these limitations…

Hmm… I wish there would be like… one official node system for geometry AND animation, because it really makes no sense to learn all these different systems. Theres blendgraph, sverchok, now this… it’s just too much. For every system you basically have to learn specific things and test them out… and that takes the precious time. Would be so great if you, smart, smart people - programmers could somehow join your forces and make one, really good and stable thing, otherwise it’s chaos and time waisted for many of you, if only few people are using these things. Of course I understand that you all do that in your own way and don’t want to join others because don’t want someone elso to dictate how things should be done, but think of it, would it not be actually smarter and more usefull to join? I really respect you all, but really, as animator and artist I just want a good stable tool and fast, clear learning curve.

Well. You are right. Would be great if we can join and develop something together. But for me these projects are for learning in first place.
I’m not a long time developer for blender yet.

I totally agree that for an artist it would be better. Maybe the time will come when I join another team but I actually never did this. (I’m 17 years old)

@karlis: I agree, it would be nice to have one system but that won’t happen until the Blender Foundation adopts one or produces one of their own. Not to discourage vitorbalbio but I don’t think a commercialized one is the solution either, that will exclude some users and they will migrate to free offerings. When I was developing Blendgraph I had hopes, like Jaques, that others would join in the developing of more nodes and Guy Lateur did help but now it kind of sits like a bone yard of code for others to pick through.

.I haven’t found a nice way to implement this yet.

@Jaques: Take a look at my implementation. It is quite simple and gets the job done. Add a string input to your node. The string should contain the name of a reference object which you can “sample” it’s animation. Examine the animation_data for that object and extract an f-curve. Once you have an fcurve you can issue an evaluate to return the value of that curve anywhere in time. Apply that value to one of the characters. That is the cool part about using evaluate. You can reference the past as well as the future. So not only can you have characters that follow a leader, they can precede one as well.

@atom
I used this evaluate function already in my last video where I use the velocity to control the shear value of a text object

I will take a look at your implementation when I’m at home

Hey man, great answers, i don’t have much experience, i’m just getting started with coding, so i probably can figure out the socket color thingy :slight_smile:

well done, hey i’d be really nice if you can implement an instancer (to make controlled duplicates) =D

Cool. Ask, if you have a problem :slight_smile: