Guardians Of The Galaxy: Volume 2
On Marvel's Guardians Of The Galaxy: Volume 2, I spent most of my time developing and implementing low flying sand and volumes for the large scale desert storm sequence towards the end of the film. I also contributed to several last minute one-off shots involving RBD's, dust, and dirt grains.
The ground dust rig I developed was primarily composed of two sets of volumes and one particle grit pass. The first volume simulation represented transport of medium sized pockets of sand, forming long streaming pieces of volume in the direction of wind in the environment. The source for the simulation was created from areas of the ground that were exposed to the wind direction and an anisotropic noise also along the wind direction. An additional advection step took place inside the simulation model the wind flow as well as a force based on the gradient of the environment to produce streams close to the ground. From there, particles were sourced and advected through the volumes and additional noise fields for finer details. Similar logic was used in modeling forces to keep particles low to the ground and spreading in a realistic fashion.
Anisotropic noise fields were key in creating realistic flows and allowing particles to transition from one stream to another while still flowing in the general wind direction. Finally, since I knew we would have to show this environment from all angles and distances, I built one more volume simulation that would ensure the wind direction and sand flows could be recognized in wide shots. The source was particle based in a custom solver with a noise perpendicular to the wind direction to generate large waves of dust washing over the environment. The custom solver involved sliding points over the environment for a short period before dying off with additional forces and logic to model sticking more on planar surfaces, and dying faster in occluded areas. The resulting particles were fed into a similar volume sim as discussed previously. The large perpendicular waves, difference in speed, and stick/slide behavior helped at far distances.
The environment in this sequence ended up being very large. To combat this, the environment was partitioned per shot and the ground elements were split into wedges accordingly. In addition, the particle grit pass within each wedge was split into clusters and merged together to further increase close to camera fidelity. Once we had that in place, with a few frustum clips and collision object tricks I was able to pretty much just run my setup in shots with fairly high success. For the one-off shots, with a day or less per shot, I provided some quick & dirty smoke clusters plus some RBDs that were sent to Weta to finish the ship crashing through the palace shot, and some particles, grains, and simple geometry to model dirt falling off the JSON ship as it took off to Ego's planet.