Repolode
m969

m969/EGamePlay

基于实体-组件模式的轻量 Unity 战斗与技能框架,支持 ScriptableObject 或 Excel 表格配置。

Star
2,401
Fork
544
未关闭 Issue
1
最近提交
26天前

这是什么?

EGamePlay 是一个用于 Unity 游戏的战斗与技能框架。它将战斗实体、能力(Ability)、技能、buff 和状态效果拆分为组件,便于组合和扩展,无需为每个技能单独硬编码。

技能可以通过两种方式配置:一是使用 ScriptableObject 资源,配合 Odin Inspector 编辑;二是使用 Excel 表格,导出为 JSON 和配置类。一个技能由能力配置和负责表现的 Execution 对象组成,挂载到 CombatEntity 上后,通过 SpellComponent 释放。

3.0 版本基于 EcsNode 框架重构了运行时代码,将逻辑与数据分离,并将业务逻辑与视图逻辑分开。仓库中提供 RPG 示例场景和技能执行链路调试编辑场景。

核心功能

  • 01采用实体-组件设计,将技能逻辑、数据与表现分离。
  • 02技能和 buff 可使用 ScriptableObject 资源或 Excel 表格配置。
  • 03提供技能编辑窗口和技能执行链路调试场景。
  • 04附带 RPG 示例场景。
  • 05可移植到已有 Unity 工程或 ET 框架中。

适用场景

  • 为动作 RPG 或 MMORPG 开发技能与能力系统。
  • 在 Unity 游戏中实现 buff、debuff 和状态效果。
  • 让策划通过 Excel 表格或 ScriptableObject 资源配置技能。

快速上手

  1. 1

    使用 Unity 2022.3.53f1 打开项目

  2. 2

    运行 RpgExample 场景查看 RPG 示例

  3. 3

    运行 ExecutionLinkScene 场景进行技能调试编辑

使用前须知

  • 项目使用了需付费的插件(Odin Inspector、DOTween Pro、Animancer Pro)。
  • 面向 Unity 2022.3.53f1,README 标注为开发中(work-in-progress)。
  • 移植到其他 Unity 工程并非无缝,可能需要手动处理冲突和缺失。
  • 大部分文档和讨论以中文为主。

收录于专题

标签

#unity#gameplay#skill-system#buff#rpg#entity-component#scriptableobject#game-development#editor#framework

常见问题

EGamePlay 是什么?
基于实体-组件模式的轻量 Unity 战斗与技能框架,支持 ScriptableObject 或 Excel 表格配置。 EGamePlay 是一个用于 Unity 游戏的战斗与技能框架。它将战斗实体、能力(Ability)、技能、buff 和状态效果拆分为组件,便于组合和扩展,无需为每个技能单独硬编码。
EGamePlay 可以免费使用吗?用的什么许可证?
EGamePlay 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
EGamePlay 还在维护吗?
活跃维护中。EGamePlay 最近一次提交是在 2026年10月12日。
EGamePlay 适合用来做什么?
为动作 RPG 或 MMORPG 开发技能与能力系统。 在 Unity 游戏中实现 buff、debuff 和状态效果。 让策划通过 Excel 表格或 ScriptableObject 资源配置技能。
EGamePlay 怎么安装和运行?
使用 Unity 2022.3.53f1 打开项目 运行 RpgExample 场景查看 RPG 示例 运行 ExecutionLinkScene 场景进行技能调试编辑
在哪里获取 EGamePlay?
源代码和安装说明在 GitHub 上:https://github.com/m969/EGamePlay

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

面向 Unity 的零分配 async/await 集成库,让 AsyncOperation、协程和事件可直接 await,基于 PlayerLoop 运行。

开发者工具#unity#csharp#async-await
1.1万+14 本周1013C#MIT更新于 上个月