I have the goal of trying to instantiate objects that emit particles, and have the new objects follow points on other objects.

My approach has been to attempt to use Animation Nodes. However, the add-on seems broken? I am following a few tutorials such as this one: https://www.youtube.com/watch?v=S3uschDguJk

As you can see, the basic idea is to instance an object with a particle emitter onto vertices of an animated object (or several). The instancing part works, but in Blender 2.8 and 2.9, the particles do not emit properly once the Object Output Transforms is used to actually move the instance objects onto the vertices. They do not move at all, and lose all interaction with physics or fields.

Partcicle failure As you can see, the original emits particles with physics interaction, but the instanced objects (while generating particles) have them remaining stationary on the surface (and following along with the object animation). In the above youtube video the behaviour is different.

I have also attempted setting location with the attribute node, but (once again) the actual placement of the objects work, but the particles lose any physics

Any advice regarding how to fix this - or alternatives? Many thanks in advance!

  • $\begingroup$ a blind file would help... $\endgroup$ – Chris Feb 10 at 15:58

You can bake object transformation into keyframes using Set Keyframes node. It should work.

If you don't want to bake animation then try this method:

Step 1: Create empty objects using Object Instancer and do whatever animations you want to those empty objects.

Step 2: Create instances of actual object having particles using Object Instancer. Then unlink it from node. You can do that by pressing Unlink Instances From Node. which can be found on advanced settings of Object Instancer node. Then move those objects into another collection. enter image description here

Step 3. Get objects from collection using Collection Info node. Then set empties as parent for these objects using Attribute Output node. enter image description here

  • $\begingroup$ Thanks! That works well. However, why are these extra steps needed? The old way was much more elegant where the object transform would be set and particles still behaved independently? $\endgroup$ – Foxis Feb 10 at 16:49
  • $\begingroup$ I'm not sure why it don't work may be because AN is updating object data on every execution. Between my answer need a correction, you need to put objects into a new collection after unlinking from node. $\endgroup$ – HariSreedhar Feb 10 at 17:25

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.