2026-05-05 引擎周报
✨ 新功能
- Nanite 蒙皮实现:为蒙皮网格体实现了 Nanite 和 WPO 相关功能。
- PCG Biome Core 参数暴露:允许在 Biome Core 父图级别将骨骼网格体生成器的 Transform Provider 数据资产引用设置为参数。
- 动画录制选项:为动画录制添加了
bRemoveExcludedCurves选项,用于移除已录制但希望排除的曲线。 - 导航系统函数:在
UNavigationSystemV1中添加了GetSupportedAgentNames()函数,可用于生成可用 Agent 名称的下拉列表。 - CDO 覆盖功能:添加了设置 CDO 覆盖的功能。
- Mass Representation 分层动画支持:为 Mass Representation 系统添加了分层动画支持。
- 动画序列同步元数据生成:实现了动画序列同步元数据的生成功能。
- 曲线编辑器增强:增强了曲线编辑器,支持将多条曲线粘贴到多条曲线。
- PCG 类型擦除支持:为 PCG 添加了类型擦除的
Get/SetRange支持。 - UAF Layering 动画节点支持:将层堆栈注册为动画节点支持的资产类型,并添加了动画节点支持。
- Lumen 屏幕探针可视化:为 Lumen 添加了屏幕探针收集的可视化功能。
- 根空间支持:为 profile blend 添加了根空间支持。
- MaterialIR 表达式 getter:为 MaterialIR 自定义输出添加了表达式 getter 支持。
- 稀疏体积纹理支持:新材质翻译器添加了稀疏体积纹理支持。
- 自定义时间步长检查:在检查自定义时间步长是否有效时添加了单帧延迟,以便让来自 Live Link Hub 的更改先传播。
- Schema sequencer 默认轨道:将默认轨道应用于添加到 Schema sequencer 的 Actor,并确保 Sequencer 允许将默认值应用于新轨道。
- 辅助游戏实例:模块化视口添加了辅助游戏实例和 Scene Viewport UMG。
- per-vertex 体素关联:在图表接缝奇异路径中添加了 per-vertex 体素关联,使
AssignVertexUVs进行插值而非外推图表笼。 - 背景颜色选项:添加了通过预览场景设置标签更改背景颜色的选项。
- 互操作工具函数:创建了旧
FLODPose和新FValueBundle运行时之间的互操作工具函数。 - 网络驱动统计 Iris 支持:当启用
net.EnableActorCountInStatscvar 时,网络驱动统计现在可与 Iris 协同工作。 - 清除 Deltas:在数据覆盖面板列表视图中启用了从右键上下文菜单清除 Deltas 的功能。
- OpenTelemetry 升级:Horde 将 OpenTelemetry 包升级到 1.15.x 版本,并在共享 props 中集中管理版本。
🚀 重大变更
- Shader Hash 迁移:将平台/自动生成的不变 shader hash 移入
RenderCore。 - WorldPartition 固定网格信息访问器:为编辑器时固定网格元数据引入了
FFixedGridInfo访问器。 - WP ISM 运行时单元转换器选项:在 WorldPartition ISM 运行时单元转换器上添加了
bStrictBucketing选项。 - PCG 节点事务:为与编辑器交互的特定 PCG 节点添加了事务(仅用于关卡资产图),并使用 cvar 进行控制。
- 属性集保存/恢复修改:修改了
UInteractiveToolPropertySet::SaveRestoreProperties,使其仅在保存时实例化属性缓存条目。 - UnifiedError API 重构:重构并减少了公共 API,统一为一种声明和使用错误的标准方式。
- Shader 优化与序列化:创建了
r.Shaders.ForceOptimizeRaytracing并将GlobalShaderCache更改为 64 位序列化。 - UBA 路径注册:在 UBA 中注册规范路径,并将目录路径建模为
DirectoryReference而非字符串,可防止因注册不同大小写的多个路径而导致的罕见崩溃问题。
⚡ 性能优化
- 音频渲染成本:在所有平台上默认启用音频相对渲染成本,并调整了 Windows 语音数量。
- Shader PSO 预缓存:允许 Shader PSO 预缓存在 shader 数据不可用时优雅地失败。
- 网络消息限制:添加了
NMT_IrisNetRefHandleErrorWithDiagnosticMessage发送限制。
🐛 Bug 修复
- 导航网格修复:修复了在
DynamicModifiersOnly模式下使用自动生成 navlink 时,navmesh tiles 被移除的问题。 - UI 拖拽修复:修复了
SDraggableBox单击右键会错误进入拖拽模式的问题。 - Landscape 批量合并修复:修复了执行部分更新时,landscape 批量合并在上边界和最左边界出现像素行/列缺失的问题。
- WorldPartition 修复:修复了 WorldPartition 中 LI Actor 指针/软引用覆盖的问题。
- Mesh Partition 修复:修复了在解析修改器层行时,当存在已删除层行的过时映射时触发 ensure 断言的问题。
- MeshTerrain 修复:修复了在 ITF 修复属性缓存恢复后,MeshTerrain 属性缓存 ID 与基类冲突的本地变通方法。
- Teds 调试器修复:修复了 Teds 调试器/发现功能。
- VSM 修复:修复了
VirtualShadowMapCacheManager调试代码中的FAppTimeensure 断言。 - 集群联合修复:修复了集群联合内部加速结构的竞态条件。
- 材质断言修复:修复了
test_set_and_get_static_switch_parameter测试中FMaterial::~FMaterial()断言失败的问题。 - Nanite 装配修复:修复了 Nanite 装配“优化实例化”的相关问题。
- Sequencer 键控修复:修复了模块化控制 rig 首次键控时丢失选择的问题。
- 动画数据崩溃修复:修复了
UAnimSequencerController::RemoveBoneTracksMissingFromSkeleton()中的崩溃问题。 - 热修复应用修复:修复了当没有后端热修复存在时,某些烘焙热修复不会应用的问题。
- Android EGL 修复:修复了在调整 EGL surface 大小后重新设置 EGL 上下文的问题。
- PlainProps 断言修复:调整了关于非链接结构体的新断言,使其仅对非瞬态结构体触发。
- 附加动画修复:修复了附加动画类型设置为局部空间时影响曲线数据的问题。
- Shader 编译修复:修复了进程内 shader 编译回退在管道重试时损坏
Job.Input.Environment的问题,并改进了现有检查。 - Linux 游戏手柄修复:修复了 Linux 游戏手柄断开通知中用户/设备 ID 不断增加的问题。
- Horde 修复:修复了 Horde 中的 OpenTelemetry 包升级问题。
- PCG 本地化修复:修复了 PCG 重命名嵌入子图菜单中的本地化标签冲突。
- 错误格式修复:修复了
AttemptedDownload的错误格式字符串与字段名不匹配的问题。 - SwitchboardListener 修复:修复了
FSensitiveFile::Close()中的 ensure 断言和双重关闭问题。 - ContentBrowser 修复:修复了在 cooked 插件中 EpicInternal-only 子文件夹被隐藏的问题。
- Media Sequencer 修复:修复了当关卡序列显示速率与媒体源的有效帧率不同时,Sequencer 媒体轨道显示黄色警告的问题。
- AIE 修复:移除了不需要的缓存层指针,修复了可能导致 Linux 崩溃的问题。
- TmvMedia 修复:尝试修复了 CIS 1324342 问题。
- SemanticSearch 修复:修复了在非 AI 搜索模式下仍显示语义搜索分数的 UI 问题。
- Niagara 修复:为
FStackIssue/FStackIssueFix唯一 ID 使用了区域独立身份。 - Sequencer 根运动修复:修复了 Sequencer 中模块化控制 rig 的根运动馈送问题。
- UEMHC 导出工具修复:修复了导出工具属性编辑的撤销问题。
- UEMHC 服装工具修复:修复了服装工具应用结构子属性编辑的问题。
- UEMHC 照明环境修复:修复了加载照明环境时应用背景颜色的问题。
- PCG 清除 Deltas 修复:修复了在数据覆盖面板列表视图中启用从右键上下文菜单清除 Deltas 的功能。
- Horde 升级修复:修复了 Horde 中 OpenTelemetry 包的升级问题。
🔧 API 变更
- UnifiedError API:重构并减少了公共 API,统一为一种声明和使用错误的标准方式。
- 导航系统 API:在
UNavigationSystemV1中添加了GetSupportedAgentNames()函数。 - 动画录制 API:为动画录制添加了
bRemoveExcludedCurves选项。 - WorldPartition API:为编辑器时固定网格元数据引入了
FFixedGridInfo访问器。 - WP ISM 运行时单元转换器 API:添加了
bStrictBucketing选项。 - PCG 节点 API:为与编辑器交互的特定 PCG 节点添加了事务。
- 属性集 API:修改了
UInteractiveToolPropertySet::SaveRestoreProperties的行为。 - Shader 优化 API:创建了
r.Shaders.ForceOptimizeRaytracing并更改了GlobalShaderCache的序列化方式。 - UBA 路径 API:在 UBA 中注册规范路径,并将目录路径建模为
DirectoryReference。
⚠️ 废弃预告
- MRQ ADOF 支持移除:从 MRQ 中移除了累积景深支持。ADOF 支持在 MRQ 中是临时的;ADOF 将仅通过 Graph 和 Basic 配置提供。