Skip to content

技能编辑进阶

本节将讲解如何在技能编辑器中配置一些较为复杂的技能逻辑。

成长型技能

成长型技能指的是可以升级的技能。技能强度会随着技能等级提升,比如冷却时间缩短、伤害增加等。

配置方法

  1. 在技能预设基础-等级部分打开<能否升级>开关。

  2. 配置技能的初始等级和可以达到的最大等级,范围为0~10。

  3. 编写技能升级效果:

    • 在技能公式中使用等级变量。比如将技能等级属性作为变量加入冷却时间公式中,就可以实现技能级别越高,冷却时间越短的效果。同理也可以这样编写伤害锚点上的伤害公式。
    • 在技能预设触发器中使用<技能升级>和<技能降级>事件积木,在技能升级/降级时更改技能的固定属性。
    • 在技能预设触发器中使用<获取技能等级>在施法时的触发器加入对技能等级的获取和判断,赋予技能效果动态变化。

相关蛋码

技能的升级和降级通常使用蛋码中的动作积木实现:

用于控制技能等级的蛋码积木

  • <增加技能等级>
  • <降低技能等级>
  • <设置技能等级>
  • <设置技能最大等级>

可学习技能

可学习技能是成长型技能的一种延伸体现,它允许玩家通过分配技能点的方式自由升级技能

类似超燃系列玩法中,玩家获得技能点后点击技能图标旁边的加号,主动消耗技能点给选择的技能升级。

配置方法

  1. 在技能预设的等级设置里打开可学习开关。之后该技能需要玩家消耗技能点主动升级。

技能点

技能点是一个简易的加点系统,一点可以升级一次技能。

作者在蛋码中使用<增加角色技能点>的动作积木来给角色增加技能点。

技能点有两种投放方式:一种是投放足额的技能点,玩家逐步解锁所有技能等级,最终技能可以全部点满;另一种是投放有限的技能点,玩家需要自己分配资源,形成自己的玩法流派。

前者更适合控制游戏节奏,制造角色成长体验;后者更侧重于策略性,鼓励玩家进行构筑。可以根据玩法需求,选择适合的投放方式。

  1. 支持额外设置技能的学习需求等级,玩家角色提升到指定等级才能学习或升级技能。

角色等级如何修改

角色等级在更多-规则设置-玩法设置-等级规则中设置等级级数及所需经验值,经验值或角色等级可以通过相关蛋码积木进行修改和增加。

  1. 技能点可以通过在<增加角色技能点>积木中填入负数进行回收,但这条积木只能修改玩家当前未进行分配的点数。
  2. 使用蛋码积木降低技能等级时不会自动返还消耗技能点。但是可以通过在技能降级事件下使用<增加技能点>的方式编写技能点返还逻辑。

多段切换技能

多段切换技能在触发后会经历多个阶段,每个阶段能够配置独立的指示器、技能伤害和表现效果。

以超燃竞技场玩法中,蛋小红的二技能<破刀式>为例:

破刀式

破刀式为三段刀法,命中敌人可触发下一段,每一段的伤害单独结算并且触发不同效果。

多段切换技能预设实际上是由多个技能组合而成,通过切换子技能呈现出多段形态。

配置方法

  1. 在技能预设的基础页面中,找到子技能部分,将切换方式设置为【施法切换】或【计时切换】可以将技能配置成这样的多段技能。

    • 计时切换:按固定时间间隔自动切换

      初始间隔参数会在计时切换模式下生效,获得父技能后,经过初始间隔按照切换规则自动切换到子技能。

    • 施法切换:施放技能后立即切换

  2. 在下方【添加子技能】设置作为子技能的技能预设,之后施放多段技能的父技能后将会切换到子技能的施法阶段。

注意事项

被设置为子技能的技能预设,不能再作为多段技能的父技能配置预设。

  1. 调整子技能切换方式
切换规则描述
顺序按子技能顺序切换,最后回到父技能
完全随机在父子技能间完全随机切换,不考虑重复。
不重复随机所有子技能只能被随机切换一次,全部子技能切换以后变回父技能。
  1. 调整切换参数
