美文网首页
技能编辑器

技能编辑器

作者: 我家菇凉 | 来源:发表于2020-01-09 19:38 被阅读0次
    1.技能要素 触发机制–何时以某种方式开启技能的生命周期 技能事件–描述技能发生的原子信息 事件效果–对当前游戏环境造成改变 2.技能的简单定义 技能,是以一种规定的方式进行触发,由一系列技能表现串联的,并对当前游戏环境造成相应影响的事件的集合。它一般具有一定的生命周期,会对游戏数值产生改变,有相应的动画、特效及音效表现。 设计 我们有了一个对技能的简单定义之后,对技能的要素有了一个清晰的把握,对我们设计数据结构,从而有效的描述技能,是有很大帮助的。如何进行抽象,如何设计配置,是我们接下来要思考的问题。 1.Unity下的技能的数据结构及配置设计 Q1:利用Unity的动画控制系统Animator进行事件和表现的绑定? 比较了解Unity中动画系统的同学都知道,Unity中的Animator提供在时间轴上添加Event,而且Event上可以添加脚本,脚本里面可以处理技能事件逻辑,比如释放特效、音效和角色动画等等。我们来看看这个描述技能的过程: 优点: 利用自带的时间轴和Event 事件,方便易用 缺点: 对美术资源的依赖强,需等到各种资源到位才能大致设计出一个完整技能 产生大量技能事件脚本,不易扩展 容易产生冗余帧 Q2:设计数据结构如链表或树来描述技能事件,并做编辑支持? 技能事件无非是一连串 Action 的有效集合,一般的技能都是前一个技能事件发生完,接着触发下一个技能事件,这很明显就是一个链表的结构。比较复杂的技能会出现分支的情形,这种情况下我们可以设计技能树,或者利用继续利用链表,在此基础上增加一些特殊的判定方式。 * 优点: - 不受表现的制约,设计上灵活且独立,各部门并行开发 - 程序上易扩展,好维护 * 缺点: - 无编辑器支持,需花一定精力进行编辑器扩展 Q3:那么我们采取哪种方式来定义技能? 我的选择是第二种方式,即设计出一套自己的数据结构来定义技能事件和技能属性,再对整套的数据结构进行编辑器的可视化编辑支持。 原因是: - 大型游戏开发中,团队协作效率压倒一切,让各部门解除依赖,并行开发 - 编辑器的开发让后续的开发可扩展性强,一次消耗,长期受益 Q4:配置采用Json、XML还是其他? 答案是采用 Unity 自带的 yamal 格式的配置结构–ScriptableObject。 原因是: - 是ScriptableObject 是Unity 原生支持的一种序列化方式,天生友好支持编辑器扩展 2.Unity下的技能编辑器的设计 策划同学在迭代设计游戏角色和怪物的技能时,必然要面对的一个问题就是工具的设计和优化。量大,复杂度高决定了我们必须扩展编辑器来优化这个Work-Flow

    相关文章

      网友评论

          本文标题:技能编辑器

          本文链接:https://www.haomeiwen.com/subject/sjkuactx.html