Alien Drone Attack
In The Making
February 13, 2025
Week 02: Destruction Week 01
The first FX I want to tackle is ground destruction, as Rigid Body Dynamics is my absolute favorite to create. In this post, I'll summarize a fundamental setup that I’ve developed by combining insights from various resources with my own experience in RBD simulation over the past two years.
GroundRBD Set Up
This is the general set up I built in order to prepare the fracture geometry, initiate important attribute, establish a custom velocity field, and optimize whatever get feed in the simulation later to prevent heavy and simulation.
Contact Mapping
The purpose of Contact Mapping is to estimate the area that an object interacts with the fracture surface. I use Mask from Geometry node to roughly catch he area the drones touch the ground, add those frame-to-frame information together by the solver, initiate emit attribute and scatter a certain amount of point to feed in the RBD Material Fracture.
Active Solver
In order to art direct the velocity of the simulation, my supervisor and I developed a setup from my last project to control the velocity field. The principle of this velocity field is to combine the normal and speed of the collider (the drone) and the normal of the ground to define the amount of velocity that the collider transfers to the surface.
Velocity Field
The active attribute is created, in this case, also by the contact of the drone with the ground in time order. Thus, a similar solver is built to help me decide which point should be active at what time in the shot. The interesting part is that I can art direct this attribute, such as make the map of the active attribute gradually spread out right after the instance contact to demonstrate the impact of the destruction.
Fracturing
By using extra emit point, the fracture pattern is established with more in quantity and smaller in size pieces at the area of contact, which give a good variety of pieces to work with.
Name and IDs
To prevent any overwritten name attribute after all of the nodes above, I transferred the name attribute from the initial RBD Material Fracture node to the most frequent cache of the active solver. IDs are also be saved as point number of each individual point.