切换参数描述
回归计时经过该段时间后自动切换回父技能,填0不可用
切换刷新开启后,每次切换会刷新回归计时(也就是多段切换回父技能的时间单独计算)否则从父技能开始切换计时
切换间隔开始切换后,自动切到下一个技能的间隔时间
切换后冷却切换技能后,被切换技能将进入一段固定时间的冷却,用于避免子技能的频繁切换

充能技能

充能技能指的是需要积累能量才能释放的技能。

充能技能使用的前提是有充能层数(即使用次数)可使用,使用充能技能将会消耗充能层数。

派对模式中的【魔术卡牌】技能,就是使用充能功能制作的消耗型技能,可以使用多次,每次使用会消耗层数,卡牌数量会通过充能恢复。

配置方法

  1. 在技能预设施法-充能部分开启<技能消耗次数>。

蛋码设置技能充能

充能功能支持使用蛋码<设置技能是否为充能技能>进行动态设置,即游玩时可以控制技能是否为充能技能。

  1. 设置充能类型,控制技能是否按次数消耗,以及如何触发充能补充使用次数。
充能类型描述
无效不可进行充能,次数消耗完无法使用
次数不满时充能次数未满时可以触发充能直到恢复满次数
次数为0时充能次数全部消耗完才可以触发充能
  1. 调整充能属性
充能属性描述
最大使用次数使用次数上限,可通过蛋码<设置技能最大释放次数>修改
充能间隔一次充能需要的时间,单位为秒,蛋码<设置技能充能冷却>可以改变当前(一次)充能剩余的时间。
充能数量一次充能会恢复的次数
充能初始次数获得技能时的初始充能次数

自定义充能逻辑

默认配置的充能逻辑是达到指定条件触发时间补充层数,

使用蛋码<设置技能释放次数>可以直接设置当前技能剩余的释放次数,制造充能效果。

比如枪械玩法当中,通过换弹补充枪械使用次数就类似默认的消耗时间充能,拾取弹匣快速补充子弹数量就是直接获取充能层数的逻辑。

蓄力技能

蓄力技能支持通过技能按钮的长按交互积蓄力量,通过更长的准备时间换取更强的技能效果。

配置方法

  1. 在技能预设表现界面打开<能否蓄力>开关,可以设置技能的蓄力逻辑。
属性名称描述
蓄力阶段时间蓄力阶段的技能阶段时间,即蓄力阶段时间轴的长度
满蓄力时间蓄力时间的上限,达到满蓄力即可完全释放蓄力效果。
蓄力阶段结束自动施放蓄力阶段时间结束后会自动释放技能
禁用蓄力时方向同步决定蓄力时角色是否还可以改变面朝方向。开启后技能施法蓄力阶段施法者面朝方向不再跟随施法方向变化;在蓄力阶段使用靶向移动锚点也能提前结束方向同步。
显示蓄力图标开启或关闭技能蓄力的闪电图标(会显示蓄力进度)
  1. 蓄力技能拥有专属的蓄力阶段,可以在技能阶段下编辑蓄力阶段的时间轴。

蓄力阶段

蓄力阶段期间,玩家松开技能按钮则视为结束蓄力阶段,进入施法阶段;

若蓄力阶段期间施法者角色被打断蓄力,则技能释放失败。

  1. 在技能预设中使用蛋码<获取技能蓄力百分比>编写蓄力对技能的强化效果。
    • 通过计算当前蓄力时间与总蓄力时间的百分比实现蓄力时间对技能的强化效果
    • 对蓄力百分比进行大小判断应用不同的技能效果

普攻技能

普攻技能在角色或生物预设编辑界面>基础>生物技能设置,在攻击技能栏位引用已有的技能预设即为角色生物的普攻技能。

被设置为普攻技能的技能会受到属性规则(更多-规则设置-玩法规则-属性规则)配置的角色属性,如攻击范围,攻击范围,攻击速度,攻击间隔影响,并且支持自动攻击机制生效。

