Incredibles Goo particle

Hey all!

I’m new to the forums and very new to the world of VFX. I’ve been wanting to get into it for some time, but work hasn’t really given me the opportunity. However, I just got laid off, so now I find myself with all too much time to myself. A good friend of mine has been encouraging me to join, so here I am! I’m newish to Unreal 4, and a little more familiar with Unity’s Shuriken editor. Intro complete.

I loved the effect with the goo in Syndromes lair and wanted to try and replicate it using UE4. I built a simple sphere with a swirly normal map and used the swirl pattern to get the roughness. Threw the sphere into the emitter, and now I’ve got this result.

Incredibles goo reference

My result

I would like the spheres to spawn more spheres at the collision, and for the size over life to happen when it collides. Currently, the spheres are set to grow over time, rather than after it collided with a surface. I would like the spheres to resolve by merging into each other, or by dissolving along the swirl pattern.

Thank you!

1 Like

– Answer:

  • Event Modules
  • Description: Event modules allow you to generate events based on particles interacting with themselves, each other, or the world, and then listen for those events and cause reactions to them on an inter-particle system level. A good example is generating a named collision event whenever a particle collides with the world, and then spawning particles wherever those collisions occur. - UE Documentation

– Answer
Image from scratchpixel article shown below:
For dynamic behavior, this is a more complicated challenge. If you are new to computer graphics / programming / mathematics, then I would suggest looking for a more static approach. I would still recommend reading the “metaball” (or as they call it, “blobbies”) section as it could give you some ideas for alternative approach methods.
Rendering Implicit Surfaces and Distance Fields:

1 Like

This is exactly what I pictured! It does look complex for my skill level though. I think I’ll try your suggestion of a more static approach first. Thanks! :slight_smile: