Skip to content

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.EnableActorCountInStats cvar 时,网络驱动统计现在可与 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 调试代码中的 FAppTime ensure 断言。
  • 集群联合修复:修复了集群联合内部加速结构的竞态条件。
  • 材质断言修复:修复了 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 配置提供。