04-05-2022, 09:45 AM
I would like to have one fluid dissolve almost immediately after coming in contact with a different fluid rather than the two of them mixing, ideally with a short delay of around 0.5-1 second so it looks a bit more like they're mixing rather than the particles being killed.
Is this possible? I suppose this would require creating a script that talks to individual particles, which are probably not exposed by the backend.
If it's not possible, any ideas on how to achieve a similar effect? The scenario is mixing a small amount of very high resolution fluid into a large volume of low resolution fluid. The highres fluid is taken from a bottle with a dropper that has an emitter and added to the pool of lowres fluid, which needs to have basically no effect on the volume of that lowres fluid.
If I don't destroy the highres fluid on contact with other fluids I get nothing but problems:
- Even though the resolution ratio is very high and the amount of added fluid is very low, there still is a disproportionately large increase in total volume
- I'm already hitting the particle budget on my machine, so the highres fluid staying around creates a lasting performance hit that doesn't serve any purpose.
- Since the highres fluid is being sourced from a different emitter pool in the bottle, the script that controls the emitter on the dropper also needs to selectively destroy particles from the bottle pool to account for the fluid that is now stored as a value in the script. This means I run into the exact same issue again, I either have to destroy the dropper particles on contact with the bottle particles or the other way around. The only way to fix that I can see would be to remove the dropper emitter and instead create a script that moves the emitter from the bottle to the dropper after a few seconds and the sets the emission speed to 0, which is not exactly ideal either.
Is this possible? I suppose this would require creating a script that talks to individual particles, which are probably not exposed by the backend.
If it's not possible, any ideas on how to achieve a similar effect? The scenario is mixing a small amount of very high resolution fluid into a large volume of low resolution fluid. The highres fluid is taken from a bottle with a dropper that has an emitter and added to the pool of lowres fluid, which needs to have basically no effect on the volume of that lowres fluid.
If I don't destroy the highres fluid on contact with other fluids I get nothing but problems:
- Even though the resolution ratio is very high and the amount of added fluid is very low, there still is a disproportionately large increase in total volume
- I'm already hitting the particle budget on my machine, so the highres fluid staying around creates a lasting performance hit that doesn't serve any purpose.
- Since the highres fluid is being sourced from a different emitter pool in the bottle, the script that controls the emitter on the dropper also needs to selectively destroy particles from the bottle pool to account for the fluid that is now stored as a value in the script. This means I run into the exact same issue again, I either have to destroy the dropper particles on contact with the bottle particles or the other way around. The only way to fix that I can see would be to remove the dropper emitter and instead create a script that moves the emitter from the bottle to the dropper after a few seconds and the sets the emission speed to 0, which is not exactly ideal either.