Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The script copies Dyverso particles from "DY_Doman01" to "DY_Domain02" when they are colliding with an object. In order to avoid instabilities, the original particles will be deleted. Both domains must have exactly the same "Resolution" and "Type" settings.

When both domains have different "Density" values it is possible to simulate foam-like effects. Use different colors for domains' particles to see the separation, or apply different daemons to the individual domains.

Code Block
languagepy
# Get the domains "DY_Domain01" and its particles, as well as "DY_Domain02"
domainA   = scene.get_DY_Domain("DY_Domain01")
domainB   = scene.get_DY_Domain("DY_Domain02")
particles = domainA.getParticles()

...



# Loop through every particle and check it is colliding with an objects.
# If the particle is colliding it is shifted to "DY_Domain02" and removed at its original position
for particle in particles:
	if (particle.isColliding() == True):
	domainB.addParticle(particle.getPosition(), particle.getVelocity())
	domainA.removeParticle(particle.getId())