Not sure how I never noticed this, but the left and right hand trail distorters had the exact same seeds set.
Natural aesthetic requires asymmetry. Easy fix. Next.
I added a bit more variance to the tangential damping using some random nodes.

There ends up being quite a bit of difference in the path spread based on the trail distorters’ attraction force.
Notice how as I increase the force, the path toward the sphere becomes more twisted. However, the TDs continue to pull at the particles even after they join the sphere, which unnecessarily detracts from its visibility. Therefore, I decided to gate the trail distorters. Simple change, big results:
Next, I want to improve particle lifetime. I currently use a pretty basic system that measures how close the particle is to the VFX sphere when it first spawns in order to determine how long it should last. This is flawed for a number of reasons, starting with the fact that it assumes the sphere position never changes over the course of a particle’s lifetime.
My new idea is to use the hasCollided attribute that I set to true once a particle collides with the sphere to begin fading out the particle, while capping the lifetime at a max value in case a particle never reaches its destination (or for when the hands close). Before I can do this, though, I need to rework several parts of the VFX system that work based on a particle’s age. Calling it a night and will start on this next.
Tags: vfx vfx-graph unity debugging optimization