unity3d 技能编辑器

本篇博文转自 http://my.oschina.net/u/186074/blog/379989

一:技能系统整体结构以及相关系统
​技能包括技能数据和技能执行器 ​技能数据包括客户端表现数据以及客户端服务器共用的 逻辑计算数据 技能执行器主要包括: 技能状态机,技能Layout, 技能粒子效果,技能DamageShape伤害体,技能Buff,子弹,单位生成器等

二:技能系统每个组件的详细解释

1: 技能状态机: 管理技能整体状态,其包含了若干个技能Layout,以及技能的buff, 同时监听有多个外部事件,例如技能开始事件,技能攻击触发事件,技能子弹碰撞事件等,在不同的事件下,技能状态机 激活特定的技能Layout 层。 2:技能Layout: 管理一些技能的粒子效果,技能的单位生成器,技能伤害体 3:单位生成器,用于生成技能的 子弹, 生成技能的召唤宠物等 4:伤害体, 对于AOE技能 生成伤害范围,伤害运动轨迹

unity3d 技能编辑器_第1张图片


三:技能设计方式详解

1:近战攻击技能 配置举例
首先在配置表中配置角色职业的基本攻击技能的编号 ;
接着创建一个 空物体,挂上技能基本数据配置 组件,为该组件添加事件,例如添加武器砍击造成伤害事件;
给对应事件添加一个 技能layout配置;
技能layout配置中,添加DamageShape 伤害碰撞体;
配置伤害碰撞体,为基于角度的检测伤害对象;
这样一个基本的基于角度的近战攻击技能就配置完成了。

2:远程普通攻击技能配置  
首先配置表中添加相关的技能,设置角色的基本攻击技能ID;
接着创建技能基本数据配置,添加 武器砍击事件;为事件添加一个技能Layout; 为layout配置添加一个UnitSpawn单位生成器;
配置UnitSpawn 单位生成器,生成一个 Missile 子弹;
配置Missile子弹的发射时粒子,飞行粒子,碰撞粒子,死亡粒子;
基本的远程攻击就配置好了

3:召唤宠物技能配置
配置职业技能;为技能创建基本数据配置,添加技能启动事件和砍击事件,子弹死亡事件;
添加三个layout, 第一个在启动时,播放启动粒子效果,第二个负责砍击事件生成子弹;第三个处理子弹死亡事件;
配置子弹死亡事件layout,添加一个UnitSpawn, 在子弹死亡位置生成宠物;
为技能添加一个buff,目标是宠物,当召唤出宠物之后,为宠物添加固定时间后消失的buff。

从上可以看出,通过这些技能组件的划分,是可以比较方便配置各种技能效果。

后续将上传一个展示技能的Demo 代码。

也可加群321301070获取Demo。


你可能感兴趣的:(u3d)