我已经开发了一款UE5项目,包含了许多需要响应模拟时间的系统,包括世界模拟、预定事件、循环游戏逻辑和不依赖于单独Actor Tick实现的系统。在项目发展过程中,通过连接蓝图逻辑来处理这些问题变得越来越难以扩展和维护。因此,我建立了 AxomCore。它是一款原生C++运行时框架,集中管理模拟时间、间隔执行和调度,同时通过模块化逻辑对象暴露简单事件给蓝图。理念是,游戏系统可以关注 应该发生什么,而AxomCore处理 什么时候发生。视频展示了从初始项目配置到创建逻辑对象、运行间隔事件、预定未来事件和在运行时改变模拟速度的整个工作流程。一些主要功能包括:

  • 中央化的C++间隔处理
  • 在运行时蓝图可访问的事件
  • 模块化逻辑对象
  • 预定未来事件
  • 在运行时模拟时间缩放
  • 持久时间驱动的游戏逻辑
  • 设计以避免大量分布式Actor-based时间逻辑

还有一个 性能演示 可供单独下载,可以运行 10,000个活跃的逻辑对象,从而可以测试框架而不是仅仅信任它。AxomCore现在可在Fab上获得。我很感兴趣地想知道其他Unreal开发者当前如何处理这种类型的架构,特别是针对有大量持久或时间驱动模拟的游戏。对性能演示的反馈和想法将非常有价值。