HammeriteAudioPreset
Audio. Inherits Resource
One reverb character a room can have.
Rooms are given a preset rather than a decay computed from their walls: sixteen of them cover common architectural acoustics, and a bake picks one from what a room is built of and how big it is (HammeriteAudioMaterialSampler) unless an author named one on the brush. Only the reverb fields reach the AudioEffectReverb on the Hammerite Audio bus. A game with rooms of its own kind adds to the table the bake reads (HammeriteAudioRuntime.presets) rather than editing these.
Properties
Methods
| Returns | Method |
|---|---|
HammeriteAudioPreset[] | create_default_presets() static |
Enumerations
enum Kind
| Value | Name | Description |
|---|---|---|
0 | STONE_HALL_LARGE | A large stone hall. |
1 | STONE_HALL_MEDIUM | A medium stone hall. |
2 | STONE_CORRIDOR | A stone corridor. |
3 | STONE_CHAMBER_SMALL | A small stone chamber. |
4 | WOOD_ROOM_LARGE | A large wooden room. |
5 | WOOD_ROOM_SMALL | A small wooden room. |
6 | WOOD_CORRIDOR | A wooden corridor. |
7 | METAL_ROOM | A metal room: bright, with controlled decay. |
8 | METAL_CORRIDOR | A metal corridor. |
9 | OUTDOOR | Open air: almost dry. |
10 | OUTDOOR_COURTYARD | A courtyard, enclosed on its sides and open above. |
11 | CAVE_LARGE | A large cave. |
12 | CAVE_SMALL | A small cave. |
13 | CLOTH_ROOM | A room deadened by tapestries and carpet. |
14 | TILE_ROOM | A tiled room: bright but short. |
15 | UNDERWATER | Under water: close, damped and dark. Always a water zone's, and a listener's under a surface. |
Property descriptions
id
var id: int = 0
What a room stores to be given this preset, and what HammeriteAudioNodeGraph.presets is indexed by. One of Kind for a preset Hammerite ships, and a number of a game's own choosing for one of its own - outside Kind's range, or it takes a shipped preset's place.
name
var name: String = ""
What this is called, as the brush inspector's dropdown lists it.
reverb_room_size
var reverb_room_size: float = 0.5
AudioEffectReverb.room_size while the listener is in a room with this preset.
reverb_damping
var reverb_damping: float = 0.5
AudioEffectReverb.damping.
reverb_spread
var reverb_spread: float = 1.0
AudioEffectReverb.spread.
reverb_wet
var reverb_wet: float = 0.3
Reverb wet mix (0.0 to 1.0)
reverb_dry
var reverb_dry: float = 1.0
Reverb dry mix (0.0 to 1.0)
absorption_low_freq
var absorption_low_freq: float = 0.3
How much of the low end the room's walls absorb rather than reflect: 0 reflective, 1 absorptive. The three are heard as a TILT and not as a level: each band is pulled towards the mean of all three, by at most HammeriteAudioMixSettings.absorption_tilt_db, so what they set is the room's colour - a metal room bright, water dull - while how much reverb comes back at all is reverb_wet's. Absorbing every band equally is heard as nothing, which is why the outdoor preset can absorb 0.95 of everything and still be bright rather than a whisper.
absorption_mid_freq
var absorption_mid_freq: float = 0.3
As absorption_low_freq, for the middle of the spectrum.
absorption_high_freq
var absorption_high_freq: float = 0.3
As absorption_low_freq, for the top of the spectrum.
reverb_predelay_msec
var reverb_predelay_msec: float = 0.0
Filled in per listener position from the rooms around them (HammeriteAudioInterpolator), not authored: how long before the first reflections is how big the room is, whatever it is built of.
Method descriptions
create_default_presets()
static func create_default_presets() -> HammeriteAudioPreset[]
The sixteen presets Hammerite ships, a new array of new resources each call, indexed by Kind. HammeriteAudioRuntime.presets is what a bake actually reads, and these are what it holds until a game says otherwise.