系统概述
**通用游戏系统(GGS)**是一个多模块的代码插件,旨在为任何游戏提供基础功能。它扩展了Unreal Engine的部分模块功能,使其更加易用。
该插件具备高度的复用性,被我所有其他插件共享,是通用运动系统和通用战斗系统的一部分。
系统组成
GGS由以下几个系统组成,每个系统都可以单独使用,也可以配合使用:
UI系统
UI系统深入集成了Unreal Engine的CommonUI/CommonInput模块,包含:
- 易用的Widget:扩展的UMG组件,支持数据驱动的UI开发(例如:ListView根据配置选择不同的WidgetEntryClass)。
- 便于管理:提供类似于Lyra的多层级UI管理框架,并易于在蓝图中拓展,统一规范地管理复杂UI的层级关系。
- 良好的适配性:与官方提供的UI Material Lab无缝配合,通过材质管理Widget状态,提供更灵活和性能优越的解决方案。
- Modal系统:易拓展的Modal系统,处理常见的消息提示和确认框。
UI系统专注于拓展性,不对游戏的UI样式做假设。
情景效果系统
ContextEffects系统使用GameplayTags作为情景,在任意情境下播放声效和特效,主要用于自动化脚步声/效,也可应用于其他需要声音和视觉反馈的机制。
- 易于集成:为Actor(角色或武器)添加一个组件即可完成接入。
- 数据驱动:使用数据资产配置不同情境下播放的声效/特效。
- 自动化脚步:通过动画修改器自动为角色定位脚部放置,并配置“播放情景特效”动画通知。
- 高适配度:适用于脚步系统及任何需要根据不同情况播放声音和特效的场景,如近战碰撞。
- 简洁的API:简单的蓝图调用即可触发声音/特效。
- 高灵活性:基于GameplayTags在不同物理材质表面动态播放不同的VFX/SFX,自动化脚步VFX/SFX设置,无需在动画序列中包含大量硬资产引用。
相机系统
Camera系统采用栈的方式管理游戏中的相机、相机臂及镜头参数控制,允许根据游戏逻辑即时切换不同相机模式,并处理相机之间的过渡。vie
- 易于整合:只需将一个
GCMS_CameraSystemComponent
组件挂载到角色上即可。 - 模块化:每个相机模式内部处理该模式下的镜头参数控制,专注于镜头控制本身。
- 灵活易用:基本上只需调用一个简单的API“PushCameraMode”即可切换相机模式。
技术细节
- 核心模块:
- GenericUISystem (Runtime): 包含CommonUI的扩展版本代码。
- GenericEffectsSystem (Runtime): 包含动态SFX/VFX播放的代码,如脚步声。
- GenericCameraSystem (Runtime): 包含相机系统的核心功能。
蓝图数量: 10+(包括动画修改器和通知,及一些示例设置)。
C++类数量: 53+。
网络复制: 是。
支持的开发平台: Windows。
支持的目标构建平台: Win64, Android, Linux。
重要/附加备注: 可查看我所有其他产品。