用户名
UID
Email
密码
记住
立即注册
找回密码
只需一步,快速开始
微信扫一扫,快速登录
开启辅助访问
收藏本站
快捷导航
门户
Portal
社区
资讯
会议
市场
产品
问答
数据
专题
帮助
签到
每日签到
企业联盟
人才基地
独立实验室
产业园区
投资机构
检验科
招标动态
供给发布
同行交流
悬赏任务
共享资源
VIP资源
百科词条
互动话题
导读
动态
广播
淘贴
法规政策
市场营销
创业投资
会议信息
企业新闻
新品介绍
体系交流
注册交流
临床交流
同行交流
技术杂谈
检验杂谈
今日桔说
共享资源
VIP专区
企业联盟
投资机构
产业园区
业务合作
投稿通道
升级会员
联系我们
搜索
搜索
本版
文章
帖子
用户
小桔灯网
»
社区
›
A、行业资讯区
›
同行交流
›
11、如何实现一个灵活、通用的战斗(技能)系统——技能 ...
图文播报
2025庆【网站十二周
2024庆中秋、迎国庆
2024庆【网站十一周
2023庆【网站十周年
2022庆【网站九周年
2021庆中秋、迎国庆
返回列表
查看:
3510
|
回复:
0
[讨论]
11、如何实现一个灵活、通用的战斗(技能)系统——技能执行体和时间轴编辑器
[复制链接]
奋斗的小鸟
奋斗的小鸟
当前离线
金桔
金币
威望
贡献
回帖
0
精华
在线时间
小时
雷达卡
发表于 2025-5-30 17:14
|
显示全部楼层
|
阅读模式
登陆有奖并可浏览互动!
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
GitHub仓库地址:
<hr/>我们知道一个具体的技能其实是由几种不同的数据组成的
首先最基本的就是存储的技能数据
SkillData
比如你学习了一个火球术,只有1级,那么角色的能力列表就会添加进一个SkillData,里面存储着这个技能的Id是火球术Id,等级是1级,这些数据会存到数据库中,会被玩家改变,比如升级等
SkillConfig
还有一部分是配置在配置表里的技能信息SkillConfig,如技能名称、技能描述、技能CD、技能效果、效果参数等,这些是不会被玩家改变的,比较固定的数据
SkillAbility
SkillData和SkillConfig都是序列化的数据,存储在硬盘上的,但我们游戏的运行时通常需要再构造一个运行时的对象SkillAbility,缓存住从硬盘上检出的SkillData和SkillConfig,以及一些运行时的技能状态数据,比如是否被禁用,当前技能是否处于冷却中,还剩多少冷却时间可以使用技能等
SkillExecution
SkillAbility里存的都是一些状态数据,是一直挂在角色实体上的。技能还有一部分释放表现相关的行为数据,只有在技能释放的时候才创建,技能结束就销毁的,这个就是我们运行时会创建的另一个对象SkillExecution技能执行体。执行体按时间线性运行,按时间逐个执行每个技能效果(触发伤害、生成碰撞体等)
一般一些简单的技能表现可以直接写到SkillConfig上,但如果涉及到比较复杂的技能表现,表格就不太方便,比如一些不规则的弹道,像皎月的q,或者是多个飞弹和弹道,像寒冰的万箭齐发
ExecutionLinkPanel
这个时候就需要一个技能编辑器来可视化编辑这些碰撞体和弹道轨迹,这个技能编辑器在EGamePlay里就是ExecutionLinkPanel,他是一个运行时编辑器,需要打开对应场景ExecutionLinkScene运行才能用(为什么不用离线编辑器?因为做起来比较麻烦,运行时编辑器简单也能用,而且运行时还能模拟技能实际的表现效果,包括数值、伤害、buff等)
ExecutionObject
这个编辑器编辑的数据会保存为一个序列化的ExecutionObject,而每一个时间轴轨道或者称之为执行片段会保存为一个个ExecuteClip挂在ExecutionObject上。当创建SkillAbility时也会缓存住从硬盘上检出的ExecutionObject,并在角色释放技能时通过解析ExecutionObject和ExecuteClip来创建临时的SkillExecution,由SkillExecution来执行具体的技能表现效果
ExecuteClip
ExecuteClip可以称为
执行片段
,执行片段有5种类型:
CollisionExecute(执行技能碰撞体的生成和运行轨迹)
ActionEvent(执行事件,比如触发技能效果)
Animation(执行技能动作)
Audio(执行技能音效)
ParticleEffect(执行技能特效)
其中CollisionExecute和ActionEvent是最为重要的,直接构成了整个技能的效果和表现,余下的3个只是表示技能的一些视觉效果
总结
以上即走完了一个技能的全部流程,由此可以总结出在EGamePlay里一个技能最多可由5个部分组成,分别是:
SkillData
SkillConfig
SkillAbility
SkillExecution
ExecutionObject
按数据分的话SkillAbility、SkillExecution为
运行时的数据
对象,其中SkillAbility是常驻对象,SkillExecution是临时对象
SkillData、SkillConfig、ExecutionObject为
序列化的数据
对象,其中SkillData是数据库数据,SkillConfig、ExecutionObject是配置数据
按类型分的话SkillData、SkillConfig、SkillAbility为
技能状态
相关的
SkillExecution、ExecutionObject为
技能表现
相关的
<hr/>最新完整的demo和代码在github仓库可取得
https://github.com/m969/EGamePlay
原文地址:https://zhuanlan.zhihu.com/p/682018276
楼主热帖
小桔灯网业务合作须知!
如何注册小桔灯网VIP会员?
先导篇| 破茧·突围:分子POCT的降本革命与价值重生
[
POCT仪器
]
微生物检测过程中的常见问题及解答!赶紧收藏起来吧!
[
微生物检验
]
历史上最伟大的人是谁?
[
微量元素仪
]
为何我觉得丰臣秀吉才是日本战国第一人呢?而很多人觉得是织田信长?
[
同行交流
]
迪安诊断 2021 年营收 130.83 亿元,同比增长 22.85%,增长的原因有哪些?
[
临检实验室(ICL)
]
一种很新的类型学——时间论
[
时间分辨荧光技术
]
为什么磁珠法提取的核酸更纯?
[
核酸提取
]
临床医学大四,在实验室干了2年没任何产出,马上要考研了怎么办?
[
临检实验室(ICL)
]
回复
使用道具
举报
提升卡
返回列表
发表回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
妇产科
NMPA体系考核
PCR技术
液体活检技术
临床试验
关闭
官方推荐
/3
【扫描左侧二维码关注微信】参与交流!
网站定期开展行业相关话题互动交流活动!对认真参与讨论的桔友将有金桔奖励!欢迎参与。
查看 »
IVD业界薪资调查(月薪/税前)
长期活动,投票后可见结果!看看咱们这个行业个人的前景如何。请热爱行业的桔友们积极参与!
查看 »
小桔灯网视频号开通了!
扫描二维码,关注视频号!
查看 »
返回顶部
快速回复
返回列表
客服中心
搜索
官方QQ群
洽谈合作
关注微信
微信扫一扫关注本站公众号
个人中心
个人中心
登录或注册
业务合作
-
投稿通道
-
友链申请
-
手机版
-
联系我们
-
免责声明
-
返回首页
Copyright © 2008-2024
小桔灯网
(https://www.iivd.net) 版权所有 All Rights Reserved.
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by
Discuz!
X3.5 技术支持:
宇翼科技
浙ICP备18026348号-2
浙公网安备33010802005999号
快速回复
返回顶部
返回列表