Geometric Acoustics
Categories:
GS_AudioPro - premium tier
This feature ships in GS_AudioPro, the premium audio gem. It requires the free GS_Audio gem and extends it. See what lives where.The base gem places sounds by direction and distance. Geometric acoustics adds the room: sound muffled by the geometry between it and the listener, and reverb derived from the space the listener is actually standing in rather than an effect an author dialled in.
Geometry is authored, not inferred. You mark up the acoustically significant parts of a level with volumes and shapes carrying material presets — you do not hand the simulation your render meshes.
Contents
- Turning It On
- Authoring Geometry
- Acoustic Materials
- Occlusion
- Reflections
- How It Stays Safe
- What This Does Not Do
- See Also
Turning It On
Geometric acoustics is off by default. It is enabled on the Pro manager’s settings, which are additive to the base project settings.
| Setting | Default | Meaning |
|---|---|---|
| Geometry Enabled | false | Master switch for the whole system. |
| Occlusion Enabled | true | Muffle sounds behind geometry. |
| Occlusion Type | — | Raycast or Volumetric. |
| Occlusion Radius | 1.0 | Source sphere radius for volumetric occlusion, in metres. |
| Max Occlusion Samples | 16 | Rays used when sampling an occlusion volume. |
| Reflections Enabled | true | Derive reverb from geometry. |
| Reflection Mode | Listener | See reflections. |
| Reflection Wet | 1.0 | How much reverb is added to the dry signal. |
| Reflection Smooth Time | 0.75 | Seconds to ease toward a new room. 0 snaps. |
| Reflection Order | 1 | Recursion depth, 0–4. |
| Simulation Update Rate | 30.0 Hz | How often the simulator recomputes. |
Authoring Geometry
Two components mark up a level. Both carry a material preset, plus a custom material for the Custom case.
| Component | What it contributes |
|---|---|
| Audio Geometry | An authored box volume. |
| Audio Shape Geometry | Reads an existing O3DE Shape component. A Quad becomes a single-layer plane, a Box becomes a box, and anything else falls back to its bounding box. |
The Shape variant is usually the faster path — a wall you have already blocked out with a Shape becomes acoustically real by adding one component.
Registration goes through a request bus that takes raw vertices rather than entities. That is deliberate: it is what will let streaming systems fold geometry in and out of the simulation without the acoustics layer knowing anything about entity lifetimes.
Acoustic Materials
Fifteen presets, plus Custom.
| Group | Presets | Character |
|---|---|---|
| Hard / reflective | Generic, Brick, Concrete, Ceramic, Glass, Plaster, Wood, Metal, Rock | Bounce sound. Long, bright reverb. |
| Absorptive | Gravel, Carpet | Soak sound up. Short, dull reverb. |
| Soft barriers | Curtain, Blanket, Door, Drape | Transmit meaningfully — they muffle rather than silence. |
| Custom | — | Dial all seven coefficients by hand: absorption low/mid/high, scattering, and transmission low/mid/high. |
The soft-barrier group is the interesting one for designers. A curtain over a doorway does not block the sound behind it, it dulls it — which is the effect people usually reach for a low-pass filter to fake.
Occlusion
Each voice is simulated against the geometry between it and the listener, and muffled accordingly.
| Mode | Behaviour | Cost |
|---|---|---|
| Raycast | A single ray. A source is occluded or it is not. | Cheap. |
| Volumetric | Samples a sphere of the configured radius. | Higher, scaling with sample count. |
Volumetric is what gives partial occlusion at edges — a sound leaking around a doorframe rather than switching off as it passes behind the jamb. If occlusion feels binary and abrupt, this is the setting to change.
Occlusion ducks the direct signal.
Reflections
Reverb is derived from the geometry around the listener — one shared room, recomputed as the listener moves through the level. Reflection Mode has a PerSource value reserved for future work; it currently falls back to Listener.
Two behaviours are worth understanding because they are deliberate design choices, not side effects:
Reverb eases between rooms. Crossing a geometry boundary blends the reverb toward the new room over the Reflection Smooth Time rather than snapping. Set it to 0 if you want an instant change.
Reverb does not fade with distance. Each voice taps its raw source into a wet-only reverb, so the room stays constant across its whole volume while only the dry signal falls off with distance. This is what makes a large room sound like the same room from either end of it. The reverb send does taper at the far edge of a sound’s range — flat until three quarters of max distance, then eased to zero — so an event’s distance settings still bound how far it feeds the room.
Do not stack manual reverb on top of this
The Reverb mix effect and influence-driven reverb fake a room. Geometric reflections derive a real one. They occupy the same layer of the signal chain, and using both puts two rooms on one sound.How It Stays Safe
Worth knowing if you are budgeting for this system.
Reflections use a parametric reverb model — a handful of decay-time floats — rather than convolution. No impulse response ever crosses to the audio thread, and there is no ambisonic decode in the path.
The reflection simulation runs on a worker thread at up to 15 Hz, committing its results under a mutex. Occlusion and direct-path values are lock-free single-writer floats. Everything else stays on the main thread.
The practical consequence: enabling geometric acoustics adds a bounded, predictable cost rather than a per-sound one that scales alarmingly.
What This Does Not Do
State these to yourself before evaluating the result — each is a deliberate v1 boundary, not a defect.
- Reverb cannot tell your room from the one next door. It is listener-centric, so a source sealed in an adjacent room still contributes to the same shared reverb. Distinguishing them is what per-source reflections would do, and that is not built.
- An occluded source still feeds the room. Occlusion ducks the direct signal only. Within max distance, a muffled source still excites the reverb.
- Geometry is what you author. Render meshes and PhysX colliders are not consulted — v1 is authored volumes and O3DE Shapes.
- No offline baking. There are no precomputed reverb probes.
- Reverb is the tail, not early reflections. The parametric model gives you the decay, not discrete early reflections.
- CPU only. There is no GPU acceleration path.
See Also
For related systems:
- Spatialization — the base direction and distance layer this builds on
- Mixing & Effects — influence-driven reverb, the manual alternative
- Audio Pro — the rest of the premium tier
- Audio Signal Model — why environment and reverb are one layer
For conceptual overviews and usage guides:
Get GS_Audio
GS_Audio — Explore this gem on the product page and add it to your project.