demo下载 http://www.unitymanual.com/thread-38204-1-1.html qq群:390313628
##一:技能系统整体结构以及相关系统
技能包括技能数据和技能执行器
技能数据包括客户端表现数据以及客户端服务器共用的 逻辑计算数据
技能执行器主要包括: 技能状态机,技能Layout, 技能粒子效果,技能DamageShape伤害体,技能Buff,子弹,单位生成器等
##二:技能系统每个组件的详细解释
1: 技能状态机: 管理技能整体状态,其包含了若干个技能Layout,以及技能的buff, 同时监听有多个外部事件,例如技能开始事件,技能攻击触发事件,技能子弹碰撞事件等,在不同的事件下,技能状态机 激活特定的技能Layout 层。
2:技能Layout: 管理一些技能的粒子效果,技能的单位生成器,技能伤害体
3:单位生成器,用于生成技能的 子弹, 生成技能的召唤宠物等
4:伤害体, 对于AOE技能 生成伤害范围,伤害运动轨迹
##三:技能设计方式详解 1:近战攻击技能 配置举例 首先在配置表中 配置 角色职业的基本攻击技能的编号 ; 接着创建一个 空物体,挂上技能基本数据配置 组件, 为该组件添加事件,例如添加武器砍击造成伤害事件;
给对应事件添加一个 技能layout配置; 技能layout配置中,添加DamageShape 伤害碰撞体; 配置伤害碰撞体,为基于角度的检测伤害对象;
这样一个基本的基于角度的近战攻击技能就配置完成了。
2:远程普通攻击技能 配置
首先配置表中 添加 相关的技能,设置角色的基本攻击技能ID;
接着创建技能 基本数据配置, 添加 武器砍击事件;
为事件添加一个 技能Layout;
为layout配置,添加一个UnitSpawn, 单位生成器;
配置UnitSpawn 单位生成器,生成一个 Missile 子弹;
配置Missile子弹的 发射时粒子, 飞行粒子, 碰撞粒子, 死亡粒子;
基本的远程攻击就配置好了
3:召唤宠物技能 配置
配置职业技能;
为技能创建基本数据配置, 添加 技能启动事件 和 砍击事件, 子弹死亡事件;
添加三个 layout, 第一个 在启动时, 播放启动粒子效果, 第二个负责 砍击事件 生成子弹; 第三个处理子弹死亡事件;
配置子弹死亡事件 layout, 添加一个UnitSpawn, 在子弹死亡位置 生成宠物;
为技能添加一个 buff, 目标是宠物,当召唤出宠物之后,为宠物添加固定时间后消失的buff。
从上可以看出,通过这些技能组件的划分,是可以比较方便配置各种技能效果。
后续将上传一个展示技能的Demo 代码。
带技能 实现的 demo