2024年5月21日更新日志【2024.06版本】
星火编辑器发布了新的编辑器版本:2024.06
星火编辑器开发组喜欢6这个数字,因此跳过了2024.05
除部分严重BUG修复会覆盖旧版本,以下新功能均在编辑器版本2024.06中生效
开发者可以在编辑器顶部菜单-编辑器版本中进行版本切换
货币型云变量 相关的重要更新(必看)
在过去,星火编辑器中的官方文档对于货币型云变量存在一些语焉不详的地方,例如:
-
按照文档描述,『修改货币型云变量』操作只能填入正数。但实际操作中用户可能会发现填写负数也依然会生效。但实际上这样的操作存在一个潜在的隐患,那就是若是在『修改云变量操作』中输入负数,其实是可以将货币型云变量的值扣到负数的。但由于文档中只强调了『消耗货币型云变量』操作不可以将货币型云变量扣成负数,用户可能会有一种错误的印象,认为货币型云变量永远也不可能变成负数。
-
如果拥有这种错误印象的用户在修改云变量操作中没有判断货币型云变量修改值的正负性,那么可能就会得到一个预期外的结果。
-
另外,星火编辑器的文档中提到『消耗货币型云变量』操作无法输入负数,在实际执行时,尝试对云变量提交对象添加负数的消耗货币型云变量的操作会直接引发报错并中断当前触发器。但这里也有一个潜在隐患:云变量提交对象提交时所处的触发器其实是可以与添加货币型云变量消耗所处的触发器不属于同一个触发器。此时,云变量提交其实可以正常进行,只是不会实际扣除任何货币型云变量。
-
因此,如果用户在扣除云变量操作中没有判断货币型云变量扣除值的正负性,那么同样可能就会得到一个预期外的结果。因为在几乎所有的的云变量提交出现错误步骤的场合下,都会导致整个云变量提交操作被回滚,但这里却 只会忽略单个扣除负数负数云变量值的操作。
-
此外,文档中提到”对货币型云变量的修改只能填写整数值”。但实际上用户若是填写了带小数的值,同样只会导致对应的单个的操作被忽略,不会导致整个提交失败并回滚。
尽管严格来说,如果用户完全依照文档描述来进行操作,以上的各种特殊情况都不会出现。但考虑到云变量相关操作的高度重要性,我们认为必须尽量清晰化可能导致用户误解的关键细节。
但另一方面,我们仍然认为“强制将货币型云变量修改到负值”存在其应用价值,比如,对于作弊或者利用了游戏漏洞的玩家,用户可能希望将他们的一些通过非正规途径获取的云变量货币回收,并扣成负值。因此我们并不打算彻底删除这一功能。
在2024.06版本中,货币型云变量相关的逻辑进行了以下改动:
-
加入了新的云变量提交错误代码:-200000,“云变量配置存在错误,无法进行提交。”
-
当出现该错误代码时,代表云变量提交的具体操作中存在配置错误,整个云变量提交将 完全不会进行 。
-
优化了原有的『添加云变量提交请求:修改货币型云变量』动作的名称和描述,现在该触发器动作将会在显眼位置告诉用户这个操作允许输入负数,并可能将对应的货币型云变量值扣成负数。
-
『添加云变量提交请求:修改货币型云变量』动作现在在输入非整数值时,会报告对应的错误,并且在对应的云变量提交对象进行提交操作时,强制使整个提交操作失败,并进入『提交失败时』的逻辑,报告-200000错误。
-
『云变量提交请求:消耗货币型云变量』动作现在在输入值非零且非正整数 时,会报告对应的错误,并且在对应的云变量提交对象进行提交操作时,强制使整个提交操作失败,并进入『提交失败时』的逻辑,报告-200000错误。
-
新增了『云变量提交请求:增加货币型云变量』动作,该动作与修改操作类似,但严格限制输入值不能为负数。该动作在输入值非零且非正整数时,会报告对应的错误,并且在对应的云变量提交对象进行提交操作时,强制使整个提交操作失败,并进入『提交失败时』的逻辑,报告-200000错误。
简而言之,总结一下现在的货币型云变量:
-
同一次云变量提交操作中,不会再出现部分操作被忽略,但其它操作被成功提交的非预期结果。任何步骤失败都会导致云变量提交操作失败并回滚。
-
修改操作:必须为整数,允许负数,允许结果为负数。否则会使整个提交失败。
-
添加和消耗操作:必须为零或正整数,结果不可为负数。否则会使整个提交失败。
-
相应地,我们也在服务端和客户端触发器中增加了『是否是整数』的判断函数,可以判断输入值是否为整数,方便用户在将云变量货币修改值传入前手动对数值的整数性质进行判断。
表现与技能的场景相关修复
2024.06版本针对此前多场景环境下的技能与表现问题进行了一次大规模的重构。
这一版本应该能比较好地解决此前一系列的多场景游戏中,表现、单位和技能特效被创建到了错 误场景中的问题。
我们建议目前仍受到此类问题困扰的用户尽快升级到2024.06版本。
相应的,由于本次场景相关的表现改动较多,我们也希望用户能在遇到新的问题时踊跃反馈。
未正确播放动画警告相关修复
2024.04版本更新了捏人动画资源重定向引用的警告,但是此功能实际投入使用时,遇到了非预期的问题:非捏人模型播放捏人动画也会出现『未正确播放动画』警告,这会在一定程度上困扰用户。
2024.06版本中,我们优化了相关提示,区分了非捏人模型播放捏人动画和捏人模型配置错误这两种状态。
注意:从2024.06版本开始,配置错误的动画在编辑器中将不会播放,与移动端的表现一致。
同时我们也在文档中的『编辑器常见问题』里更具体的描述了对应的解决方案。
血条编辑器
我们对血条编辑器进行了一系列的优化。
-
拖动功能可以正常使用了。
-
复制默认模板后,粘贴的结果不会被视为默认模板而无法编辑部分属性了。
-
血条中增加了刻度组件,我们会提供一份使用文档方便开发者理解相关参数。
-
修复了偶现的无法选择图片的问题和闪退问题。
接下来我们还会再对血条编辑器进行一些优化,短期内大家在使用血条编辑器时,需要注意文档中特别提示的相关信息。
技能被动持续表现及一些其它的技能表现优化
在过去,技能节点下所挂接的表现都只能设置为技能在不同施法阶段时所对应的表现。对于一些希望在技能存在期间持续显示的表现,数据编辑器并没有提供很方便的支持。例如,对于光环类型的技能,我们过去通常需要给单位添加一个Buff才能挂接光环特效。因为光环技能是被动技能,在技能存在期间全程生效,并没有施法阶段。
在2024.06版本中,技能节点下所挂接的所有表现节点都会显示一个额外的『被动持续』勾选项。一旦勾选,代表该表现在技能存在期间全程显示,而不仅仅是施法期间,适合制作被动技能的表现。对于开关类型技能,该表现仅会在技能打开时显示。
我们修改了默认技能样例中的一系列光环技能,以展示这一给技能挂接表现的全新用法。
除此之外,我们还扩展了技能节点所挂接的表现节点的应用范畴,现在开关类型技能、建造类型技能以及变身类型技能这三种特殊技能节点也可以支持施法阶段表现和被动持续表现了。(在过去,这三种技能无法配 置施法表现)
客户端游戏开始事件和场景加载事件
2024.06版本针对客户端的两个存在历史性问题的事件进行了改动和修正。
客户端游戏开始事件现在触发器中更名为『游戏-连入』事件,以正确描述其作用。该事件依然会在当前客户端每次连入时引发,其描述文字也会变得更加精确。此外,该事件不会再在每次跳转场景时引发。
此外,默认场景的加载事件不会再在游戏开始时引发两次。其描述文字也变得更为精确。
客户端的『游戏-阶段切换』事件被隐藏,客户端并不存在阶段切换事件。
模型动画打点信息
客户端触发器中增加了新的触发器函数:『获取单位模型路径』和『获取模型动画打点信息』。
『获取单位模型路径』可以获取指定单位当前所使用的模型的素材路径,而『获取模型动画打点信息』则可以在给定模型路径和动画名的前提下,获取对应动画内置的技能打点信息。
在数据编辑器中,这些数据通常被用来设置技能的默认四阶段时长。
现在,用户可以在客户端直接获取对应动画的这些信息,方便用户针对动画信息进行一系列处理和自定义。
技能动画打点信息中包含了 动画的路径、长度、以及预设的四阶段动画时长。
预烘焙场景阴影的光照变化
为了优化在预先计算阴影的游戏场景中动态改变光照时产生的静态阴影和光照角度冲突造成的视觉问题,今后当与计算阴影功能开启时,通过客户端切换光照组动作动态改变光照组氛围将只会改变平行光的光照强度,不会再改变光照角度。
用户也可以在数据编辑器的地图设置分类中关闭『预计算场景阴影』来去除预烘焙的静态阴影,在不使用静态阴影的前提下,光照氛围将可以在运行时动态改变角度。
预计算的静态阴影对游戏场景的渲染是一种优化,我们推荐不需要动态改变平行光角度的用户总是使用预计算的场景阴影。
物品额外属性遍历优化
我们修改了遍历物品额外属性的触发器动作,使得它可以正确地判断每个额外属性的子属性类型。在过去,遍历物品额外属性动作只可以判断基础值和百分比值两种子属性类型。
我们强烈建议用户使用了『遍历物品额外属性』动作的项目在升级到2024.06版本后手动查看一下使用了该动作的对应触发器,确保遍历逻辑中用到了子属性类型枚举的触发器条目不会显示红色感叹号,若有,用户需要重新选择一下对应的子属性类型。
数据编辑器
数据编辑器中的跳字配置支持预览了,这一功能可以更高效的帮助开发者做出自定义的跳字效果。
调整了数据编辑器-常量配置中的文字颜色,现在信息可以更清晰的呈现了。
多人协作的额外提示
在2024.06版本中,新建项目的文件夹根目录下会出现一个『使用git开发前请看我.txt』,其中将会简略地描述使用git进行多人协作开发时的一些注意事项。
此外,我们更新了.gitignore文件,用git上传项目时不会将多余的触发器生成文件一并上传。
触发编辑器
现在对带限制的云变量进行查询时,若带限制的云变量为空,将会正确走进查询失败分支并报告『查询结果为空』,与其它类型的云变量保持一致。
今后尝试使用触发器在未经加载的场景中创建单位时,将会创建失败,并显示一个警告信息,告诉用户场景未被加载,而非创建到默认场景的左下角。在过去,许多用户的默认场景左下角出现不该出现的单位正是由于这一机制导致的。
在过去的版本中,开发者会经常出现 触发器命名冲突导致的无法响应触发器或事件的问题。对此,2024.06版本对触发器和事件的名称做出了一些限制,以下名称均无法使用:
-
Scene、Array、Unit、Player、Timer、Trigger、Item等预留名称
-
现有触发器和服务端/客户端现有事件的名称
我们向客户端和服务端的触发器添加了一批面向过程的字符串相关api,同时隐藏了原来面向对象的api,在触发器中搜索『字符串』即可找到。建议所有用户将面向对象的方法改成新的面向过程方法。
单位添加了【是否拥有标记】和【获取标记计数】的api,可以方便判断单位所处的状态。
数组的面向对象方法中添加了【克隆】的api,可以用该语句创建当前数组的拷贝。
客户端触发器添加了【获取所有子控件】的api,可以获取一个UI下所有子控件并对它们进行操作。
新增在游戏局内获取匹配队列玩家临时队伍和玩家信息的API,预计07版本可以将相关触发语句供开发者使用。
创作者中心
发布为符剑MOD的游戏,现在会在图标上自动打上符剑的角标了。
粒子编辑器
粒子编辑器支持了常用的快捷键
复制:Ctrl+C
黏贴:Ctrl+V
撤退:Ctrl+Z
保存:Ctrl+S