我一直在使用UE5开发一个拥有大量系统需要响应模拟时间的项目 - 世界模拟、预定事件、重复游戏逻辑和不依赖于单独Actor Tick实现的系统。随着项目的增长,通过连接的蓝图逻辑来处理这些变得越来越难以扩展和维护。因此,我建立了 AxomCore。它是一个本地C++运行时框架,集中模拟时间、间隔执行和调度,同时通过模块化的逻辑对象暴露简单事件给蓝图。理念是,游戏系统可以专注于应该发生什么,而AxomCore处理什么时候发生。视频展示了从初始项目配置到创建逻辑对象、运行间隔事件、预定未来事件和在运行时改变模拟速度的实际工作流程。AxomCore的主要功能包括:

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

还提供了一个 性能演示,可以独立运行 10,000 个活跃的逻辑对象,从而可以测试框架而不是仅仅相信它。AxomCore现在可在Fab上获取。我很想知道其他Unreal开发者如何处理这种架构,尤其是对于具有大量持久或时间驱动模拟的游戏。关于性能演示的反馈和想法将非常有用。