Skip to content
V0.42.0.0 Release Note

V0.42.0.0 Release Note

一、编辑器交互及发版策略

[新增]编译所有场景功能

  • 此前编译仅针对当前场景,0.42起新增编译所有场景功能,需要在设置菜单中关闭自动编译才允许使用编译所有场景。
    • 编译失败触发的弹窗会汇总所有场景的报错信息,为了防止报错内容过多,报错窗口仅展示当前场景的废弃警告信息。

imgimg

二、UI 编辑器新增功能及 API 更新

[新增]输入框支持切换安卓端键盘回车模式

  • 此前输入框控件的newLineKeyBind接口仅支持切换PC端键盘的回车是用于提交文本还是换行;在0.42版本上,该接口也会支持安卓端的键盘回车模式,便于调整手机键盘上的回车是用来换行/提交文本,并且会修改对应的回车键样式为【发送】/【回车符号】
回车换行 AllNewLine回车提交 AllCommit
不使用悬浮键盘表现imgimg
悬浮键盘表现imgimg
  • newLineKeyBind接口使用示例:
TypeScript
let DesInputBox = this.uiWidgetBase.findChildByPath('RootCanvas/DesInputBox') as InputBox;
DesInputBox.newLineKeyBind = InsertNewLineType.AllCommit;
DesInputBox.newLineKeyBind = InsertNewLineType.AllNewLine;
let DesInputBox = this.uiWidgetBase.findChildByPath('RootCanvas/DesInputBox') as InputBox;
DesInputBox.newLineKeyBind = InsertNewLineType.AllCommit;
DesInputBox.newLineKeyBind = InsertNewLineType.AllNewLine;

TIP

本次也优化了ios端输入框拉起键盘的效果,但newLineKeyBind接口不会对ios端键盘回车模式产生影响,ios端键盘的回车固定用于换行,玩家可以在键盘右上角提交文本。

后续计划:0.42版本上输入框控件的newLineKeyBind默认值为回车换行,但是考虑到实际情况中大多数输入框不需要换行,在0.43版本上会将默认值改为回车提交,如果个别输入框需要使用回车换行,请使用newLineKeyBind接口自行选择回车模式。

[新增]UIService类新增异步创建接口

  • 为了防止同时创建过多UI界面导致卡顿,新增以下异步接口:

<UIService>类新增方法

说明接口返回类型输入说明输入值范围输出说明输出值范围使用域
异步创建一个界面,失败返回空asyncCreate<T extends mw.UIScript>(PanelClass: {new (): T;}): Promise<T>;Promise<T>PanelClass:界面的类-返回创建的UI行为脚本-仅客户端
异步显示一个界面,会把界面添加到界面上,从原有父节点移除,失败返回空asyncShow<T extends mw.UIScript>(PanelClass: {new (): T;}, ...params: any[]): Promise<T>;Promise<T>PanelClass:界面的类,如果类没有UI绑定,会创建一个默认的空UI-返回显示的界面-仅客户端

[新增]滚动框新增中断操作接口

  • 为了实现玩家控制滚动框类控件时,能强制停止滚动框滚动,提供以下接口:

<ScrollBox/Listview/Treeview/Tileview>类新增方法

说明接口返回类型输入说明输入值范围输出说明输出值范围使用域
控制滚动是否受Touch事件影响滚动setTouchCanControlThisScroll(bCanControl: boolean): void;void是否允许玩家操作滚动框---仅客户端
获取到控制滚动是否受Touch事件影响滚动getTouchCanControlThisScroll(): boolean;boolean--获取是否允许玩家操作滚动框-仅客户端

[新增]文本按钮补充自适应文本框等属性

  • 文本按钮控件新增自适应文本框、最大字体大小、最小字体大小、水平显示、行距系数、富文本属性,已暴露到属性面板和TS,各属性功能与文本控件相同。

三、编辑器新增功能及 API 更新

[优化]动态寻路性能优化

开启动态寻路之后,游戏会每帧计算寻路,消耗了大量的计算。

新增了八叉树更新频率,即计算寻路的帧间隔,取值范围1-60,默认20。

img

