前言

开发一个适用于arpg的技能系统,制作一个暗黑like的arpg原型!

本技能系统包含以下部分

  1. Variable 技能系统实现01 数值表
    • 数据定义。kv键值对,k为string,v为string,有定义类型,可以用csv导入导出。
    • 数值运算接口,IVarMagnitudeCalculation。
  2. Attribute 技能系统实现02 属性
    • 角色属性。
    • 属性快照。
  3. Event 技能系统实现03 事件
    • 实现IEventScript接口,使用c#自定义逻辑
    • 数据驱动,使用GAction配置
    • 可视化脚本,使用UnityVisualScripting(实验性质)
  4. Effect 技能系统实现04 Effect
    • 游戏性效果。
    • 可以理解为buff,可以修改角色的属性,使用Attribute实现。
    • 在某些特殊时机,触发各种事件。
  5. Motion 技能系统实现05 Motion
    • 相当于时间轴,在各个时间点,触发各种事件。
    • StateMotion,状态机motion,同时只能运行一个
    • BackgroundMotion,后台运行的motion,不会打断StateMotion
    • 除cost、cooldown等Ability本身的职能外,其他技能效果都是用Motion来组织。
  6. Projectile
    • 投射物,是一个entity,例如一个火球
  7. AoE
    • 范围定义,对象捕捉,是一个entity。
    • 既可以是空间上的范围,也可以是概念上的范围。
    • 可直接使用c#脚本实现所谓的范围,也可以使用数据驱动(TargetType)来实现。
  8. Ability
    • 角色拥有的特殊能力。
  9. DataDriven
    • 提供数据驱动编辑能力
    • GAction
      • 表一个实际操作,被各种event所调用。
      • GAction全部都是caster对targets进行操作,不满足要求,就写脚本吧
    • Target
      • TargetType筛选entity,此阶段一般为物理检测。
      • 可使用TargetFilter对entity进一步筛选,例如血量大于x。

技能展示

帧同步联机战斗

编辑器

Effect配置编辑
定点数3d碰撞检测