2026-05-31 引擎周报
✨ 新功能
- OutputLog 文本布局:更新了 OutputLog 的 TextLayout。
- MegaLights 屏幕追踪优化:为屏幕空间光线追踪着色器增加了跳过追踪压缩的选项,在特定条件下可提升性能。
- Nanite 毛发曲线蒙皮:为 Nanite Groom 构建器增加了生成曲线蒙皮数据的支持。
- PCG 执行日志:PCG 图执行日志现在使用描述性的节点名称,与性能分析日志输出保持一致。
- GaussianSplat 组件参数:在 GaussianSplatComponent 上实现了 PointScaleFactor 和 OpacityScale 参数。
- MetaHuman Creator API 扩展:MetaHuman Creator API 现在公开了获取颈部衰减遮罩的 API。
- 资产播放器节点:引入了新的资产播放器节点。
- TEDS 大纲世界分区列:TEDS 大纲现在支持为未加载的 Actor 显示世界分区列。
🚀 重大变更
- GaussianSplat 组件实现:引入了完整的 GaussianSplatComponent 实现。
- Nanite Groom 构建器:新增对曲线蒙皮数据生成的支持,以服务于 Nanite 毛发。
⚡ 性能优化
- MegaLights 着色器线程组优化:在 ThreadGroupSizeMode 1 下,将 StochasticLightingTileClassificationMarkCS、DenoiserTemporalCS 和 DenoiserSpatialCS 的线程组大小改为 16x8,并支持非 8x8 的线程组大小。
- MegaLights 屏踪追踪:在 ThreadGroupSizeMode 1 下,将 ScreenSpaceRayTraceLightSamplesCS 的线程组大小改为 128 线程,并新增跳过追踪压缩的选项,可显著节省性能开销。
- MapCaseInsensitiveFile 性能:优化了在重复查询目录时 MapCaseInsensitiveFile 的性能。
- VulkanRHI 删除延迟:在桌面平台将 VulkanRHI 的资源删除延迟设置为 0,并从 RHIProcessDeleteQueue 处理延迟删除队列,以减少内存积压。
- 分配估计原子操作:将 AllocationEstimate 转换为 relaxed atomic,以降低同步开销。
🐛 Bug 修复
- 构建系统:修复了因包含
<atomic>头文件或缺少#include导致的 NonUnity 编译错误和链接器错误。 - MegaLights:修复了时间降噪器在场景纹理尺寸改变后失效的问题;修复了 FP16 时间着色器在特定平台上的 GPU 崩溃问题;修复了着色器编译警告。
- PCG:通过重新保存资产修复了位置错误;修复了网格运行时生成半径检查未考虑卷 Z 范围的问题。
- 距离场:修复了因指针被不同资产重用而导致的错误。
- 几何集合:修复了在集群合并单个骨骼时发生的崩溃。
- Nanite:修复了组装部件修剪修复中使用了错误集群组的问题。
- 多服务器:
LaunchMultiServer不再支持在-client=中包含多个相同的客户端条目,以避免代理客户端计数等启动参数失效。 - GPU LM:为 InstanceCullingUniforms 的 BatchedPrimitiveData 和 BatchedInstanceData 绑定了虚拟缓冲区,以防止潜在问题。
- Niagara:修复了由无效索引到 RayTracingLODs 导致的崩溃。
- 动画数据库:移除了所有曲线。
- HLOD:修复了样条网格近似 HLOD 中的崩溃和双重构建缩放问题。
- MVVM:修复了在异步加载线程激活时弃用无法正常工作的问题。
- UIFramework:修复了当有重叠控件覆盖按钮时,UIFrameworkButtonWidget 的点击事件无法正确传递的问题。
- nDisplay:修复了 CIS 报告的问题。
- VulkanRHI:将桌面平台的资源删除延迟更改为 0。
- MetaSound:修复了 CAT 类型字面节点的注册问题。
- Unreal Toolbox:修复了启动探测相关的 Cloud DDC 问题。
- 统计报告:修复了在 csv block 命令关闭时统计报告的竞态条件。
- 蒙皮场景扩展:修复了位域写入中的竞态问题。
- Mobile Bloom:修复了移动平台泛光金字塔步骤因子独立于质量因子的问题。
- Virtual Shadow Maps:修复了原始光束路径计算错误。
- 输出设备初始化:将输出设备的初始化提前到引擎预初始化阶段,以确保在 Trace 启动工作线程前 GWarn/GError 可用。
- 属性验证:现在为未加载的模块注册本机验证器。
- UbaVisualizer:修复了在高 DPI 会话中 D2D 文本图集分配失败的问题。
- 源码管理:对源码控制工具集进行了一些改进。
- 调试渲染:移除了对引擎模块的调试渲染依赖。
🔧 API 变更
- Nanite Groom 构建器:公开了用于生成曲线蒙皮数据的 API。
- MetaHuman Creator:在 MetaHumanCreatorAPI 中公开了获取颈部衰减遮罩的 API,并在 FMetaHumanCharacterIdentity 中添加了 UpdateFaceJoints、UpdateFaceSkinWeights API 以及 AdaptNeck、LockBodyFaceState 设置切换。
- NNS:在 BindStruct 旁边公开了 DropStruct 辅助函数,以一致地丢弃动态结构体。
- 控制绑定:将 AnimOp 验证函数移至 FUAFAnimNode,以便节点可以特化其验证逻辑。
- GameplayTags 工具集:向 UGameplayTagsToolset 添加了 ListTagsInSource 工具。
⚠️ 废弃预告
- UMG 触控操作包装器:为 Touch Action Wrapper 添加了弃用消息。