Перейти к содержимому
CRUSHFORMV1.1.0
ПОЛУЧИТЬ НА FAB

СПРАВОЧНИККОМПОНЕНТЫ

UCFEngineAudioComponent

МОДУЛЬCrushformEngineЗАГОЛОВОКCFEngineAudioComponent.hРОДИТЕЛЬUSceneComponent

Blueprint: Crushform Engine Audio

Звук двигателя: петли UCFEngineSoundProfile, плавно сводимые и меняющие высоту тона в зависимости от оборотов двигателя, громче под нагрузкой, со стартером при прокрутке двигателя, нарастанием при запуске, затуханием и звуком глушения при остановке. Двигатель берётся из ICFEngineHost владельца (явно заданный host-объект, иначе UCFHostRegistry::FindHost) и читается раз в кадр. Каждый звук проигрывается из собственного UAudioComponent под этим компонентом, поэтому компонент находится там же, где двигатель. Переходы следуют за состоянием host-объекта каждый кадр, а не по событию, поэтому двигатель, который запустился или заглох вне слышимости, слышен таким, каким он стал, когда слушатель вернулся. Только презентация: на выделенном сервере компонент бездействует.

Функции

AUTHORITY · сервер, на каждом инстансеLOCAL · этот инстансPURE · только чтение
bool IsActiveForNetMode(ENetMode NetMode)
C++ ONLY

False только для выделенного сервера, у которого нет слушателя, способного услышать двигатель.

void SetCrushformHost(UObject* NewHost)
C++ ONLY

Задаёт, кто отвечает на ICFEngineHost для владельца; null означает host-объект реестра для владельца. Вызывайте до BeginPlay: последующий вызов или объект, не реализующий ICFEngineHost, отклоняется с записью в лог.

UObject* GetCrushformHost() const
PUREC++ ONLY

Явно заданный host-объект, иначе UCFHostRegistry::FindHost(Owner, UCFEngineHost).

void SetCabinMuffling(bool bInMuffled, float InVolumeScale, float InLowPassFrequency)

Глушит двигатель для слушателя в кабине (UCFVehicleAdapterComponent::SetCabinMuffled вызывает это, когда слушатель входит в кабину или выходит из неё). InVolumeScale ограничивается диапазоном 0..1 и умножает громкость, пока звук приглушён; InLowPassFrequency — частота среза в Гц. Громкость меняется на следующем тике; фильтр низких частот применяется сразу.

Категория
Crushform|Engine Sound
bool IsCabinMuffled() const
PURE

Приглушён ли двигатель для слушателя в кабине.

Категория
Crushform|Engine Sound
float GetCabinVolumeScale() const
PUREC++ ONLY

Масштаб громкости и частота фильтра низких частот, которые в последний раз задал SetCabinMuffling.

float GetCabinLowPassFrequency() const
PUREC++ ONLY

Частота среза фильтра низких частот в Гц, которую в последний раз задал SetCabinMuffling.

const UCFEngineSoundProfile* GetActiveProfile() const
PUREC++ ONLY

Используемый профиль: Profile, иначе UCFEngineSettings::DefaultProfile. null до BeginPlay и пока звук выключен.

int32 GetNumLayers() const
PUREC++ ONLY

Петли в порядке воспроизведения: слои профиля, у которых есть звук, отсортированные по RPM.

float GetLayerRPM(int32 LayerIndex) const
PUREC++ ONLY

Записанные обороты двигателя петли в порядке воспроизведения, RPM; 0 для индекса вне диапазона.

UAudioComponent* GetLayerAudio(int32 LayerIndex) const
PUREC++ ONLY

Аудиокомпонент, который проигрывает одну петлю; nullptr, пока эта петля не услышана впервые, либо для индекса вне диапазона.

UAudioComponent* GetStarterAudio() const
PUREC++ ONLY

Аудиокомпоненты стартера и выключения; nullptr до первого воспроизведения.

bool IsStarterPlaying() const
PUREC++ ONLY

Должен ли проигрываться звук стартера: двигатель прокручивается, и в профиле он есть.

int32 GetShutdownPlayCount() const
PUREC++ ONLY

Сколько раз был запущен звук выключения.

float GetHeardRPM() const
PUREC++ ONLY

Слышимые обороты двигателя, RPM.

float GetHeardLoad() const
PUREC++ ONLY

Слышимая нагрузка, 0..1.

float GetRunLevel() const
PUREC++ ONLY

Насколько поднялись петли: 0 — тишина, 1 — звучат.

void SetAudibilityOverrideForTest(TOptional<bool> InOverride)
C++ ONLY

Только для тестов. Незаданное переопределение возвращает настоящую проверку; заданное отвечает на вопрос, находится ли слушатель в радиусе.

Свойства

TObjectPtr<UCFEngineSoundProfile> Profile

Звук двигателя; если пусто: Project Settings > Plugins > Crushform Engine > Default Profile. Читается в BeginPlay.

Категория
Crushform|Engine Sound