ThinkingParticles "Disintegrate on Impact"


Greetings all!

I’m wrestling with another ThinkingParticles problem. This time, I’d like to give the effect of small-ish spherical projectiles colliding with a surface and disintegrating into smaller particles which disappear of a few frames (maybe 12 to 24 frames).

The effect is for a scientific illustration but does not need to be particularly realistic. I see the step-by-step as looking something like this:

  1. Particles are spawned from a geometry mesh emitter
  2. They’re driven by some wind or gravity until they reach another geometry surface which is set as a collider
  3. They bounce away from the collider and each particle’s scale fades to zero on all axis over a few frames
  4. At the same time, a new particle group is created from the collision event (based on position and time of impact) and each particle in this group spawns a new set of particles
  5. The new particles explode outward from each original particle (like fireworks) but these would also scale to zero over time (fairly quickly maybe 6-12 frames) and then die once they’ve reached a scale of zero

At the very least, I’d like to accomplish the scale fade on the original particle group, though the ‘explosion’ would be cool too, presuming it’s possible to do with C4D’s native tools.

Attaching a work file that shows my so-far failed attempts. :frowning:

Thanks ahead of time to any responders!
thinkingparticles-disintegrate-on-impact.c4d (424.7 KB)


Back again to report that I’ve made some headway on this (mostly thanks to tutorials by Athanasios Pozantzis, aka NoseMan, and Eric Liss )

So I’ve managed to get an effect that fades the scale of each particle based on Age/Life.I’ve also managed to use ParticleGroup2 to emit secondary particles. Here’s a gif of what that looks like:

Also, my Xpresso network:

There are still a few things unresolved however. Hoping someone can offer some tips…

  1. The first particle group (Group.1 = yellow) hits a PDeflector with a small bounce setting. The PDeflector Event creates a new group (Group.2 = green). However, it appears not all of the Group.1 particles get transferred to the new group upon impact with the Deflector mesh. Some remain yellow and stuck to the Deflector surface. While it’s not necessarily critical to me that these stragglers get transferred to the green group, but it is imperative that they fade away rather than simply die out. Can anyone suggest a way to use the PDeflector Event as the trigger to begin a scalar fade to zero?

  2. I am using a MoGraph Multishader with Randomize Effector to randomize color on the particles. While it appears the color assignment stays as is when Group.1 becomes Group.2, Group.3 gets an entirely different assignment which would great to override. Ideally, the Group.3 particles would inherit the color assignment of Group.2. I could be wrong but I would guess that color are assigned based on point numbers. Can this be overridden? Could the random value assigned to Group.2 be passed on to override whatever random values would happen on Group.3?

Once again, thanks ahead of time to any responders!

Updated scene file attached!TP-disintegrate-on-impact_3groups_v02.c4d (81.1 MB)