Open 3D Engine LmbrCentral Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
LmbrCentral::AudioMultiPositionComponent Class Reference

#include <AudioMultiPositionComponent.h>

Inherits AZ::Component, AudioMultiPositionComponentRequestBus::Handler, and AZ::EntityBus::MultiHandler.

Public Member Functions

 AZ_COMPONENT (AudioMultiPositionComponent, "{CF3B3C77-746C-4EB0-83C6-FE4AAA4203B0}")
 AZ::Component interface.
 
void Activate () override
 
void Deactivate () override
 
 AudioMultiPositionComponent (const AZStd::vector< AZ::EntityId > &entities, Audio::MultiPositionBehaviorType type)
 
void AddEntity (const AZ::EntityId &entityId) override
 AudioMultiPositionComponentRequestBus interface.
 
void RemoveEntity (const AZ::EntityId &entityId) override
 
void SetBehaviorType (Audio::MultiPositionBehaviorType type) override
 
void OnEntityActivated (const AZ::EntityId &entityId) override
 AZ::EntityBus interface.
 
void OnEntityDeactivated (const AZ::EntityId &entityId) override
 

Static Public Member Functions

static void GetDependentServices (AZ::ComponentDescriptor::DependencyArrayType &dependent)
 
static void GetProvidedServices (AZ::ComponentDescriptor::DependencyArrayType &provided)
 
static void GetRequiredServices (AZ::ComponentDescriptor::DependencyArrayType &required)
 
static void GetIncompatibleServices (AZ::ComponentDescriptor::DependencyArrayType &incompatible)
 
static void Reflect (AZ::ReflectContext *context)
 

Protected Member Functions

void SendMultiplePositions ()
 Send the positions to the audio system.
 

Detailed Description

Audio Multi-Position Component Used to simulate "area" sounds and consume less resources. Example: A river sound can be created by placing a bunch of entities along the river and adding them to this component. The positions of those entities will be sent to audio system and treated as one sound. Example: A hallway lined with torches. The torches are individual sources, but they can all use the same resources via this component.

Note: This component doesn't yet support full orientation of the entities, only position. Note: This component doesn't yet support tracking movement of the entities.


The documentation for this class was generated from the following file: