Audio: Signals – Arma Reforger

From Bohemia Interactive Community
Revision as of 18:32, 21 May 2025 by Lou Montana (talk | contribs) (Page creation - WIP)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Signals are a way of interfacing between the GameWorld and Audio (and other areas). At the core, a signal simply is a value defining the attribute of something, e.g the current RPM of a vehicle or the time of day.

Signals can be stored on Entities by using the SignalsManagerComponent. These stored Signals will be automatically made available to the Entity's SoundComponent so they can be used when generating sounds through their referenced .acp files.

Additionally, there is a number of Global Signals, which are stored on the Gameworld's GameSignalsManager (if one exists), as well as global Audio Variables. The "advanced" SoundComponents (SoundComponent + its children) will automatically access these Global Signals as well.

🏗
This article is a work in progress!


List

These lists are non-exhaustive.

GameCode

AimingComponent

Name Value/Range Description
AimElevation
AimTurn
AimElevationTime
AimTurnTime

AmbientSoundsComponent

Name Value/Range Description
AboveTerrain Height (m) above the terrain.
SunAngle
RiverL
RiverR
RiverRB
RiverLB
RiverSlope
LakeL
LakeR
LakeRB
LakeLB

AnimalSoundComponent

Name Value/Range Description
Surface Surface under the entity

BaseStaminaComponent

Name Value/Range Description
Exhaustion

CharacterAimingComponent

Name Value/Range Description
WeaponElevation
WeaponTurn

CharacterSoundComponent

Name Value/Range Description
MovementSpeed
  • 0 (idle)
  • 1 (walking)
  • 2 (running)
  • 3 (sprinting)
Movement type
Surface Surface under the character.
Updated only when bone containing "foot" string is defined in animation event. Not updated when character is swimming.
Stance
  • 0 (Stand)
  • 1 (Crouch)
  • 2 (Prone)
Speed 0..5.5 Value taken from physics for playerCharacter. For remote proxy, speed is calculated as (posLast- pos).Length() / time. Speed is updated every 100 ms for improved accuracy and less oscillation.Speed is then clamped to a maximum of 5.5
WaterDepth 0..inf Distance between ocean surface and terrain surface
WeaponStance
  • 0 (Lowered)
  • 1 (Raised)
  • 2 (ADS)
Indicates the current stance that the character is holding the weapon.
RHItemSoundInfo Determines what item is in the right hand of the character.
BackItemSoundInfo Determines what item is on the character's back.
If there are two weapons on the back, the signal will return the weapon with higher SoundInt.
BackPackSoundInfo
JacketSoundInfo
VestSoundInfo
BootsSoundInfo Determines what item is on player feet.
UnderPlayerControl bool (0 or 1) True if the character is handled by the client player. False if handled by a remote other player or AI - sort of "IsLocalPlayer".
SightSoundInt Returns value set on SightsComponent.
IsInPlayerVehicle bool (0 or 1)
Leaning float -1..+1
BushContact
BushHeight

CharacterStaminaComponent

Name Value/Range Description
BreathProgress
BreathMagnitude
BreathFrequency

CommunicationSoundComponent

Name Value/Range Description
IsAI bool (0 or 1) Determines if the character is controlled by a player or by AI.

Global

Name Value/Range Description

HitSoundEffect

Name Value/Range Description
Surface Surface that the bullet hit
ImpactSpeed 0..inf bullet velocity on impact in m/s
ImpactType
  • 0 (None)
  • 1 (Deflection)
  • 2 (Penetration)
  • 3 (LastImpact)
  • 4 (OutOfBounds)
Bullet impact type

SoundComponent

Name Value/Range Description

VehicleSoundComponent

Name Value/Range Description

VoNComponent

Name Value/Range Description

WeaponSoundComponent

Name Value/Range Description

Script

🚧
TODO: WIP