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

参考子系统与库

UCFTireSubsystem

模块CrushformTire头文件CFTireSubsystem.h父类UTickableWorldSubsystem

本机所绘制内容的轮胎形变预算。每隔 Crushform.Tire.UpdateInterval,它会为本地玩家自己的车辆组合(车辆及所有与之耦合的部件,不受任何上限限制)中的每个车轮授予形变,并依据 UCFTireSettings::Scope 允许的范围,再为 Crushform.Tire.Radius 内最近的其他车轮授予形变,屏幕内的优先,直至达到 Crushform.Tire.MaxWheels。每帧,它会在已离开预算的车轮的凹陷消退之后,销毁这些车轮的形变器。

不在专用服务器进程中创建,因为它不绘制任何内容。PIE 会话的专用服务器世界确实会获得一个,但它在那里保持被动:UCFTireComponent 从不在专用服务器网络模式下注册。

函数

AUTHORITY · 服务器,每个端LOCAL · 本机PURE · 只读
UCFTireSubsystem* Get(const UObject* WorldContext)
C++ ONLY

对象所在世界的轮胎子系统;没有世界或世界中没有该子系统时为 null(例如专用服务器进程)。

bool IsActiveForNetMode(ENetMode NetMode)
C++ ONLY

专用服务器上为 false。该函数为静态函数,因此组件可以在该世界开始游戏之前进行查询。

AActor* ResolveViewerHost(APawn* ViewPawn)
C++ ONLY

观察者驱动其车辆组合的宿主:若 Pawn 本身是宿主则为其自身,否则为 ICFTireViewer 返回的对象,两者都没有则为 null。

void GatherRig(AActor& Host, TArray<AActor*>& OutRig)
C++ ONLY

宿主的车辆组合(包括其自身在内),最多 8 个。

void RegisterComponent(UCFTireComponent* Component)
C++ ONLY

追加组件;不会重新排序列表,因此可以安全地在一轮遍历中途从宿主回调中调用。

void UnregisterComponent(UCFTireComponent* Component)
C++ ONLY

清空组件的条目但不将其移除:遍历按索引访问列表,而宿主回调可能会在其中触发 EndPlay。

int32 GetNumRegisteredComponents() const
PUREC++ ONLY

已注册的组件数量。

void StepForTests(float DeltaTime, const FVector& ViewLocation, APawn* ViewPawn)
C++ ONLY

测试接口:从显式视图执行一次 Tick,因为自动化测试世界没有本地玩家控制器。