I personally think there is another approach. Simply use falloff to decide how to deform the mesh. It's also possible to make the shape more complex depending on your falloff, and curve interpolation settings.
I finally gave up on Animation Nodes and just wrote a simple Python script instead. I changed the format of the CSV so 1 line = 1 keyframe. This is simpler but it could probably be more efficient by not forcing you to place keyframes constantly.
The objects are still separated by '$' characters to simplify parsing.
An Example CSV file can be found here
Please check the BUILD modifier (you can also apply it to lines).
BUILD modified let you animate the generation of a line and on the line/path you can control easily the radius/thickness.
Make 2 curves: one path (the line), one circle or square
one the line apply a GEOMETRY > BEVEL > OBJECT > choose the circle or the square
Edit the size of the path with ...
Let's have fun with Animation Nodes then !
Teaser 2 :
Get the blend file here :
First, let's create a loop to instantiate the spheres and make them grow to their normal scale depending on a certain falloff :
If you want to find a node by name, type CTRL + A and then the name of the node you are looking for.
In the topbar, go to Add > Subprogram ...
I managed to do that also. You don't even need the add-on.
Run the particle simulation for a short while (space)
Convert it to objects
Go to Object > Rigid Body > Add Active
Shift-select one ball
Go to the Rigid Body tab and put shape to Sphere
Right-click it and 'Copy to Selected' to put it to all selected spheres
Continue playing (space), let the balls ...
If no one ... classic
add Text convert to Mesh
add Balls, set in Collection, add Physics > Riggid Body > Active
add Particle system > Source from Volume, Render > Collection
enable addon Copy Particles to Riggid Bodies, run operator (take some time)
disable particle system for Text (Mesh) object and add Physics > Riggid Body > Passive
To change letters - ...
We will get this info by using the atan2() math function. We will use the x and y coordinates of your line starts and end.
In the loop where you initialize your line meshes, add a new parameter of type "Euler List". Disable the input and enable the output. Add a "Reassign" node on the right of your loop.
On the right, set this up :
So, we are getting the ...
As stated in https://blender.stackexchange.com/a/168589/86891, you have to access a specific object's property in order to change each individual object if they share the same material. Each object has a few specific properties : Render pass index, viewport color, etc.
But you don't have to use the Animation Nodes for this since the shader nodes contains a "...
There are two ways to do that effect.
By controlling the object falloff with Curve Interpolation node,
Blend File 1:
Using the Spline Falloff node which gives you more flexibility with the shape (O or something else),
Blend File 2:
You can do this by using 'reassign'.
This is an option accessible from the 'loop subprogram' and which allow to obtain a node from which you can reassign an input parameter from some calculated result inside the subprogram.
Select the subprogram.
Go into the properties on the right, in the node tab, then click 'reassign' for the input you want.
You can make use of the "Viewport Color" property of each object, since this property can be accessed in any shader.
See my answer here for more information : https://blender.stackexchange.com/a/163699/86891
In your animation node tree, you need to add an "Object Attribute Output" set to "color" :
As of V 2.1.7, thanks to 3DSinghVFX there is a ...