Week 04 + 05: First Rigid Body Dynamic Simulation
February 23, 2024
There was a slight delay in progress due to an incident that recently occurred with me, but I was able to complete the first pass of the Fracture RBD simulation for the crash this week, along with some polishing for the scene.
I. IMPROVE CONTACT MAP
A Improving the Contact Map is my top priority for this week. I added some features into the tool:
Collider Scale: to control the scale of the collider’s VDB in order to create a designated contact area.
Caching: to cache the result of the contact map in a range of frames
II. FRACTURE PATTERN
To improve the fracture pattern, I used the RBD Material Fracture 3.0 geometry node to establish the destructive concrete ground from a number of scattered points from the Contact Map.
III. ACTIVE SOLVER
Not every fracture piece will be involved in the simulation; therefore, I implemented an Active Solver to control the number of pieces that go to the DOP Network. The Active Solver has the same principle as the contact map, which take the advantage of the Mask From Geometry node to indicate the area that has fracture pieces contact with the jet, then the data got add up frame by frame to establish a collection of pieces.
IV. VELOCITY FIELD
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 jet) and the normal of the ground to define the amount of velocity that the collider transfers to the surface. When the jet hits the ground, two forces are created: a forward force and an opposite force. In particular, the forward force pushes the pieces forward due to a great amount of forward speed when the jet continues to move. Meanwhile, the opposite force plays a major role in accordance with physics, pushing pieces toward the jet, then causing them to hit the jet and move forward in a short amount of time also due to great forward speed.
Based on that principle, we established some controls to manipulate the direction of the velocity based on the collider’s normal and the surface normal, and to control the scale of the velocity on top of those which were previously transferred.
V. SIMULATION SET UP
The Dop Network for the Fracture RBD is structured as follows:
RBD Object: the fracture ground surface.
Deforming objects: Quinjet (Proxy)
After initializing all necessary components, the first pass of simulation is complete!
IV. CAMERA FRUSTUM
To optimize the scene, I implement the camera frustum volume, which defines the area of the scene that the camera captures, and delete pieces that fall beyond the frustum to lighten the scene, saving a great amount of cooking and render time.
VII. RENDER SETUP
Learning from previous experience working on a corporate VFX project, I decided to follow the pipeline wherein we keep the render settings of VFX components separate from the layout, which is more organized and easier for look development in the future.