2026-05-10 引擎周报
✨ 新功能
- MetaHuman Crowds:为 MetaHuman 人群管道新增了对骨骼网格布料的支持。
- MorphTargetSculptTool:更新了变形目标顶点雕刻工具的笔刷 UX 默认值:Move 笔刷的 Falloff 默认设为 1.0,Smooth 笔刷的
bFavorPolyGroupEdges默认设为 true。 - Substrate Toon:新增了卡通材质的 Profile 可视化功能。
- MetaSound:为页面图选择器、面板边框和标签添加了每页独立的身份颜色。
- Media Profile Editor:新增了刷新时间码和同步锁相的按钮,并为自动协商源显示运行时流信息。
- PCG:多项功能增强,包括添加
Get Mesh Terrain Section Actor节点、在Bake Static Mesh Attributes节点标题中显示烘焙属性名、为 ALV 中的数组属性添加简单文本格式化、允许Get Actor Property/Get Actor Data在使用As Input选择器时遵循bTrackOnlyWithinBounds设置。 - Dataflow:为布料和 Dataflow 选择工具视口添加了 HUD 选择信息。
- TEDS Outliner:为通用可视性控件添加了大纲特定功能,并实现了文件夹可视性同步。
🚀 重大变更
- 新材质翻译器:进行了多项修复与增强,包括:修复
BreakMaterialAttributes输出索引不匹配问题;支持PathTracingBufferTexture和DBufferTexture表达式的多种掩码输出变体;修复ComponentMask以匹配旧版翻译器;修复EmitMultiplyLWCMatrix中的向量类型转换。 - PCG Primitives:对多个 PCG 图元(如 Compose Areas Exclusion/Intersection/Union, Capture Scene with Points)进行了最终验证,完善了图表、执行、参数、注释和提示。
- Dataflow:子图节点的复制/粘贴现在会携带其子图定义。
- PCG:强制
FPCGMetadataAttribute<T>仅为基本类型定义。
⚡ 性能优化
- DNA 资产:通过减少数据拷贝,提升了 DNA 资产加载性能和向后兼容性转换的效率。
- Managed Array Collection:优化了
CopyTo方法,通过并行化属性数据的拷贝来提升性能。
🐛 Bug 修复
- Chaos ClusterUnion:修复了当父级 XR 复制和子级移除在同一帧发生时,移除碎片后质心计算错误的问题;并在
UpdateClusterMassProperties中为锁定的子级使用存储的ChildToParent作为防御性修复。 - SkinnedMeshComponent:修复了
USkinnedMeshComponent::GetPreSkinnedLocalBounds中的重导入死锁。 - Mesh Description:修复了 ID 字符串生成,以区分未版本化和已版本化的批量数据。
- PhysCube:将重置的运动学速度阈值更新为 1000。
- StorageServerClient:修复了内置 HTTP 客户端和 Socket 实现,以增强其在不同网络条件下的稳定性。
- Core/IoStore:修复了当分区打开失败时,因空文件句柄导致的崩溃。
- FastGeo:加固了代理组件的物理查询;修复了运行时单元转换器中未注册组件的世界变换。
- CsvInfo:修复了使用
-showEvents时无法读取完整 CSV 的问题,并允许禁用元数据输出。 - WaveGetActiveLaneIndexLast:修复了在 128 波前大小下的问题。
- PCG:修复了
Get Mesh Terrain Section返回面接触邻居的问题;将渲染目标初始化的警告降级为详细日志。 - Motion Design:修复了预览帧使节目单退出的问题。
- Sequencer:修复了
TransformPosition。 - Curve Editor:当没有选中关键帧时,帧定位于时间边界(若存在选择范围则帧定位于该范围,否则帧定位于播放范围)。
- Curve Editor:修复了模板对象类检查时处理原生 CDO 的问题。
- Console RPC:修复了控制台 RPC 注册的竞争条件。
- VT Sampling:修复了烘焙河流的虚拟纹理采样问题。
- Localization Preview Mode:修复了预览模式以防止其向本地化提供程序上传任何内容。
- AutoRTFMTests:修复了 Shipping 构建。
- Switchboard:修复了 Linux 节点的主机与远程平台处理。
- BPS:改进了日志记录以便更好地发现特定问题;修复了小于整个块大小的未压缩块请求。
- Media IO:修复了 Bob 去隔行器的字段样本共享源帧时间戳的问题。
- RenderAssetStreamingManager:在使用前检查其可访问性。
- Shader Compiler:D3D 移动端预览现在在启用
MFPM_Half或MFPM_Half_WithShaderParameters时支持半精度。对于后者,FP32 缓冲数据会在计算后通过 FP16 进行往返以模拟 16 位预着色器 Uniform Buffer。 - ML Mask Curves:防护 ML 掩码曲线写入时可能因掩码缓冲区与曲线数组大小不匹配导致的越界写入(当陈旧的已烹饪 DNA 导致两者数量不一致时)。
- 构建系统:修复了 UnrealBuildTool 中动态调试与 Live Coding 的交互问题。
- Storm Sync:修复了一个安全漏洞,该漏洞允许恶意行为者通过包名/路径遍历挂载点之外的 spak 文件,在用户系统上进行任意文件写入。
- PakFiles:避免了
IPlatformFilePak的PakFiles数组上的数据竞争,该竞争在PakListCritical锁外部读取Num(),通过使用原子变量存储所需信息来修复。 [[nodiscard]]与 API 宏:修正了[[nodiscard]]相对于 API 宏的放置。- Unreal Health:修复了在处理本地 CDO 时模板对象类的检查。
- LiveLinkHub:为音频驱动动画插件添加了缺失的依赖项。
- Mocap Manager:修复了运动大纲中角色 Actor 行的显示行错误。
🔧 API 变更
- Mesh Partition:将工具名称、提示、类别和标签从 MegaMesh 重命名为 Mesh Partition。
- FRigPhysicsSolverSettings:将
bResetFromKinematicSpeed的默认值改为 false。
⚠️ 废弃预告
- Accumuloid:将 Accumuloid Widget 中
QueryParameterStore的ac::FeatureFlags使用标记为已弃用。 - Horde:将
UpdateEndpoints和FindEndpointById标记为已弃用,并推广新的分布式.Register()模型。