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

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

UCFVehicleAdapterComponent

МОДУЛЬCrushformVehicleЗАГОЛОВОКCFVehicleAdapterComponent.hРОДИТЕЛЬUActorComponent

Blueprint: Crushform Vehicle Adapter

Подключает Crushform к автомобилю без кода. Добавленный к любому эктору, он создаёт вмятины и грязь, стёкла, шины, звук качения и FX, звук двигателя, разрушение пропов и отклик на удары, а также отвечает на их вопросы об автомобиле: какой инстанс его симулирует, где его колёса касаются земли, какие меши являются колёсами и как работает его двигатель (события двигателя ниже, которые переопределяет подкласс или Blueprint). Каждый инстанс создаёт одинаковые компоненты под одинаковыми именами, поэтому реплицируемые компоненты представляют друг друга. Этот универсальный адаптер трассирует колёса, выбранные в Wheels; адаптер для системы автомобиля (UCFChaosVehicleAdapterComponent) вместо этого читает колёса этой системы. Шина, которая упирается в препятствие, выталкивает своё колесо от него через адаптер, который удерживает выталкивание на меше колеса, пока шина не запросит снова; Blueprint, который переопределяет SetCrushformTireWheelOffsets, расставляет колёса сам и отключает это выталкивание. Колесо, чей родитель поворачивается относительно автомобиля, например поворотный кулак, получает неверное выталкивание, пока поворачивается.

Функции

AUTHORITY · сервер, на каждом инстансеLOCAL · этот инстансPURE · только чтение
ECFEngineRunState GetEngineRunState() const
PURE

Состояние двигателя: выключен, прокручивается или работает. Этот адаптер: выключен; ответ дают адаптер системы автомобиля или подкласс Blueprint.

Категория
Crushform|Engine
float GetEngineRPM() const
PURE

Обороты двигателя, об/мин. Этот адаптер: 0.

Категория
Crushform|Engine
float GetEngineIdleRPM() const
PURE

Обороты холостого хода, об/мин: работающий двигатель никогда не звучит ниже этого значения. Этот адаптер: 0.

Категория
Crushform|Engine
float GetEngineMaxRPM() const
PURE

Максимальные обороты двигателя, об/мин; 0 — без ограничения. Этот адаптер: 0.

Категория
Crushform|Engine
float GetEngineLoad() const
PURE

Газ, 0..1. Этот адаптер: 0.

Категория
Crushform|Engine
void BuildWheelContacts(TArray<FCFWheelContact>& OutContacts)

Колёса кадра, один раз за кадр в тике. Этот адаптер трассирует свой список колёс; адаптер для системы автомобиля переопределяет эту функцию в C++ или в подклассе Blueprint, как и три функции ниже.

Категория
Crushform|Vehicle
void CollectWheelMeshes(TArray<UMeshComponent*>& OutMeshes) const
PURE

Меши колёс: шины, грязь на колёсах и меши, которые кузов не деформирует. Этот адаптер: меши его списка колёс.

Категория
Crushform|Vehicle
void BuildTireWheels(TArray<FCFTireWheelDesc>& OutWheels) const
PURE

Колёса шин, каждое с мешем, физическим радиусом, HostIndex, текущим смещением и bAcceptsPush. Этот адаптер: его список колёс; он принимает выталкивание, если только Blueprint-подкласс не скриптует SetCrushformTireWheelOffsets (AcceptsTirePush).

Категория
Crushform|Vehicle
void BuildLoadRatios(TArray<float>& OutRatios) const
PURE

Сила контакта, делённая на номинальную нагрузку, по HostIndex; этот адаптер не имеет модели силы и ничего не возвращает.

Категория
Crushform|Vehicle
void SetWheels(const TArray<FCFAdapterWheelState>& InWheels)

Заменяет колёса, выбранные в Wheels, для колёс, созданных во время выполнения. Можно вызывать до BeginPlay.

Категория
Crushform
void SetBraking(float Amount)

Насколько сильно автомобиль тормозит, 0..1, на каждом колесе: при торможении rolling FX выбрасывают больше частиц.

Категория
Crushform
void SetCabinMuffled(bool bMuffled)

Приглушает звук качения и звук двигателя, пока слушатель сидит в салоне этого автомобиля: значения салона адаптера, если bOverrideCabinMuffling, иначе значения из настроек Crushform Wheels для колёс и из настроек Crushform Engine для двигателя.