一个角色\生物只能携带一个攻击技能,切换时会移除之前的技能。

技能属性描述
指定技能作为攻击技能使用的技能预设
技能槽位用于点击触发技能的技能格控件编号
自动攻击开启自动攻击后,当攻击范围内出现符合攻击技能筛选目标的角色或生物时会自动施放攻击技能,非指向型技能也会自动计算方向和位置信息释放
显示冷却关闭后,攻击技能不会显示冷却表现

角色属性对攻击技能的影响

角色属性描述
攻击范围将改变攻击技能的施法范围。
攻击间隔改变攻击技能的冷却时间,但不会小于技能的施法时间。
攻击速度百分比影响攻击技能的施法时间,锚点触发间隔,动画锚点的播放速率等。

生成类技能

生成类技能指的是具有创建新组件效果的技能。

生成类技能有两种制作方式:

  • 使用技能锚点制作

  • 使用蛋码制作

使用生成物锚点

在技能预设轨道编辑中,可以使用<生成物>分类下名称含有“创建”的锚点创造组件。

  • 创建组件
  • 创建地雷
  • 创建传送球
  • 创建预览的生成物

特殊生成物

地雷和传送球是自带逻辑的特殊组件,所以需要使用特定的技能锚点制作

<创建组件>和<创建预览的生成物>锚点可以根据预设创建大部分普通组件(不包括具有特殊逻辑的组件),它们的区别在于是否可以使用指示器编辑中生成物部分的施法预览。

<创建组件>锚点支持配置生命周期属性让创建的组件定时销毁,创建预览生成物则只能在生成预设上修改组件的定时销毁时间属性。

使用生成物相关蛋码

在技能预设中使用<创建组件><创建逻辑体>等基础创建积木或生成物相关积木,可以实现组件生成的效果。

使用蛋码可以编写更加灵活的创建逻辑,包括更丰富的组件类型、更自由的创建位置,并且可以使用蛋码实现随机创建效果。

生成物创建相关积木
  • <创建组件>
  • <以动画方式创建组件>
  • <创建组件组>
  • <创建生物>
  • <创建逻辑体>
  • <创建触发区域>
  • <创建特效>
  • <创建物品到坐标点>
  • <创建装饰物>
  • <创建道具箱>
  • <创建载具>

创建生成物相关积木必须配合【指示器编辑】中的生成物部分辅助使用。

指示器相关生成物创建积木
  • <创建技能生成物(物理组件)>
  • <创建技能生成物(逻辑体)>
  • <创建技能复数生成物(物理组件)>
  • <创建技能复数生成物(逻辑体)>

使用蛋码编写自定义技能

在技能预设界面点击右上角的【编辑蛋码】可以给技能添加蛋码逻辑。

技能预设可以使用各种技能相关的事件积木,它们附带了当前技能和技能拥有者参数。

你可以通过在技能不同阶段的事件下添加动作积木实现锚点无法实现的自定义技能效果。

锚点预设上也能够编写自定义技能逻辑,使用自定义锚点或将官方锚点转化为自定义后可以进入锚点预设,锚点触发器会显示为技能预设上的一个触发器组。

技能相关事件积木
类型事件积木描述
获得/失去事件技能被获得技能添加到角色、初始化时触发
技能失去技能从角色移除或覆盖时触发
施法阶段事件技能即将施法技能蓄力结束,施法阶段开始前触发,可以阻止施法
技能施法阶段开始进入施法阶段
技能施法阶段结束施法阶段完成
技能施法阶段被打断施法被中断
蓄力相关事件技能蓄力阶段开始进入蓄力阶段
技能蓄力阶段结束蓄力阶段完成触发,蓄力时间未满也可以触发
技能蓄力阶段被打断蓄力技能被主动取消/失控/施法被打断触发
冷却/充能事件技能冷却完成技能冷却结束触发
技能充能完成单次充能结束触发
升级/降级事件技能升级技能等级提升
技能降级技能等级降低
子技能切换事件技能被切换前子技能被切换前
技能切换后子技能被切换为当前技能后
锚点事件(锚点预设使用)当前锚点开始当前技能的锚点阶段开始,被打断不会触发
当前锚点结束当前技能的锚点阶段结束,被打断不会触发
当前锚点被打断当前锚点阶段被中断时触发,仅持续锚点生效
当前锚点停止当前锚点阶段停止时触发,仅持续锚点生效

