GOOD BAD AND BEAUTIFUL DUST SETUP BREAKDOWN
Dust Coming Off Shoes ("Dusty" Timer)
Particles are spawned from the bottom of the shoe based on whether they're "dusty" or not. The Dustiness of the shoe is determined by the proximity of the shoe to the ground and how long it has been off the ground.
When the shoe is on the ground, it is "dusty" but won't emit particles.
When the shoe is off the ground, it will emit particles for a certain number of frames.
If the number of frames has been reached, it won't be considered "dusty" anymore.
Dust Coming Off the Ground
Particles are also spawned off the ground for when the character hits the ground. the velocity of the particles is mostly determined by the negative of the incoming velocity vectors from the shoe. In the setup, I gave the option to scale the velocity uniformly or only along the Y axis or the X Z axes only, but in the end, I believe the artists prefered to manipulate it with their own methods.
Particles as Pyro Source
The particles from these two different sims are merged and turned into volumes (v and density) using the Volume Rasterize Attributes SOP. It was then sourced into the dopnet and simulated using Sparse Pyro Solver.
The simulation itself has very low disturbance and turbulence intentionally to give the dust/smoke a smoother look as per the director's vision.
Extra Sand Trails!
To give the whole effect more variety, extra dust trails were added which would look more like bigger grains of sand rather than extra fine dust particles of the pyro sim.
The general idea is to scatter points in select parts of the shoe and create polylines that connect them to a certain number of previous frames using the Trail SOP. That'll later be used to scatter more points along the polylines.
POP Sim The Trail Ends
The Trail points were Split based on an animated value of the polyline UV attribute. Those points on the end of the trail will be used as a source for a Particle sim to sell that the sand trails are actually somewhat influenced by gravity.
All these points are then turned into volumes using the Volume Rasterize Attributes SOP with a very small voxel size and pscale. Adding noise to the point position before this step and also using the Velocity Blur feature of the Vol Rasterize Attrib SOP really help sell the look!