跳转到内容
CRUSHFORMV1.1.0
在 Fab 上获取

参考组件

UCFPartImpactFeedbackComponent

模块CrushformImpact头文件CFPartImpactFeedbackComponent.h父类UCFImpactFeedbackComponent

播放所属部件的撞击(UCFHingeComponent)。仅限本机:部件摆动或脱落后,各端依据自身物理独立运动,只有脱落事件会被复制,因此每台端只播放它所看到的,不转发任何内容。部件的撞击会经过车身的判定(UCFImpactFeedbackComponent,其阈值按部件自身的速度变化来比较),并播放 EventTag。摆动的部件撞向行程末端(UCFHingeComponent::OnStopHit)时,闭合端播放 SlamEventTag,开放端播放 OpenSlamEventTag。铰链在开始游戏时由所属者查找,与 UCFDeformComponent 的查找方式相同:之后添加的铰链保持静音。专用服务器上空闲,因为那里不运行铰链物理。车辆适配器会在 Impact Feedback 与 Dirt And Dents 同时开启时,将其创建为 CF_PartImpactFeedback。

函数

AUTHORITY · 服务器,每个端LOCAL · 本机PURE · 只读
float ComputeSlamIntensity(float SpeedCmS, float MinSpeedCmS, float SpeedForFullIntensityCmS)
C++ ONLY

猛烈撞击的强度,0..1,取决于部件质心处的撞击速度,单位 cm/s;低于 MinSpeedCmS 时为负值。

int32 GetNumWatchedHinges() const
PUREC++ ONLY

该组件负责播放其部件的铰链数量;在 Begin Play 之前以及专用服务器上为 0。

属性

FGameplayTag SlamEventTag
分类
Impact
FGameplayTag OpenSlamEventTag
分类
Impact
float SlamSpeedForFullIntensity = 500.f
默认值
500.f
分类
Impact
float MinSlamSpeed = 40.f
默认值
40.f
分类
Impact

函数

  • ComputeIntensity命中的强度,0..1,取决于被命中刚体每千克所受的冲量(即其速度变化,单位 cm/s);低于 MinImpulsePerKg 时为负值。
  • MakeSourceId撞击事件为 Primitive 携带的 ID,因此无论事件经由哪一端或哪条路径到达,其冷却时间都能生效。
  • SetObservedPrimitive设置要上报命中的基元。
  • GetObservedPrimitive要上报命中的基元;在调用 SetObservedPrimitive 之前为 null。