Категория
Crushform
UCFDeformComponent* GetDeform() const
PURE

Компонент деформации, который вминает кузов; null без Dirt And Dents.

Категория
Crushform
UCFGlassUnitsComponent* GetGlass() const
PURE

Компонент, который хранит стеклянные панели автомобиля; null, если не включены одновременно Glass и Dirt And Dents.

Категория
Crushform
UCFTireComponent* GetTires() const
PURE

Компонент шин; null без Tires.

Категория
Crushform
UCFPropContactComponent* GetPropContact() const
PURE

Компонент, который ломает объекты, в которые въезжает автомобиль; null без Breaks Props.

Категория
Crushform
UCFNetImpactFeedbackComponent* GetImpactFeedback() const
PURE

Компонент отклика на удары кузова; null без Impact Feedback.

Категория
Crushform
UCFPartImpactFeedbackComponent* GetPartImpactFeedback() const
PURE

Компонент отклика на удары навесных деталей; null, если не включены одновременно Impact Feedback и Dirt And Dents.

Категория
Crushform
UCFRollingAudioComponent* GetRollingAudio() const
PURE

Компонент звука качения; null без Rolling Sound.

Категория
Crushform
UCFRollingFXComponent* GetRollingFX() const
PURE

Компонент эффектов качения; null без Rolling FX.

Категория
Crushform
UCFEngineAudioComponent* GetEngineAudio() const
PURE

Компонент звука двигателя; null без Engine Sound.

Категория
Crushform
FCFDamageZones GetDamageZones() const
PURE

Get Damage Zones компонента деформации: насколько вмято каждую сторону кузова, как это подтвердил сервер. Все значения нулевые без Dirt And Dents.

Категория
Crushform|Damage
FCFDamageValues GetDamageInBox(const FBox& Box) const
PURE

Get Damage In Box компонента деформации: повреждение в боксе в корневом пространстве владельца. Все значения нулевые без Dirt And Dents.

Категория
Crushform|Damage
int32 GetWheelGatherCount() const
PUREC++ ONLY

Сколько раз были построены колёса кадра (BuildWheelContacts); тесты считают это значение.

Свойства

ECFAuthorityModel Authority = ECFAuthorityModel::Server

Какой инстанс симулирует автомобиль и оценивает его удары.

По умолчанию
ECFAuthorityModel::Server
Категория
Crushform
TObjectPtr<UCFProfile> DeformProfile

Вмятины и грязь кузова; пусто: значение проекта по умолчанию (Project Settings -> Plugins -> Crushform).

Категория
Crushform
TObjectPtr<UCFTireProfile> TireProfile

Шины; пусто: значение проекта по умолчанию (Project Settings -> Plugins -> Crushform Tire).

Категория
Crushform
bool bDirtAndDents = true

Кузов получает вмятины и загрязняется (UCFDeformComponent); стеклянным панелям и грязи на колёсах нужен именно этот компонент.

По умолчанию
true
Категория
Crushform|Features
bool bGlass = true

Стеклянные панели (UCFGlassComponent) на автомобиле трескаются и разрушаются; нужен Dirt And Dents, который находит панели.

По умолчанию
true
Категория
Crushform|Features
bool bTires = true

Шины деформируются на мешах колёс (UCFTireComponent).

По умолчанию
true
Категория
Crushform|Features
bool bRollingSound = true

Каждое колесо воспроизводит звук качения своей поверхности (UCFRollingAudioComponent); только презентация, на выделенном сервере без звука.

По умолчанию
true
Категория
Crushform|Features
bool bRollingFX = true

Каждое колесо показывает эффект качения своей поверхности (UCFRollingFXComponent); только презентация, на выделенном сервере не показывается.

По умолчанию
true
Категория
Crushform|Features
bool bEngineSound = true

Двигатель воспроизводит свой звук (UCFEngineAudioComponent) по событиям двигателя ниже; только презентация, на выделенном сервере без звука.

По умолчанию
true
Категория
Crushform|Features
bool bImpactFeedback = true

Удары воспроизводят звуки и эффекты ударов на каждом инстансе (UCFNetImpactFeedbackComponent); вместе с Dirt And Dents звучат также удары навесных деталей и их удары о конец хода, на каждом инстансе от собственной физики (UCFPartImpactFeedbackComponent).

По умолчанию
true
Категория
Crushform|Features
bool bBreaksProps = true

