参考ACTOR
ACFBreakableFence
模块CrushformBreakable头文件CFBreakableFence.h父类AActor
沿样条线铺设的一排可破坏立柱与跨段。该布局随关卡一同保存,因此各端上的单元索引都一致;单元会因撞击以及刚体的碰撞而断裂,并在其定义的重生延迟之后恢复。
函数
AUTHORITY · 服务器,每个端LOCAL · 本机PURE · 只读
void RebuildLayout()
C++ ONLY
依据样条线重新计算 Units。在编辑器中编辑围栏时、围栏尚无布局时,以及在独立游戏中生成的围栏,都会运行此重新计算。加载、Cook 与联网游戏从不重新布局:构建会附带保存的布局,且单元索引必须在每一端上一致。
USplineComponent* GetSpline() const
PUREC++ ONLY
围栏所沿的样条线。
UCFBreakableInstancesComponent* GetBreakableInstances() const
PUREC++ ONLY
负责断开、复制并重生围栏单元的组件。
UInstancedStaticMeshComponent* GetPostInstances() const
PUREC++ ONLY
用于显示立柱的实例。
UInstancedStaticMeshComponent* GetSpanInstances() const
PUREC++ ONLY
用于显示跨段的实例。
const TArray<FCFBreakableUnit>& GetUnits() const
PUREC++ ONLY
保存的布局:所有立柱与跨段,按其单元索引的顺序排列。
属性
TObjectPtr<UCFBreakablePropDefinition> PostDefinition
- 分类
- Fence
TObjectPtr<UCFBreakablePropDefinition> SpanDefinition
两根立柱之间的跨段。布置围栏时必需;其平铺长度决定跨段长度以及默认的立柱间距。
- 分类
- Fence
float PostSpacingCm = 0.f
- 默认值
- 0.f
- 分类
- Fence
bool bSnapToGround = true
向下对世界的静态几何体进行射线检测,并将每根立柱放置在命中点上;关闭时,立柱保持在样条线上。
- 默认值
- true
- 分类
- Fence
float GroundTraceHalfHeightCm = 500.f
地面射线检测长度的一半,单位为 cm:它从每根立柱的样条线点上下各延伸此距离。
- 默认值
- 500.f
- 分类
- Fence
float PostSinkCm = 5.f
- 默认值
- 5.f
- 分类
- Fence
TObjectPtr<USplineComponent> Spline
- 分类
- Components
TObjectPtr<UCFBreakableInstancesComponent> BreakableInstances
- 分类
- Components
TObjectPtr<UInstancedStaticMeshComponent> PostInstances
- 分类
- Components
TObjectPtr<UInstancedStaticMeshComponent> SpanInstances
- 分类
- Components