非指向型技能

非指向型技能指释放时不需要锁定某个具体单位的技能,通常在某个方向或范围内释放,可以对范围内的多个单位生效。

形状范围获取目标

利用形状直接获得范围内单位,可以帮助在蛋码中编写非指向型技能效果。

形状与触发区域的区别

差异点创建形状创建触发区域
本质纯数学模型,临时计算的几何范围游戏世界中的实体单位,有物理和碰撞体积
创建方式即时生成,传入中心点和尺寸参数从指定预设创建
生命周期临时对象,用完即弃持久存在,触发销毁前始终在场景中
事件相关无事件,仅用于查询范围内单位有进入/离开事件,可触发预设上的逻辑
使用场景一次性范围查询(获取某区域内的角色/组件等)持续检测区域内的单位进出

使用创建形状积木,通过调整以下参数可以创建一个形状范围,转化为变量即可在取值积木<获取范围内角色\生物\组件\物品>中引用,可选择添加筛选目标预设参数根据阵营关系筛选单位。

具有相同功能的取值积木

以下取值积木也可以直接用于动作积木中获取范围内单位,但是没有筛选目标参数。

  • <获取矩形区域内角色\生物\组件\物品>

  • <获取球形区域内角色\生物\组件\物品>

  • <获取扇形区域内角色\生物\组件\物品>

  • <获取环形形区域内角色\生物\组件\物品>

  • <获取圆柱区域内角色\生物\组件\物品>

形状名称参数描述
矩形中心点(矩形中心位置)、长(X轴方向长度)、宽(Y轴方向宽度)、高(Z轴方向高度)
球形中心点(球心位置)、半径(球的半径)
圆环中心点(圆环中心位置)、内径(圆环内圈半径)、外径(圆环外圈半径)、高(圆环高度)
扇形中心点(扇形顶点位置)、角度朝向(扇形中轴方向,弧度制)、广角(扇形展开角度,弧度制)、半径(扇形半径)、高(扇形高度)
圆柱中心点(底面圆心位置)、半径(圆柱底面半径)、高(圆柱高度)

由于范围内可能存在复数单位,因此获得的数据将会是一个列表,可以搭配<遍历列表>对复数单位依次执行技能效果。

指示器获取目标

指示器同样能够用于获取范围内的目标,如果你的技能配备了指示器,可以尝试使用<获取技能指示器目标选择类型的角色/生物列表>来获得技能生效对象。

射线检测

射线检测适合制作物理性质明显的技能,它将发起一条能被物理障碍阻挡的检测线判断技能是否能够命中目标。

<获取射线检测内首个角色/生物/组件/触发区域>能够获取两点连线间的第一个单位作为技能生效对象。

<获取射线检测内多个角色/生物/组件/触发区域>能够获取两点连线上的所有单位作为技能生效对象。

指向型技能

指向型技能指施放时需要指定某个具体目标才能生效的技能,通常用于锁定施法。

获取指示器锁定目标

当技能指示器目标选择类型为指定目标时,可以使用<获取技能锁定的组件/角色/生物>来获得技能生效对象。

获取血量最低角色

通用的获取指定属性最高\最低单位的方法,仅作为参考

  1. 通过指示器\形状\地图上所有角色确定筛选范围,得到一个角色列表;
  2. 遍历角色列表,设置一个局部定点数变量作为对比对象,获取被遍历到的角色的健康值,判断被遍历到的角色的健康值是否小于局部变量的值;
  3. 设置一个角色变量,如果被遍历到的角色血量小于局部变量的值,则将该角色赋给变量;
  4. 遍历结束后输出的这个角色变量就是血量最低的角色,将这个变量填入技能执行的蛋码中,技能就会以该角色为目标释放。

