1
$\begingroup$

I've asked at least a dozen questions on this same problem I've had, and pretty much managed to filter out every singe idea to solve it, now I'm 100% certain AN is the only option.

As I've already inquired about this issue, I'll paste parts of my older questions here to clarify what my issue is, so:

I'm using an instantiated collection(!) with 4 meshes in it as particles, each of them with shapekey animations. The problem is that all of them play at the same time. I'd like each particle to start it's own animation when it's emitted, and not based on the timeline.

Example: Let's say I modeled a piece of popcorn and have base shapekey as just the corn seed, and another shapekey as the actual popcorn itself. Now when I make a popcorn machine, I want each emitted popcorn to start as a seed when it's "emitted", and turn into an actual popcorn after however many frames it's born. With the default particle system, all popcorn would pop at the exact same time, meaning some would be emitted already popped, which makes no sense.

Now, I actually found the perfect video tutorial for this, it shows the solution to this exact problem, but it's for an older version of AN, and some particle related nodes have been removed, naturally. The nodes in particular that are needed that have been removed are the "get particles" node, the "particle list info" node, the "object list" node and the "float list" node.

You can see the full node tree here: (source) (I've also highlighted the missing nodes) node tree

Now, what I actually need help with is to find a way to make this work for the latest version of AN, which is I think 2.1.6, in addition to make this also work with a collection of objects as the particle instance, because in the tutorial, only a single object is used. I'd like to know how to substitute those removed nodes, or, if you're really proficient with AN, maybe you can figure out a better way to do this, as I must say, this node tree is pretty nuts, and I really don't know how to use AN at all tbh. Either way, I'd be very grateful for help!

Thanks!

$\endgroup$
3
$\begingroup$

enter image description here

It has basically three steps:

1) Transform of the objects at the particle location.

2) Delay the shape key of individual objects based on the birth time i.e., shape key animation starts when the particle is born.

3) Then making objects visible only when they are alive.

============================================

Single Object:

Here is the complete note-tree: enter image description here

enter image description here

Blend File:

============================================

Multiple Objects:

1) Here I have made a Group-Node which gives the instance amount per objects (say multiple ships) by keeping the total is equal to the total number of particles. We will use these amounts in the instancer node to generates the instances of the individual objects (or ships).enter image description here

2) Here is the setup to instance individual objects (or ships), enter image description here

3) Complete node-tree: enter image description here

Blend File:

============================================

Multiple Objects with different materials:

For this, you need to install Animation Nodes + Extra Nodes which has the Material Instancer Node and Material Attribute Output node,

enter image description here

Blend File:

============================================

Multiple Objects with animated materials:

enter image description here

Blend File:

| improve this answer | |
$\endgroup$
  • 1
    $\begingroup$ Thanks a lot! This looks exactly like what I needed! Interestingly though, when I append the node tree and swap out the emitter and object to my own, I'm not getting the collection created that contains all the instanced particles. Do you have any idea why's that? Please can you also show a version that works with a collection, rather than just one object? I've tried out some things, but I can't get it to work. $\endgroup$ – Geri Feb 25 at 19:14
  • $\begingroup$ You're welcome. Sometimes during append, the blender only appends the object-data but not the actual object. So, in the node-tree, select the correct emitter object and instance object. We can't offset animation (shape-keys) of instanced collection. I'm using Blender 2.83 and the latest version of Animation Nodes (2.1.7). $\endgroup$ – 3DSinghVFX Feb 25 at 19:50
  • $\begingroup$ Yeah, that's what I did, after appending the node tree, I crossed out both the particle system node and the object instancer node, and use the eye dropper to select my own objects. So, about the collections, maybe we could use a object list to have multiple objects as particles? And randomize them? I guess that would result in the same way as using a collection. But idk, I'm still learning AN. $\endgroup$ – Geri Feb 25 at 19:59
  • 1
    $\begingroup$ With the Object List, it is possible. I'll update the answer soon. $\endgroup$ – 3DSinghVFX Feb 25 at 20:13
  • 1
    $\begingroup$ Thanks a lot, I appreciate it. So, I'm probably reaching with this, and might just make a new question for this (maybe not, as I'd ask the same thing), but is there a way to make this approach work for any object animations? I know in the post I specifically asked about shapekeys as those were used in the original tutorial I linked, but what if I have lets say an animated material on an object that I'm using as a particle? Or a rigged mesh? Basically what I'm asking with this is that is it possible to make this node tree work for all sorts of animations, and not just shapekey animations? $\endgroup$ – Geri Feb 25 at 21:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.