rigidBody

Collision Sound Synthesis engine.

The rigidBody module is the heartbeat of the pbrAudioShaders framework’s sound synthesis engine. It transforms your 3D animations into realistic impact, rolling, scraping, and sliding sounds. By combining Finite Element Analysis (FEA) modal models with force data from the physicsSolver module, it creates audio that respects the shape, material, and motion of every object in your scene.

Why rigidBody?

Stock sound libraries are static. A “rock impact_05” sounds the same every time, regardless of the rock’s size, shape, or speed.

rigidBody analyzes your object’s geometry and assigned material properties to build a modal instrument with a digital “fingerprint” of how it naturally sounds and vibrates .

rigidBody reads the forces from the physicsSolver module and synthesizes the results as a multi-track audio file that captures impact, resonance, sliding, scraping, and rolling separately.

How It Works

rigidBody employs a multi-stage pipeline to generate lifelike collision sounds:


Modal Analysis: Converts your 3D object meshes into modal synthesis models, capturing their natural frequencies and damping characteristics based on geometrical shape and physics material properties.

Force-Driven Excitation: Uses the audio-rate force signals and collision scores computed by physicsSolver to excite the modal models, ensuring each impact sound matching the physics of your 3D animation.

Resonance & Coupling: Models internal object resonances and mutual coupling effects, adding depth and realism to each collision and contact event.


Multi-Contact Handling: Simultaneously processes impacts, slides, scrapes, and rolls at multiple contact points, blending them into a cohesive soundscape.

Need Help?

For questions or issues, please open an issue in the repository.