Skip to content

2026-09-28 引擎周报 ​

✨ 新功能 ​

  • Nanite Ray Tracing:新增 CLAS(Compact Linear Allocation System)支持,包括按需构建、未引用页面回收、基于 CLAS 池用量的自动质量缩放,以及与 OMM(Opacity Micro-Map)的集成。
  • Nanite Ray Tracing:支持 Nanite Assemblies 的光线追踪,包括每个 assembly part instance 独立 BLAS、基于 CLAS 可用性的层级遍历,以及流式遍历中的 assembly 支持。
  • Control Rig:支持模块和函数库的 nativization,并新增用户自定义结构体和枚举的 nativization。
  • Control Rig:Rig 层级搜索支持 AND / OR / NOT 逻辑表达式;新增复制元素名称和 rig element keys 的选项。
  • UAF(Unreal Animation Framework):新增 ReadPoseFromVariable 和 WritePoseToVariable 节点,以及变量选择器的作用域过滤。
  • IK Rig Retargeting:支持使用不同骨骼的外部姿势。
  • 引擎:新增 UE_WITH_GC_BARRIER 宏,可在构建目标中通过 bWithGCBarrier=true 移除未启用增量可达性时 TObjectPtr 中的 barrier 检查开销。
  • iOS:客户端默认切换到 UIScene 生命周期,避免启动崩溃。

🚀 重大变更 ​

  • Control Rig/RigVM:函数 Return 节点行为变更,现在默认会退出函数。此前需要手动连接;该变更可能影响现有图表逻辑。
  • UAF:缓存姿势节点重命名为 “Read Pose From Cache Node”,并进行了缓存姿势逻辑重构。
  • MovieRenderPipeline:对 Collection 节点进行了更新,可能影响现有渲染配置。
  • 引擎:多个模块和插件减少了原生类型 padding,可能影响内存布局和二进制兼容性。

⚡ 性能优化 ​

  • Nanite Ray Tracing:BLAS 缓存与 RuntimeResourceId/root page index 解耦,减少缓存误命中;预分配 CLAS 缓冲区;根据页面安装情况跟踪实际所需 block 数,优化内存使用。
  • Editor ToolMenu:修复了 section/entry 引用在重分配后可能悬挂的问题,提升稳定性和性能。

🐛 Bug 修复 ​

  • Nanite Ray Tracing:修复多项导致错误或崩溃的问题,包括:在包含 Nanite Assemblies 的关卡中使用 r.RayTracing.Nanite.Mode 2 时的 GPU 崩溃、BLAS 缓存误命中、非三角形集群处理错误、voxel/curve 集群未跳过 CLAS 构建、CLAS 分配溢出、CLASReadbackData 处理竞态条件、层级中 ray tracing flags 未卸载、切换到 CLAS 后 Vertex/IndexBuffer 未释放等。
  • Control Rig:修复 PIE 中编译后调试绘制消失、Direct Manipulation 列表未在数组 pin 调整大小时刷新、拖放变量到 pin 时触发 ensure、连接器可重复放置到其他连接器、模块连接器变更后重连失败、复制含嵌套调用的函数时调用丢失等问题。
  • Sequencer:修复 attach track 在非根组件 socket 上跳转、打开含无支持编辑器轨道的模板序列时 assert 等问题。
  • Animation:修复 RigLogic 手指半旋转计算中的扭转角度提取、BlendSpace 标记同步 assert、网格控件因运行时数据生命周期导致的崩溃、压缩数据 key hash 为零时的 assert、AIE 智能补偿中按键状态干扰等问题。
  • 其他:修复编辑器退出崩溃、AWaterZone 切换关卡可见性时的 assert、Mutable DDC 计算值在多次编译间不稳定、TRS Gizmos 旋转轴环在近距离不可见但可点击、iOS 启动崩溃等。

🔧 API 变更 ​

  • 新增 UE_WITH_GC_BARRIER 宏。
  • UAF AnimNode 通过 visitor stack 查询描述符接口,影响扩展实现。
  • Control Rig/RigVM Return 节点行为变更。
  • 着色器函数 LinearStep 移动至 Common.ush,影响包含依赖。
  • 内部命名调整:NumAssemblyParts 更名为 NumAssemblyTransforms,FRayTracingManager 接口清理,以及 CLAS 相关类型和成员命名优化。

(无废弃预告)