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

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

UCFImpactFeedbackComponent

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

Превращает удары твёрдого тела одного примитива в события отклика на удары. Локально для этого инстанса: каждый инстанс оценивает видимые ему удары и проигрывает их через подсистему отклика на удары; ничего не ретранслируется. Удар засчитывается, когда изменение его скорости достигает Min Impulse Per Kg и он начинает контакт или скачет внутри этого порога, поэтому тело, лежащее на земле, молчит. Примитив задаётся через SetObservedPrimitive.

Функции

AUTHORITY · сервер, на каждом инстансеLOCAL · этот инстансPURE · только чтение
float ComputeIntensity(float ImpulseMagnitude, float MassKg, float OtherMassKg, float MinImpulsePerKg, float ImpulsePerKgForFullIntensity)
C++ ONLY

Интенсивность удара, 0..1, по импульсу удара на килограмм массы тела, получившего удар (то есть по изменению его скорости в см/с); отрицательна, если ниже MinImpulsePerKg. Против тела, которое уступает (OtherMassKg > 0; 0 для тела, которое не уступает), изменение скорости поднимается до скорости в неподвижную стену, которая поглощает ту же энергию (UCFDeformComponent::GetEnergyScale): грузовик, в который врезался легковой автомобиль, почти не меняет скорость, но авария остаётся аварией.

uint64 MakeSourceId(const UPrimitiveComponent* Primitive)
C++ ONLY

Идентификатор, который несёт событие удара для Primitive, чтобы его кулдаун действовал, через какой бы инстанс и каким бы путём оно ни пришло.

void SetObservedPrimitive(UPrimitiveComponent* InPrimitive)
C++ ONLY

Задаёт примитив, чьи удары сообщаются. Можно вызывать в любое время; до Begin Play компонент привязывается тогда.

UPrimitiveComponent* GetObservedPrimitive() const
PUREC++ ONLY

Примитив, чьи удары сообщаются; null, пока не вызвана SetObservedPrimitive.

Свойства

FGameplayTag EventTag
Категория
Impact
float ImpulsePerKgForFullIntensity = 600.f
По умолчанию
600.f
Категория
Impact
float MinImpulsePerKg = 50.f
По умолчанию
50.f
Категория
Impact
float ContactGapSeconds = 0.1f
По умолчанию
0.1f
Категория
Impact
float ContactSpikeRatio = 2.f
По умолчанию
2.f
Категория
Impact