获取距离最近的角色

使用<从角色生物列表/组件列表中获取距离指定单位最近的角色生物/组件>积木可以直接获得距离施法者(或任意对象)最近的角色/生物/组件。

获取阵营所有角色

使用遍历可以对多个目标执行技能效果。

  1. 阵营是玩家属性,首先使用<获取阵营中玩家列表>得到一个玩家列表;
  2. 遍历玩家列表,使用<获取玩家控制的角色>获得被遍历到的玩家控制的角色蛋仔;
  3. 设置技能在获得的角色蛋仔上生效。

获取指定角色

使用标签对指定角色进行标记,示例仅作为参考

  1. 目标进入触发区域时,通过<添加标签>给指定角色添加标签;
  2. 释放指向型技能时,遍历当前地图中所有角色,判断遍历到的角色是否拥有之前添加的标签;
  3. 对判断携带标签的角色执行技能效果,执行后移除标签。

制作技能时,如果找不到合适的锚点,可以多多尝试使用蛋码来编写自制技能~

枪械子弹技能

使用技能编辑器制作枪械类技能有多种方式。

特效子弹

特效子弹将根据技能的指示器目标筛选子弹的命中类型,通常使用射线检测进行命中判定。

特效子弹没有真实的弹道,实际上由是否能够(在直线上)命中目标的判断以及特效表现构成,能否命中在开枪时就完成计算。

在技能编辑器的施法阶段轨道编辑中使用<发射特效子弹>锚点能够在技能中使用特效子弹。

特效子弹属性描述
水平速度特效飞行速度
枪械伤害命中时造成的基础伤害值
伤害衰减距离子弹伤害超过此距离开始衰减
伤害衰减系数每超单位距离减少的伤害
开火特效角色使用枪械技能时身上的开火特效
击中特效被击中角色身上出现的特效

以上参数支持使用蛋码动态修改。

子弹表现测试

建议选择开启了健康值和血条的生物,或开启了可破坏开关的组件作为技能测试的靶子。

组件的表现页中可以开启<开启枪械瞄准表现>和<枪械锁定>加强射击体验,被击中的组件需要开启受外力作用开关。

简易子弹

简易子弹技能能够创建出相对运动组件子弹来说性能效果更佳的子弹组件,相较纯表现层特效子弹拥有真实的子弹表现。

简易子弹目前都需要通过蛋码进行创建,分为追踪子弹和贯穿子弹。追踪子弹可以击中指定目标,贯穿子弹可以连续击中多个目标。

简易直线子弹\简易抛物线子弹

  • 该类子弹仅存在直线或抛物线飞行的表现,没有击中判定
  • 可以通过<简易子弹到达目标点>来监听子弹的结束(到达目标点)
  • 创建简易子弹时,可以填入标签参数做为标记,用来在事件中进行筛选

简易追踪子弹

  • 该类子弹会持续跟踪目标,直到和目标的距离小于一定距离后,视为击中;如果目标提前被销毁,子弹将追踪到目标销毁前一刻的地点。
  • 参数可以填入自定义事件作为子弹追踪结束后的触发事件,并且支持该事件带参数。
  • 可以通过<简易子弹击中任意对象>来监听子弹的追踪结束。
  • 创建简易子弹时,可以填入标签参数做为标记,用于在事件中进行筛选。

简易贯穿子弹

  • 该类子弹会沿直线飞行,途中对所有符合的对象判定为击中。
  • 贯穿子弹需要指定一个触发区域作为判定击中的基础,会继承该触发区域的自定义碰撞层。
  • 参数可以填入自定义事件作为子弹判定击中后的触发事件,并且支持该事件带参数。
  • 可以通过<简易子弹击中任意对象>来监听子弹的判定击中。
  • 创建简易子弹时,可以填入标签参数做为标记,用来在事件中进行筛选。

简易子弹的销毁方法

贯穿子弹支持在<简易子弹击中任意对象>的事件中,调用特殊的动作积木来销毁当前子弹。

其他子弹不存在中途销毁的方法。