Автомобиль ломает разрушаемые объекты, в которые въезжает (UCFPropContactComponent).

По умолчанию
true
Категория
Crushform|Features
TArray<FCFAdapterWheel> Wheels

Колёса, которые трассирует этот универсальный адаптер; адаптер для системы автомобиля читает колёса этой системы и игнорирует это значение.

Категория
Crushform|Wheels
TEnumAsByte<ECollisionChannel> GroundChannel = ECC_Visibility

Канал, по которому колёса трассируют землю.

По умолчанию
ECC_Visibility
Категория
Crushform|Wheels
float GroundProbeMargin = 2.f

Шина, находящаяся на таком расстоянии над землёй, всё ещё касается её, см: трассировка начинается от ступицы, а не от протектора.

По умолчанию
2.f
Категория
Crushform|Wheels
FGameplayTag ImpactEventTag

Что отклик на удары воспроизводит при аварии: по умолчанию Crushform.Impact.Vehicle.Crash из плагина; пусто: без звука удара.

Категория
Crushform|Impact
float ImpactImpulsePerKgForFullIntensity = 600.f

Изменение скорости удара, которое воспроизводится на полную силу, см/с; читается, когда адаптер создаёт отклик на удары. Значение по умолчанию то же, что у UCFImpactFeedbackComponent.

По умолчанию
600.f
Категория
Crushform|Impact
float ImpactMinImpulsePerKg = 50.f

Изменение скорости, ниже которого удар не воспроизводится вовсе, см/с; читается, когда адаптер создаёт отклик на удары. Значение по умолчанию то же, что у UCFImpactFeedbackComponent.

По умолчанию
50.f
Категория
Crushform|Impact
float PropContactMinSpeedCmS = 50.f

Ниже этой скорости автомобиль не ломает объекты, см/с; читается, когда адаптер обрабатывает контакт с объектами. Значение по умолчанию то же, что у UCFPropContactComponent.

По умолчанию
50.f
Категория
Crushform|Props
bool bOverrideRollingSoundTuning = false

Звук качения этого автомобиля использует Rolling Sound Tuning вместо Tuning из настроек Crushform Wheels; читается, когда адаптер создаёт звук качения.

По умолчанию
false
Категория
Crushform|Rolling Sound
FCFRollingAudioTuning RollingSoundTuning
Категория
Crushform|Rolling Sound
bool bOverrideCabinMuffling = false

Set Cabin Muffled использует Cabin Volume Scale и Cabin Low Pass Frequency этого автомобиля вместо настроек Crushform Wheels и Crushform Engine. Он приглушает звук качения и звук двигателя одинаково.

По умолчанию
false
Категория
Crushform|Cabin
float CabinVolumeScale = 0.8f
По умолчанию
0.8f
Категория
Crushform|Cabin
float CabinLowPassFrequency = 3000.f
По умолчанию
3000.f
Категория
Crushform|Cabin
bool bOverrideRollingFXTuning = false

Эффекты качения этого автомобиля используют Rolling FX Tuning вместо FX Tuning из настроек Crushform Wheels; читается, когда адаптер создаёт эффекты качения.

По умолчанию
false
Категория
Crushform|Rolling FX
FCFRollingFXTuning RollingFXTuning
Категория
Crushform|Rolling FX
TObjectPtr<UCFEngineSoundProfile> EngineSoundProfile

Звук двигателя; пусто: значение проекта по умолчанию (Project Settings -> Plugins -> Crushform Engine). Читается, когда адаптер создаёт звук двигателя.

Категория
Crushform|Engine Sound
FVector EngineSoundOffset = FVector::ZeroVector

Место, где звучит двигатель, относительно корня владельца; читается, когда адаптер создаёт звук двигателя.

По умолчанию
FVector::ZeroVector
Категория
Crushform|Engine Sound
float RamAllowanceMps = 15.f

При модели, в которой авторити — Owning Client: на сколько скорость удара, о котором сообщил клиент, может превышать недавнюю пиковую скорость автомобиля, прежде чем сервер отклонит удар, м/с.

По умолчанию
15.f
Категория
Crushform

События

FCFOnDamageChangedDynamicDelegate OnDamageChanged
(const FCFDamageZones& Zones)

On Damage Changed компонента деформации, передаётся дальше: адаптер сам создаёт этот компонент при регистрации, поэтому Blueprint привязывает событие здесь. Никогда не срабатывает без Dirt And Dents.

Категория
Crushform|Damage