跳到主要内容

2023年12月13日星火编辑器更新日志

编辑器支持多版本切换

在过去常有两类情况:

  1. 编辑器线上更新时,运行中的游戏受到引擎更新的影响,导致玩家体验受损。
  2. 各个版本的编辑器在更新过程中,某些功能出现预期外的问题

为了解决以上问题,我们花费了较大的工作量支持了编辑器的多版本切换功能:

  1. 开发者可以在菜单栏最右侧看到「编辑器版本」,并进行切换。
  2. 每个游戏也可以选择自己使用的「编辑器版本」,游戏的「编辑器版本」也影响你引用的官方制作的预制功能、触发语句、TS/Lua API的逻辑和表现。
  3. 当我们推出新的「编辑器版本」时,使用旧的「编辑器版本」的游戏理论上不会受到影响。

因此我们鼓励大家在时机合适时升级到最新的「编辑器版本」。 但必须提醒的是,升级「编辑器版本」后,因为多了一些不兼容的改动,你的项目很有可能要跟着有些改动(实际上可能和之前的更新一样,只是对应的更新不再『强制』)。 另外切换「编辑器版本」不总是可逆的,因此建议在切换前做好项目的备份。

当然,从以上描述你就可以想象出这是一个复杂的工程,所以我们可能还需要一段时间来与各位开发者一起解决预期外的问题,出于谨慎考虑,前两个「编辑器版本」(即2023.12和2023.11)的区别不那么大,只有以下几条改动:

  • 旧版本(2023.11)及更早版本的的UI底层,如果设置了ratio,就会把宽高设置成0,新版本(2023.12)去掉了这个设定- 新版本下,界面编辑器自适应时不优先适应背景图片大小
  • 以前有许多预制功能里引用了设置,这是不合理的。新版本去掉了这些引用,只在新建项目的模板里引用了
  • 旧版本及更早版本里,单位上和模型节点上都可以配「动画别名」,新版本里只允许在模型节点上进行此配置。

另外,切换编辑器版本会一定程度增加编辑器占硬盘的空间。你可以定期(比如每月)执行一下『工具菜单 → 清理不使用的预制功能缓存』(清理之后,当你使用的编辑器版本需要较早的预制功能版本时,依然会自动下载)

无限蓄力技能机制

星火编辑器现在支持无限蓄力技能。在技能节点上增加了一个无限蓄力的标旗。勾选后,技能的蓄力阶段【阶段二】时长将是可变的。 与此同时,无目标技能指示器向量技能指示器增加了无限蓄力模式字段。该字段有2个选项。

  • 抬起
  • 再次点击

除了无目标技能指示器和向量技能指示器外,其它技能的指示器都只能使用再次点击模式来结束无限蓄力。 此外,技能节点上还有一个最大蓄力时间的字段。该字段值默认为-1,即无限长。若将该值改为一个正数,则当玩家的蓄力时间超过该值时,蓄力会自动结束并开始发动技能。

在技能的效果节点中,用户可以在公式和验证器中通过【效果节点.公共数据.施法实例】来引发效果节点的施法实例,并通过【施法实例.实际蓄力时间】来获得当前施法实例实际造成的蓄力时间。并通过实际蓄力时间来构造伤害公式或者执行不同的逻辑。 今后我们还会对无限蓄力技能进行进一步的优化。

技能效果树单位属性快照

在九月的更新中,我们在技能节点上增加了一个新的数组字段:效果树单位属性快照。在此处被填写的单位属性会在技能效果开始执行时(引导开始阶段)被获取并记录到技能的效果树中,并在整个效果树的生命周期中保持不变。在buff、持续性效果和发射投射物效果执行时,会优先读取效果树共享信息里的属性快照值来决定效果节点的加速属性。 现在,我们将读取这些属性的函数暴露到了触发器中(“效果节点的效果树单位属性快照”),使用户可以在技能公式中自由地选择读取这些被快照的单位属性值。读取快照属性而非单位属性有一些额外的好处,比如,对于一个持续很久的技能效果而言,即使施法者被删除,效果树属性快照也能读出技能发动瞬间所储存的属性快照值。

我们注意到许多用户在技能公式中读取单位属性时没有合理地判断施法者是否还存在,以至于出现对一个不存在的单位获取属性的问题,这类错误在当前运行的线上游戏中占据了很大比重。我们更建议使用单位属性快照来避免此类问题。 需要注意的是,被快照的单位属性在单位效果树执行后不会再发生改变,因此对于即时根据当前施法者单位属性而变化的技能公式而言,依然需要使用读取单位属性的方案。 此外,若被查询的属性没有在技能节点上被填入快照数组中,效果节点的效果树单位属性快照函数依然会尝试读取施法者的属性值,此时,若施法者不存在,则会返回0

