虚幻引擎 - 通用游戏系统

虚幻引擎通用游戏系统(GGS)是一个多模块的代码插件,旨在为任何游戏提供基础功能。它扩展了Unreal Engine的部分模块功能,使其更加易用。UI系统,交互系统,情景效果系统,相机系统,统统包含!

Cover.GGS
罗传月武(YueWu)

作者

罗传月武(YueWu)

专注游戏开发和Web技术。

创建时间: 2025年3月29日更新时间: 2026年9月10日

目录

概述

Generic Game System 为 Unreal 项目提供一组可独立接入的玩法基础设施:上下文反馈、相机模式、CommonUI 组合、本地玩家设置、Smart Object 交互和网络布娃娃恢复。它适合想减少重复底层 glue,又不想采用完整角色或 game mode 框架的团队。

文档与支持

为什么需要 Generic Game System?

许多游戏都会反复搭相似的基础层:脚步声和命中特效要读玩法上下文,相机要随状态切换,UI 要允许 gameplay feature 插入内容,设置菜单要支持应用和取消,交互要处理选择与 authority,布娃娃恢复还要照顾远端表现。它们不是同一个玩法,但都需要稳定、可复用、可扩展的底层协议。

  • 如何让 VFX/SFX 根据 surface、tag 和 actor 状态变化,而不是写死在每个 actor?
  • 如何用相机模式和 CommonUI 层组织项目 UI / view,而不是让角色类和 widget 互相耦合?
  • 如何给每个本地玩家提供可应用、可取消、可持久化的设置菜单?
  • 如何让 Smart Object 交互和布娃娃恢复在多人项目里保留清晰 authority 边界?

关键特性

让反馈理解 gameplay 上下文

Context Effects 使用 Gameplay Tags、物理表面映射、可选 tag provider 和效果库来选择 Niagara 与音频反馈。脚步、落地、命中、能力反馈或项目事件可以复用同一套上下文规则,而不是在每个 actor 中重复判断。

用相机模式组织视角切换

Camera Component 管理可混合的 Camera Mode stack,暴露 active mode、blend weight 和扩展入口。项目可以为探索、瞄准、互动、载具或特殊能力提供自己的 camera mode;插件提供 penetration avoidance 基础,但不交付固定第三人称相机模板。

用 CommonUI 构建可增长界面

UI Policy、layout、activatable widget、modal、异步 UI action、移动输入控件和 tag-based extension point 让 HUD、菜单、提示和 gameplay UI contribution 可以围绕统一布局协作。Gameplay feature 可以注册或移除 UI 内容,而不直接耦合根 widget。

建立本地玩家设置菜单

Settings registry、provider、condition、value、accessor 和 CommonUI entry 支持 video、audio、input、accessibility 和 language 偏好。Apply 会提交并保存变更,Cancel 会回到已跟踪 baseline;项目决定具体音频、输入、字幕或辅助功能如何消费这些偏好。

组织 Smart Object 交互

Interaction definition 提供显示信息与输入数据,组件管理候选项、选择、刷新、replicated presentation state 和 server-owned 状态变化。项目可以用 trace、overlap、tag、距离或自定义规则提供搜索逻辑,再用 Gameplay Behavior 执行已 claim 的 Smart Object。

添加网络布娃娃与恢复路径

Ragdoll controller 提供 server request、multicast state change、replicated pose correction 和可覆写起身选择。项目可以决定何时允许 ragdoll、选择正面或背面起身表现,并保留自己的动画和状态机。

适用项目与人群

  • 第三人称动作、冒险、模拟、RPG、多人或角色驱动项目
  • 使用 Gameplay Tags、Niagara、CommonUI、Smart Objects、Gameplay Abilities 或 Targeting System 的团队
  • 需要可复用反馈、相机、设置、UI、交互或布娃娃基础设施的项目
  • 想按模块渐进接入,而不是采用完整角色层级、game mode 或 UI 皮肤包的团队

GGS 是基础设施集合,不是完整游戏框架、角色模板或美术 UI 包。每个模块可以围绕现有项目架构接入;你的项目仍然拥有角色、规则、UI 风格、动画和最终表现。

技术详情

代码模块(Code Modules):

  • GenericEffectsSystem(Runtime)
  • GenericCameraSystem(Runtime)
  • GenericUISystem(Runtime)
  • GenericSettingsSystem(Runtime)
  • GenericSettingsSystemCommon(Runtime)
  • GenericSettingsSystemUI(Runtime)
  • GenericGameSystem(Runtime)
  • GenericGameSystemEditor(UncookedOnly)

依赖插件(Plugin Dependencies):

  • Niagara
  • CommonUI
  • EnhancedInput
  • ModularGameplay
  • TargetingSystem
  • SmartObjects
  • GameplayBehaviors
  • GameplayBehaviorSmartObjects

Blueprint 数量(Number of Blueprints): 随配套项目提供

C++ 类数量(Number of C++ Classes): 100+

网络复制(Network Replicated): 是

开发支持平台(Supported Development Platforms): Win64、Mac

支持的目标构建平台(Supported Target Build Platforms): Win64、Mac、Android、Linux

重要说明/附加说明(Important/Additional Notes): 查看我的产品整体设计