[优化]寻路API优化以及Navlink的寻路API支持

  1. 寻路API新增error和warning提示
    1. 当代理在寻路区域外调用接口时
      • Error:The Navigation Agent is not inside of any valid Navigation Area.
    2. 当接口设置代理的目标点在寻路区域外时
      • Error:The Navigation destination is not inside of any valid NavigatioArea.
    3. 当代理在寻路区域外调用停止接口时
      • Warning:The Navigation has been stopped. The Navigation Agent is not inside of any valid Navigation Area.
  2. follow接口支持跨越Navlink

img

[优化]资源导入功能优化

  • 提供继续导入功能
    • 资源导入预览配置界面右上角位置新增“继续导入”功能,点击后可以继续选择新的资源至预览配置界面中。
      • 在导入配置链路中为减少对用户的配置产生影响,未做资源去重,将于导入完成时统一进行。
imgimg
功能入口继续导入
  • 支持“音频”导入进编辑器时自动生成波形图icon

img

  • 音频资源增加每个账号每月最多支持上传100份的限制。
    • 导入至本地无限制。

四、游戏功能对象新增功能及 API 更新

[优化]粒子发射器优化

  1. 发射器形状 + 发射器形状在编辑器下高亮显示
imgimgimgimg
球形Sphere圆柱Cylinder方形Box圆盘Disc
  1. 内外发射(仅在圆柱和球形发射器下)
imgimgimgimg
向外发射向内发射内外发射
  1. 局部空间
imgimg
局部空间关闭局部空间开启
  1. 新增发射固定数量粒子接口
TypeScript
let particleEmitter = GameObject.findGameObjectById('27EF47EC') as ParticleEmitter;

InputUtil.onKeyDown(Keys.One, () => {
    particleEmitter.emit(1);
});
let particleEmitter = GameObject.findGameObjectById('27EF47EC') as ParticleEmitter;

InputUtil.onKeyDown(Keys.One, () => {
    particleEmitter.emit(1);
});
  1. 粒子发射取向,可选择面向摄像机或与发射速度平行。
imgimg
面朝相机发射速度平行
  1. 新增亮度渐变

在新版本上,可以设置多个亮度值节点。从而实现粒子在生命周期中亮度变化的效果。

imgimg
  1. 裁剪策略调整,当所有粒子不在摄像机视椎内,则会被裁剪。(之前是发射器不在视椎内粒子就会被裁减)

img

  1. 粒子的序列帧动画

可以将序列帧图片拆分为多张图,然后顺序或者来回播放指定数量的图片单元,并且能修改播放速度

imgimgimg

目前粒子发射器中的贴图资源只能选择场景贴图,在上传粒子发射器使用的贴图时请选择类型为“场景贴图”

[新增]粒子发射器的可视化UI - 颜色调节

调节粒子发射器在生命周期中的颜色变化新增可视化UI,便于大家实现粒子生命周期颜色渐变。

img

打开渐变设置面板:

若粒子发射器没有设置渐变

  1. 第一次设置需要点击颜色条右侧按钮,打开颜色渐变调整面板
  2. 后续设置只需点击条带区域,即可打开颜色渐变调整面板。

img

  • 颜色渐变面板操作指南:

    • 鼠标在颜色显示区域移动时,会有垂直虚线跟随,此时点击,则会在对应位置生成关键帧。

    • 关键帧插值可通过点击选择,选中关键帧之后:

      • 关键帧下方方格显示该位置的颜色。
      • 可以更改关键帧的颜色。
      • 可以左右拖动该帧,时间、颜色会随着拖动改变。
      • 除了左右两端的关键帧,都可以删除帧。
    • 点击保存即可自动关闭面板。

    imgimg

五、材质、效果更新

[新增]多通道材质槽位

  • 对象材质属性中新增多通道材质,支持创作者在同个模型材质上添加多层材质。
  • 使用指南:
    • 可以通过添加“半透材质”或者“mask遮罩材质”至多通道材质槽位的方式,实现诸如闪点、耀斑的效果。
imgimg
功能入口编辑器内表现
  • 注意:资源制作不合规将会产生额外的渲染开支的情况:
imgimg
主要材质为“半透材质”时多通道材质为“非半透材质”时
  • 运用多通道材质+闪点材质 或 其他动态材质 制作的效果示例:
imgimgimg
紫水晶猩红巨剑特效武器