UE - GamePlay - 暂停菜单

实现GamePlay阶段 暂停游戏+显示菜单UI 的基本流程

实现方案

  1. 实现暂停游戏逻辑:
    可在 GameInstance 内实现此逻辑,以便其他模块使用。核心是 Set Input Mode XXX 3个方法,及 官方提供的 Set Game Paused(暂停也可换用 时间膨胀)
  • Set Input Mode Game Only: 不可点击UI、视角会跟着鼠标旋转。游戏默认的输入模式
  • Set Input Mode UI Only: 只能控制UI和点击UI。不建议用,可能会影响EnhanceInput输入
  • Set Input Mode Game And UI: 视角跟着鼠标旋转,并且也能点击UI

image

  1. 业务层调用暂停/恢复暂停:
    例如 在 PlayerController 上调用上文 GameInstance 内提供的 暂停游戏方法,再自行添加 暂停菜单UI,菜单UI按钮同理绑定 恢复暂停方法

image

注意:当 Set Game Paused 后,Controller里的 InputAction 需要特意开启 暂停时执行,否则会因为被暂停而无法相应 恢复暂停 事件

image

  1. 效果展示:
    以 手柄控制 为例,可在角色移动操作期间 不打断原有输入 暂停/恢复游戏(但键鼠下会被打断原有输入,原因待查)

20250726_152703

参考文章

posted @ 2025-07-25 19:36  SouthBegonia  阅读(96)  评论(0)    收藏  举报