参考组件
UCFPropContactComponent
让拥有者的刚体在其模拟所在的那一端破坏其穿过的可破坏单元。每帧它都会对单元的对象类型(CFBreakable::GetUnitObjectType)执行一次盒体重叠检测,在本地破坏该单元,不发生物理接触(单元忽略该刚体),施加已配置的速度变化,然后将破坏上报给服务器,由服务器校验并复制。该刚体即拥有者的根基元。拥有者,或在 UCFHostRegistry 中为其注册的宿主(车辆适配器会自行注册),可以实现 ICFBreakerHost,以指定另一个刚体、说明该刚体在哪一端模拟、让上报经由另一个 Actor 的组件发出,并让该刚体产生凹陷。若无宿主,则由权威端模拟该刚体,上报经由本组件发出,且该刚体永远不会产生凹陷。此外,它每个 tick 都会在每一端激活刚体周围的可破坏树木,因此对于由其他端模拟的车辆,树木永远不会成为运动学墙体。
函数
从服务器所见的车身位置来看,客户端的破坏报告是否可信。长度单位为厘米,BodySpeedCmS 单位为厘米每秒。
客户端所报告的撞击,经处理后可安全地发布给所有客户端:位置被限制在该单元自身的包围盒上,速度则上限为车身可声明的最大值。
由谁代为响应拥有者的 ICFBreakerHost;为 null 时取注册表中该拥有者的宿主,否则取拥有者本身。须在 BeginPlay 之前调用,之后的调用会被拒绝。宿主在组件首次被询问时绑定,而该询问可能早于 BeginPlay。
显式指定的宿主;否则为 UCFHostRegistry::FindHost(Owner, UCFBreakerHost);再否则为 null。
本机是否负责移动拥有者的车身:由 ICFBreakerHost::IsBreakerSimulatedHere 决定,否则取决于权威端。
以 ReportingActor 名义提交的报告是否应由本组件接收:即拥有者本身,或宿主将其报告经由本组件转发的 Actor。
通过本组件中由连接拥有的 Actor,将本机模拟的破坏发送至服务器。
属性
- 默认值
- 50.f
- 分类
- Contact
- 默认值
- 5.f
- 分类
- Contact|Trees