UI粒子控件的优化

我们优化了UI粒子控件,增加了它的易用性。现在该控件拥有一个百分比偏移的字段,可以分别设置粒子效果相当于控件左上角位置的XY轴偏移。设置为(0.5, 0.5)可将粒子效果居中显示在控件中。

此外,我们增加了x y轴的缩放字段,使用户能手动拉伸粒子效果的xy轴偏移,这对能创造类似能覆盖任意长宽的矩形的粒子效果很有帮助。 此外,粒子控件增加了自动缩放开关。自动缩放打开时,粒子的xy轴缩放会分别额外乘以控件自身的xy轴尺寸因子。反之,粒子将保持绝对缩放,仅受到xy轴缩放字段的影响。

界面编辑器会自动按需压缩图片尺寸

我们之前发现有些作者界面编辑器选择图片时用了过大的尺寸,但实际显示尺寸比较小。针对此种情况进行了处理,发布后的图片会根据实际显示大小进行压缩。 这并不意味着开发者可以不注意自己图片资源的尺寸,我们的压缩方案只是一个兜底的方案,自己进行合适的压缩才能更好的减少游戏占用的内存

顺序间隔执行效果节点

数据编辑器中增加了顺序间隔执行效果节点。该节点的界面与周期性节点类似,并有与周期性节点类型类型的作用。但不同于周期性节点有一个每周期执行的效果设置,顺序间隔执行节点需要配置一个顺序间隔执行的子效果数组。 当顺序间隔效果节点执行时,每经过一个周期,它就会执行子效果列表中的下一个效果。直到列表中的所有效果都被执行完毕。 与周期性节点相同,顺序间隔执行节点也拥有初始效果、结束效果、完成效果。周期间隔可设置为公式,也可以设置其下挂接的表现节点的自动缩放倍率。 同样的,顺序间隔节点也拥有与周期性类似的选项,如周期倍率属性、是否需要引导、是否强制延长引导、是否遵循技能加速、起始效果是否有延迟等等。 在顺序间隔效果节点下挂接的持续性表现将继承该节点的总持续时间。

自定义单位状态

星火编辑器现在可以添加额外的自定义单位状态。用户可以通过Buff或者触发器像添加内置状态(如魔免/无敌等等)一样添加给任意单位添加或者删除自定义的单位状态。 使用单位过滤也可以像普通的单位状态一样对目标单位进行过滤。客户端也可以获得单位身上的自定义单位状态。 自定义单位状态本身没有特殊的内置逻辑,它和自定义单位过滤的区别是自定义单位过滤是在每个单位类型上固定的,但自定义单位状态却可以针对特定的单位进行动态附加或移除。 需要注意的是,自定义单位状态存在内部的计数。同一个自定义单位状态若被添加了2次,则也需要移除2次才能完全清除。 Buff的状态免疫机制对自定义状态也有效果。

无目标技能和向量技能的接近目标施法方式

无目标技能和向量技能增加了新的技能标旗:总是接近目标施法

  1. 勾选后,即使是无目标技能也将可以设置施法范围。
  2. 勾选后,在任何智能搜索目标的场合(AI搜敌、智能施法、自动施法),施法者会向着被找到的目标靠近,直到进入施法范围后才会进行施法。反之,则会原地施法(对于向量目标技能,仍会朝向该目标施法)。
  3. 向量目标模版中,该标旗默认为勾选状态,无目标技能中,该标旗默认为非勾选状态。
  4. 在智能施法场合下,即使勾选了该标旗,如果周围没有符合智能施法条件的目标,单位仍然会尝试原地施法。

技能冷却位置

我们收到了一些关于物品主动技能的冷却的反馈,希望物品的冷却时间不会随着丢弃和重新拾取而重置。为了解决此类问题我们在技能的消耗字段中增加了冷却位置的选项。该选项拥有三个可选值:

  1. 技能
  2. 单位
  3. 物品

当冷却位置选择单位时,相当于这个单位上其它选择了单位冷却位置且冷却组Id相同的技能将会共享冷却(如果没有自定义冷却组Id,则视为冷却组Id为技能Id,相当于同Id的技能在同一个单位上会共享冷却)。 当冷却位置选择物品时,相当于这个技能的冷却时间会记录在引发技能的物品上。单位丢弃并拾取物品不会重置物品技能的冷却。若技能本身不是物品引发的,则视为选择了单位选项,冷却会保存在施法者身上。

