参考子系统与库
UCFRenderSubsystem
模块Crushform头文件CFRenderSubsystem.h父类UEngineSubsystem
为凹陷或有污垢的形变器分配图集槽位,并在每帧将其晶格和污垢复制到图集中:晶格图集、污垢图集,以及对于保留污垢新鲜度的车身,还有新鲜度图集。每个进程只有一个,因为图集是单个资产,而 PIE 会在一个进程中运行多个世界。不在专用服务器上创建。
函数
AUTHORITY · 服务器,每个端LOCAL · 本机PURE · 只读
UCFRenderSubsystem* Get()
C++ ONLY
该子系统;若不存在则为 null,例如在专用服务器上。
void MarkDirty(UCFDeformComponent* Deformer, bool bLatticeChanged = true, bool bDirtChanged = false)
C++ ONLY
变形器的晶格或污垢发生了变化,并且它有凹陷或有污垢:如果它没有槽位且剔除上限允许绘制,就给它分配一个槽位,并上传本帧发生变化的内容。新分配的槽位会同时上传两者。
void Release(UCFDeformComponent* Deformer)
C++ ONLY
形变器既无凹陷又无污垢,或即将离开:释放其槽位,并以未形变的方式绘制其网格体。
bool HasSlot(const UCFDeformComponent* Deformer) const
PUREC++ ONLY
形变器是否占有图集槽位。
bool IsDirtDrawn()
C++ ONLY
是否能够绘制污垢:需要具有正确格式(RGBA8)与尺寸的污垢图集。这不是纯粹的查询:首次调用会解析晶格图集与污垢图集,并可能同步加载两者。
bool IsScratchDrawn()
C++ ONLY
划痕图集是否可用:只有可用时才显示划痕线。这不是纯粹的查询:首次调用会解析晶格图集与划痕图集,并可能同步加载两者。
int32 GetNumSlots() const
PUREC++ ONLY
图集中的槽位数量。
int32 GetNumFreeSlots() const
PUREC++ ONLY
未被占用的槽位数量。
int32 GetNumWaiting() const
PUREC++ ONLY
没有槽位的受损变形器数量,它们在等待槽位,或被剔除阶段隐藏;在此期间它们以未变形的外观绘制。
const FCFRenderStats& GetStats() const
PUREC++ ONLY
Crushform.Stats 所输出的计数器。