We know that we can wiggle object(s) easily using AN. How about wiggling vertices (low level mesh) of an object? Let's see.
Supposed we want to disturb the position of vertices of a mesh, in that case the default Cube above. The first most obvious node to inspect mesh data is "Object Mesh Data" node.
When we are disturbing a mesh, though, I believe we need to have the BEFORE and AFTER mesh. What I mean, is that we will have some processing of TEMPORARY mesh data that later feed into the FINAL Object.
In Sverchok environment, we have the "ghost" mesh viewer. In AN, not the case. Sverchok itself I believe has a more robust set of nodes to deal with MESH data.
However, AN has this interesting and convenient way to deal with mesh vertex data level from and into object level. It's just my opinion. We will see later.
The downside of "Vector Wiggle" node is that it works only for a single Vector value. For a mesh vertices, a "Cube" has 8 Vertex we need to deal with. So .... we need LOOP.
Below is my step by step to achieve what I am trying to do.
For each vertex locations, which is a Vector type of data, I am wiggling it one by one.
Inside the loop, the vector will wiggle, as soon as we plug in Time node. However, after the loop, we like to contain it back as a List of Vector / Vertices (it will convert), so we use the Generator Output.
A bit convoluted? Yes, I guess so, but it is logical and your Cube will start wiggling....
What is happening? We just vector add EVERY vertex position (Vector value) with vector value that is generated by Vector Wiggle.
NOTE: One thing I noticed is that the resulting mesh data piped cannot be "Shade Smoothed". This might be a bug, or just an option I missed, because I tested this example few times, sometimes I actually get a smooth mesh. Something I need to talk to AN Developers.
WHAT NEXT...
There are actually few interesting things we can do with "Vector Wiggle" technique. Keep in mind that you can already do similar effect using Blender Displace Modifier.IDEA 1: Procedural Pebbles
Making a procedural pebbles is one obvious thing. Exporting the state of object at every frame as OBJ will give you UNLIMITED amount of variations. Depending on how many times you bake it.IDEA 2: Bake it as MDD, then create procedural crowd system (yeah right...)
Blender does not have Alembic bake (yet), unless I am wrong. MDD point cache is one mesh baking method that I know of in Blender, that can be easily exported out and imported in using Modifier.
AN node can then control this Modifier attribute directly per node per object. Offset animation is easy like this. Easy like sleeping on a couch...
You could theoritically create crazy complex animation with this simple idea!
IDEA 3
Now that we know we can "disturb" low level component. We can actually use the component level data to disturb Object level attributeI will try do do something with a character rig and AN and create procedural animation, even just a random pose of character can be interesting.
Anyway, that's all for today. Thanks for tuning in.
Post a Comment