响应冷却位置

我们收到了一些关于响应冷却的反馈,希望如重生等技能的响应冷却时间可以直接显示在技能上。为此,我们也为响应添加了“响应冷却位置”字段。 响应冷却位置可以选择响应、技能、物品、单位四种选项。

  1. 选择响应时,代表使用现有的默认逻辑。
  2. 选择技能时,取决于响应节点是否是由某个技能所添加的:
  3. 选择单位时,将冷却将保存在响应所附属的单位上,和上面的技能冷却位置功能一样,可以指定自定义的冷却组。
  4. 选择物品时,冷却将保存在创建了冷却节点的物品上。如果不存在物品,则依然在响应上保存冷却。

镜头相关API的优化

现在在客户端触发器中,允许通过镜头类型构造多个非活动的镜头对象。非活动的镜头对象与普通镜头对象有着相同的操作。但每个非活动镜头都可以通过设置为活动镜头方法来将自己设置为当前玩家的主镜头。 镜头对象可以通过指定一个数编镜头Id来构建。也可以通过获取活动镜头来获取当前玩家的主镜头对象。用户可以通过镜头对象来获得和设置镜头的各种属性,不论是活动镜头的当前属性还是非活动镜头的属性。

多段连招技能可分别配置打断

现在,当技能勾选了多段连招技能配置时,每段技能都可以单独设置四阶段可否被打断。 为了维持与旧有系统的兼容性,当多段施法技能设置被勾选时,原有的管理整个技能的四个阶段可否被打断的标旗依然会存在并生效,除此之外,将在多段配置中额外增加对应每一段技能的打断配置。 内层每段技能的打断配置标旗默认全部为勾选状态。内层选项与外层选项将是的关系。每个技能阶段都需要内层和外层都勾选为可被打断才能被打断。

创作者中心

对云变量回滚记录中的云变量正文进行了截断,减少每次请求的数据量,避免某些游戏由于数据过大而影响到创作者中心的其他功能。

预制功能

对话

使用『开始对话』的触发语句可以同时显示多个不同单位的单位头顶对话。显示在ui界面的对话和显示在单位头顶的对话无法同时显示。对话列表、对话随机选一、对话选择的根节点上新增配置项『显示模式』,默认为空,为空时按照子节点的显示模式显示。

局外资源

凭证类型支持自然日时间,勾选自然日时间后,获得未激活的凭证,会从当天0点开始计时,获得已获得的凭证会直接累加,因此必须保证填写的时间(秒)是86400的整数倍。

N选1

在N选1中,如果可用的选项少于指定的选项,将减少最终展示的选项数,例如默认有3个选项,此时只能从池中拿出两个,会显示为两个。 如果对应奖励的权重小于或等于0,将不再能作为选项出现。

数据编辑器

  • 圆内随机点节点的半径和个数都支持公式了。
  • 现在自动施法的机制不再需要依赖于勾选智能施法了。
  • 现在,矩形搜索效果下挂接的自动缩放表现将能随着搜索效果的长宽而分别在两个维度上缩放。
  • 在游戏机制设置中,现在可以设置单位字符串属性的同步方式了。
  • 我们优化了指向性技能指示器,现在指向性技能指示器可以允许选择施法者自己了。
  • 修改单位所属玩家的效果节点现在会通知客户端额外的技能信息了。用户将可以正确地将心灵控制过来的单位的技能显示在UI上。

更多文档

增加了一些相对比较复杂的高阶案例,这些案例在你产生了『需求』时才会真的有用,如果暂时看不懂也不需要勉强。

错误修复

  • 修复了物品在去除显示品质/名称/加成等选项后依然会在默认提示信息面板显示对应项目的问题。
  • 修复了自定义对话节点没有正确更新到外网测试版编辑器的问题。
  • 修复了建造技能存在的网格偏移问题。
  • 修复了在触发器中添加带默认匿名函数的可选参数时,匿名函数出现了2次的问题。
  • 修复了触发器调试功能失效的问题。修复了拖尾刀光第二次无法保存的问题。
  • 修复了随进随出模式在某些特定情况下可以创建多个活动房间的问题。
  • 修复了切换场景时迷雾视野不正确的问题。修复了充能技能CD无效的问题。