Changelog
[2.3.23] 2024 年 07 月 23 日
优化与修复
ActorViewer
改为单例类;通过修改相机位置及最大可视距离裁切场景内 actor- 更新引擎至
1.5.3
,去除 rotateCamera 的初始化完之后的 attachControl,修复初始滑屏事件影响RotateCamera
的问题
[2.3.22] 2024 年 07 月 05 日
新功能
IBR
路线下,PC 端操作支持WASD
键盘和鼠标滑屏同时输入
优化与修复
ActorViewer
观察模型时隐藏摇杆
[2.3.21] 2024 年 06 月 14 日
新功能
- 日志模块
Reporter
类新增Request
公共方法,可直接发起上报请求
优化与修复
decoder
模块完全解除对像素数据的依赖
[2.3.20] 重要更新 2024 年 05 月 20 日
重要更新
- SDK 关闭硬解模式入口:
- 解码方式默认为软解模式,普通业务入口不再支持硬解模式以及使用分辨率为
1080P
的背景流 playground
继续支持对1080p
背景流的预览
- 解码方式默认为软解模式,普通业务入口不再支持硬解模式以及使用分辨率为
新功能
actor预创建
功能,setPreCreateClasses
接口新增version
参数用于配置文件的版本管理:version
:该字段会被作为唯一标识拼接到配置 URL 中
- 日志模块
Reporter
类新增setReportInterval
和setReportNumPerRequest
接口支持轮询上报和设置单次请求上报的数目
优化与修复
clickWithJoystick
行进模式下,推摇杆的过程中屏蔽点击行进
[2.3.19] 2024 年 05 月 11 日
优化与修复
- 修复 540p 增强被 meta 帧给打断的问题,避免静止下面画面增强到一半就放弃增强。
- Xmit 新增浏览器状态上报
[2.3.18] 2024 年 04 月 19 日
新功能
- 支持第三种行进模式:同时开启摇杆与点击行进,通过设置
world.movementTriggerMode='clickWithJoystick'
开启
优化与修复
- 预创建优化,提升业务易用性
[2.3.17] 2024 年 04 月 10 日
新功能
- 硬解模式下背景流 video 支持业务通过
world.preInit()
方法传入
优化与修复
- SDK 取消自动判定使用软解/硬解,默认全部开启软解,支持指定
worldOptions.mediaByDc=false
参数来切换硬解 - Stat 面板新增
BWE
指标,标识服务端预测码率 - 升级
xmit-core
,优化上行 QoS - 更新引擎至
1.5.2
[2.3.16] 2024 年 03 月 28 日
新功能
ActorViewer
新增旋转相机
模式,默认通过旋转相机来进行观察模型,详情查看Actor 观查器- 日志库支持
ReactNative
端上报 - 新增
world.getWaterMaker
方法,获取左下角水印元素,支持自定义样式
优化与修复
- 解决
端上机器人
可能出现的死循环问题
[2.3.15] 2024 年 03 月 7 日
重构与优化
语音群组
模块基于xrtc
协议进行重构,playground
完善语音群组
相应测试用例playground
完善: 整理了功能分类和 UI 交互- 更新引擎至
1.5.1
,包体减少 0.5MB 左右
[2.3.14] 2024 年 02 月 26 日
新功能
- 新增人物透视功能,即靠近镜头的人物会被虚化显示,默认关闭,可以通过设置
worldOption.obstacleThroughEnable = true
开启,该功能不支持运行时开启
优化与修复
- 网络传输模块新增
webTransport
协议类型,对于软解模式下支持webTransport
的机型,会默认使用webTransport
协议,否则使用当前的xrtc
链路 - 完善 wasm 加载阶段失败日志上报
- 预创建新增
Actor构造类名
校验逻辑 - 修复陀螺仪取消注册失败的问题
- 更新引擎至
1.4.11
[2.3.13] 2024 年 01 月 31 日
新功能
actor预创建
功能,preload
新增setPreCreateClasses
接口,支持传入 actor 的构造类列表,SDK 会拉取当前actor配置文件
内容,按照其 actor 类型及其构造类依次创建 actor;actor配置文件
可通过在业务链接上拼写open_collect_actor=1
开启扫描收集模式生成上传。详情查看资产预加载文档playground
新增IBR福寿园
测试按钮
优化与修复
- 修复
陀螺仪
在安卓机上的兼容性问题 - 优化
端上机器人
内寻路算法的代码实现 - 更新引擎至
1.4.10
[2.3.12] 2024 年 01 月 24 日
新功能
- 提供单独设置灯光包的接口
world.setLightConfig
- 新增
Camera.resetGryoCamera
方法,支持在陀螺仪开启时重置相机位置 - 进房时支持第三方部署服务时跳过调度服务地址步骤,可在
url
中添加ignore_schedule=true
或者传入worldOption.ignoreSchedule
来设置,此时需要同时在url
中添加addr=xx
或者设置worldOption.signalUrl
来指定服务地址 Avatar.faceToCamera
接口支持传入time
参数,设置转向完成时间
优化与修复
- 修复
playground
预览时出生点被覆盖的问题 - 修复
npc
在房间切换之后,无法被再次创建的问题 - 主角以外的帧不再入
decoder
队列,减少丢帧的触发频率 - 更新引擎至
1.4.9
[2.3.10] 2024 年 01 月 12 日
新功能
全景图
下支持使用陀螺仪
操控镜头,并支持滑屏和陀螺仪叠加输入,用法参考陀螺仪- 端上机器人:支持端上生成自行运动的机器人,可在XConsole-Robot 投放配置
- 适配对外 Console 生成的
GDV
模式数据流,可在worldOption
设置globalDataVersionId
参数 richsurface
新增changeMediaSource()
方法,支持切换mediaSource
类型/具体内容/相关配置参数Volume
新增removeOnOverlapBegin()
与removeOnOverlapEnd()
方法,移除触发碰撞盒子事件的注册方法
优化与修复
- 修复 Ibr 下调用
setSkinInfo()
主角位置更新不及时的问题 - 修复硬解模式下,进房前调用
Stat.getRpcFps()
会报错的问题 - 更新引擎至
1.4.8
[2.3.9] 2024 年 01 月 3 日
重要优化
- 重写同步角色运动逻辑,优化同步角色行走穿模、行走滞塞、速度和主角不匹配等问题
新功能
avatar.lookAt
接口支持分别设置player
和camera
的方向,详情查看Avatar 运动- 新增在 3D 绘制出点位的功能
debug.drawPointsByLine
- url 中指定
debug=1
时,会自动在点击位置绘制调试 box,并绘制出角色行走的点位
优化与修复
- 缩短预加载的进度通知间隔,保证完成后及时通知
- 修复
EventEmitter.off
解绑事件报错的问题 - 修复由于增强帧判定逻辑不正确导致偶现的进房超时问题
- 更新引擎至
1.4.7-fix1
[2.3.8] 2023 年 12 月 20 日
重构与重要优化
- 后台下发的全部主角信息都纳入
DecoderCache
排队,由主Tick
每帧读取处理,确保主角状态的正确性 - 优化摇杆触发频率控制,解决摇杆触发频率不稳导致的画面卡顿问题
- 更新引擎至
1.4.4
,SDK 包体减少 0.7MB 左右
新功能
ConfigTools.GetAsset
接口会返回 xConsole 设置的tagList
字段
优化与修复
- 触发
fatalError
时,不再发送disconnected
事件,防止上层弹出两次错误提示 - 修复
avatar.lookAt
旋转目标角度较近时不触发回调的问题 - 在预创建阶段传入空数组以及传入
actorClass
错误时抛错终止预加载流程处理 - 修复自动判断软硬解时机不对可能导致机型检测失败的逻辑
- 修复 xmit 偶现的内存越界报错问题
[2.3.7-fix] 2023 年 12 月 08 日
新功能
- 进房时若票据过期,可以开启 SDK 的自动取票重进功能,重连时默认打开
TV
类型资产纳入预创建
log库
每 5s 会自动上报一次ReportEcho
日志,用于做在线时长统计
优化与修复
- 修复预创建 Npc 时,相同 avatarId 的资产只能被创建一次的问题
- 软解下进房时新增
解码失败
错误码 - 更新引擎至
1.4.2
,修复切后台返回后人物抖动的问题
[2.3.6] 2023 年 11 月 29 日
新功能
- SDK 自动判定使用软解/硬解:
540p
分辨率使用软解,1080p
使用硬解;通过 url 指定force_set_media=1
可以强制设置解码类型
优化与修复
- 调用
world.getNpc
创建 Npc,允许不传入名字 - 修复创建房间时,设置默认路线失败(config 下没有找到出生点等),错误无法被 catch 的问题
- 修复偶现收不到后台 response,导致全景图进房失败的问题
playground
在 url 指定uat = 1
后,会连接 uat 环境playground
的 IBR 测试场景进房时集成预创建
流程
[2.3.5] 2023 年 11 月 23 日
新功能
FPS
在IBR
下默认 30,VBR
默认 25,通过worldOption
设置无效,只能通过 url 指定custom_fps=xx
来指定
优化与修复
IBR
软解下进房和切流时通知后台补发增强帧,提升进房时的画面清晰度Preload
阶段提前加载模型 decode 文件- 修复同步角色行走速度不一致及 ibr 下开始行走时同步角色位置闪烁的问题
- 更新引擎至
1.3.28-fix2
,新增平面反射能力
[2.3.4] 2023 年 11 月 17 日
新功能
worldOption
下新增signalUrl
参数,用于指定后台服务地址,等同于 url 里拼接addr=xx
- 排队完成 5 分钟内没有进房,授权会过期导致无法进房;这时 SDK 会清理连接状态,允许开发者再次调用排队接口、完成进房
- 语音会议
voiceGroup
部分接口接入 token,提升安全性
优化与修复
- 不允许软解下打开
1080P
的视频流,会报IncompatibleMediaType
错误 - 基于当前性能表现良好,将同步角色的创建间隔从 3s 减少到 1s
- 修复同步角色行走时异常停顿的问题
- 增加预加载各个分段的时长统计
- 建连时会创建
webTransport
连接,验证其成功率和稳定性 world.preInit
时上报hasMediaStream
字段用于区分项目是否有背景流- 更新引擎至
1.3.28-fix
,修复 isMoving 状态异常问题
[2.3.3] 重要更新 2023 年 11 月 7 日
重构和性能优化
- 重构画面/角色控制协议,弃用视频流预埋的 16 行数据,统一使用 DC 下发的数据
- 解码器上线
simd
和jitter控制策略
,在符合要求的机型上,会开启 wasm 的 simd 特性,提升解码性能 - 清理传输模块无用代码,不再支持 pion rtc,SDK 包体大小从
6.8MB
降低到6.1MB
其它
- Stat 面板底部新增
批量创建机器人
暗门 - 优化流类型检查相关逻辑
- 更新引擎至
1.3.27-fix1
[2.3.2] 2023 年 10 月 30 日
新功能
world.preCheck
接口拆分为checkSupport
和preInit
两个接口,对应机型检测和初始化逻辑。建议开发者改成调用这两个接口,必须要先调用checkSupport
再调用preInit
- stat 面板新增
分辨率
指标,区分540P
和1080P
视频流数据类型 - 新增码流类型的校验,软解模式只允许
540P
,硬解模式下只允许1080P
,否则会报错
优化与修复
- pb 解析从
Message
类型改为Object
类型,解决部分字段缺省值丢失的问题 - 修复分包加载时,预创建的进度不正确,导致未创建完成就去进房的问题
- 升级
xmit-core
版本,优化上行 QoS
[2.3.1] 2023 年 10 月 24 日
新功能
- 支持设置
Avatar
昵称颜色,主角昵称默认设为亮黄色,其它角色为白色。使用方式为avatar.setNickName(nickname, { style: { fontColor: '#ffffff' } })
SubSequence
新增createGuideLine
创建地面引导线和createGuideWall
创建空气墙引导接口- 提供批量创建角色的能力
debug.createAvatars
,playground
可以在链接中拼入npcs=x
设置 npc 个数,模拟多人同屏效果 - 提供更完备的主角自动行走功能
debug.simulate
,会在行走、转向、停止三个状态自动切换
优化与修复
MediaManager
管理器与world
解耦,可通过MediaManager.getInstance()
获取单例- 软解下不会再检查机型对 H264 的支持,避免用户被误杀
- 修复软解下行走时切背景图模式会导致帧 buffer 丢失,无法正常切回的问题
playground
的默认大众场景改为 540P 增强版本- 更新引擎至
1.3.26
[2.3.0] 重要更新 - 2023 年 10 月 17 日
- 新软解架构:
- 视频流改为通过
dataChannel
传输,不再使用mediaChannel
和videoElement
,同时全面支持540P增强
- 带来更好的性能、更低的机型要求、更高的兼容性,且不再要求进房前必须有点击行为
- 保留对硬解的兼容,通过在 url 拼接
mediabydc=0
即可回到硬解方案
- 视频流改为通过
- 打包优化:
- 支持
TreeShaking
,项目在打包时,会将没有引用到的 SDK 代码自动删掉,从而减少业务包体大小 - 例如只引用 SDK 的
log
模块,原先会将整个 SDK 打包到项目代码(6MB)
,现在只有17KB
- 支持
- 更新引擎至
1.3.24
[2.2.43] - 2023 年 10 月 08 日
新功能
richsurface
提供setMedia
方法,用于设置mediaSource
的具体内容camera
提供focusOnActor
方法,可以将镜头聚焦到传入的actor
上
优化与修复
- 优化建连逻辑,
signal
交换会重试三次,提升建连成功率 - 修复
avatar.stopMove
调用后控制台有错误打印的问题 - 切后台时,重连成功发起的进房会强制打开
主tick
,否则无法进房成功 - 日志序列化由
fast-stringify库
改回原生,解决该库引入的性能问题
[2.2.42] - 2023 年 09 月 22 日
新功能
- 新增
world.keepingAlive
接口,调用后会持续保活,不再会被后台踢出房间 playground
下新增actor预创建
的体验按钮
优化与修复
- 修复了
预创建
出的 actor 未纳入当前room
管理,导致 room 退出时无法被自动销毁的问题
[2.2.41] - 2023 年 09 月 19 日
新功能
- 上线
actor
预创建功能,preload
新增setPreCreateActorConfigs
接口,支持传入 3D 资产配置表及 actor 基类,在预加载
阶段进行提前创建actor
优化与修复
- 修复
hls
类型视频播放异常问题 - 修复上报空
stats
的问题 - 修复同步角色上报日志
module
字段过长的问题 - 更新引擎至
1.3.18-fix3
[2.2.40] - 2023 年 09 月 05 日
新功能
SubSequence
新增linkMediaSourceWithSubMesh
接口,可在特效中绑定图片/文字等多媒体资源- 支持通过开启
worldOptions
的webgl1
选项关闭webgl1
机型限制 Avatar.setPictureBeforeNickName(url)
方法默认支持消息同步
优化与修复
- 进房切流时自动开启
主Tick
,防止业务侧在执行切流逻辑时处于pause
状态 - 限制业务侧重复调用预加载
preload.start()
方法的行为,否则报错130027
playground
在 url 中拼接hide_btns=1
即可默认隐藏右侧调试按钮- 网络连接状态以自研
xrtc
通道为准,取代通过webrtc
获取状态,提升连接状态稳定性,减少断连频率 - 完善
world.pause
的执行保护,在进房成功前
阶段调用 pause 无效 - 更新引擎到
1.3.18-fix2
,新增BeforeSceneTick
阶段,解决进房前无法使用tts
的问题
[2.2.39] - 2023 年 08 月 31 日
优化与修复
- 完善
world.pause
的执行保护,在preCheck
、预加载
等阶段调用 pause 无效 - 修复偶现切后台回来
主Tick
无法恢复执行的问题 - 在 url 中拼接
close_engine_preload=1
即可关闭引擎预加载 - 修复没有生成引擎预加载配置时,可能会重复加载/进度不对的问题
- 更新引擎到
1.3.18-fix
,添加错误收集机制,避免 VAT 播放动画因为找不到而造成 tick 卡死;减小 400KB 包体大小
[2.2.38] - 2023 年 08 月 30 日
优化与修复
- 切后台会自动停止 SDK
主Tick
,防止用户切后台还会继续渲染允许导致手机发烫加重 - 通过切后台停止渲染,解决了 ios17 切后台回来后 webgl 上下文丢失,画面全黑的问题
- 新增世界暂停的事件
world.on('pause')
和世界恢复的事件world.on('resume')
world.pause
后弱网检测器会自动暂停,放宽弱网
的判定阈值- 修复
重进世界
后再切房间/Path 会报130026
错误的问题 - 修复分包加载时,预加载进度数目不正确的问题
[2.2.37] - 2023 年 08 月 28 日
新功能
- 切房间、path 时若当前网络状态为断连,则自动重连后再执行
- 调用
room.setSkinInfo
和room.enter
接口时进行重复调用检测,会判断当前是否已有setSkinInfo/enter
在执行中,有则抛出130026
错误 - 新增
avatar.stopMove
接口,可以打断当前在执行的导航、转向、带览操作,详情查看打断运动 - 新增
avatar.fromSync
方法,判定其是否属于同步角色
优化与修复
- 修复
同步角色延迟创建
导致创建角色以外的同步消息处理不及时的问题 - 更新引擎到
1.3.16
,修复更换人物骨骼后引擎绑定包围盒出错的问题
[2.2.36] - 2023 年 08 月 22 日
新功能
- 支持关闭同步角色的延迟创建,调用
world.getAvatarDelayCreateManager().stop()
即可恢复到立即创建 - 在 url 中拼接
close_report=1
即可关闭日志上报 - 新增获取
读流FPS
的接口world.getStats().getRtcFps()
,用于衡量视频流传输的质量 - 整理 Stat 面板,在
基础
栏内新增详细的机型、系统、浏览器信息;新增核心指标
栏,集合了最常关注的指标;新增业务
栏,展示当前运动状态等信息,方便调试
优化与修复
- 将
ktx2
文件存入 indexDB,创建贴图时从 idB 中获取,避免重复下载 - 调整
支持webgl2
的检测逻辑,避免 ios 微信下误判的情况 - 执行定时任务时会捕获抛出的 Error,防止将主 Tick 打断导致程序异常
- 修复感知不到后台服务主动断连的问题
- 修复
webgl1
机型无法正常进房的问题 - 摇杆移动后若 2s 内没有新帧过来,会上报 warn 信息
- 整理日志上报的
header
,和 Stat 面板的基础
栏保持一致 - 更新引擎到
1.3.15
,优化环境光的内存占用
[2.2.35] - 2023 年 08 月 17 日
新功能
- 通过
World.getPreload().isSupportPack
获取是否开启预加载分包,可以据此判断是否按房间预加载资产 Stat面板
新增按类型删除 Actor 按钮,支持按照贴图
、呼吸点
、avatar
、特效
等类型dispose
资产
优化与修复
- 切房间时清空当前
待创建同步角色队列
,以节省性能 - 修复同步角色偶现创建不出来的问题
- 开启排队后,未排队就直接建连会触发
fatalError
事件 Playground
支持保存 ibr 参考图和遮挡测试功能
[2.2.34] - 2023 年 08 月 15 日
新功能
Avatar
新增昵称显隐设置接口Avatar.hideNickName(val)
,详情查看Avatar 文档- 摇杆支持通过
World.joystick.init({puckAreaImageUrl,thumbAreaImageUrl})
传入操作中心点图片与背景图片,实现自定义样式 UAinfo
新增设备终端类型(mobile/tablet...)
和浏览器内核(EdgeHTML/WebKit...)
的信息joystick模式
可为低模绑定点击事件world.getClickingEvent().setMeshPickableInJoystickMode(true)
,默认关闭
网络与性能优化
- 增大同步角色的创建间隔(1s->3s),对同类任务做了合批处理
- 调整
低FPS
检测器的参数,采样间隔从 300ms->1000ms,阈值从 15fps->10fps,进房后 20s(原 10s)才开始检测 Xmit
逻辑优化- 更新
xmit wasm
,使RTT
值的计算不受主线程卡顿影响 - 切后台回来时检测连接连接是否中断,尽量避免发起重连
- 更新
- 更新引擎至
1.3.14
[2.2.33] - 2023 年 08 月 07 日
新功能
Avatar
新增换肤色接口Avatar.changeSkinColor(type)
,目前支持白、黄、黑,三种肤色,详情查看Avatar 文档Avatar
新增设置昵称前置图片接口Avatar.setPictureBeforeNickName(url)
,详情查看Avatar 文档Log
库getAssociatedAPI
方法支持在 world 创建之前获取业务后台接口域名,支持小程序环境下使用playground
新增了性能测试
模块,提供仅开启XmitTK
、readPixelTK
、AppTK
、RenderTK
四个单独tick
运行的性能调试能力
优化与修复
- 删除创建贴图
RichSurface
时找不到KTX2
文件http
控制台报错 prd
环境下展示完整的userId
,去掉只展示 8 位的策略ConfigTools.getAssetsByType()
方法内枚举类型补充,对齐 console 类型- 更新引擎至
1.3.13
[2.2.32] - 2023 年 08 月 02 日
新功能
- url 中拼接
low=1
即设置为低画质,拼接average=1
即设置为中画质
修复
- webSocket 建连失败后,会自动重连 3 次。如果重连成功,由于第一次失败清空了监听事件,导致后续的 RTC 建连无法成功,修复了该问题
[2.2.31] - 2023 年 07 月 31 日
新功能
actorViewer
支持限制仅水平/垂直旋转
性能优化
分帧
创建同步角色,优化进房后集中创建同步角色带来的卡顿- 当发生了卡顿,定时器
setInterval
注册的任务没有按时执行时,恢复执行后不会再补齐执行次数
优化
弱网检测器
除了以 RTT 抖动情况判定弱网,还会关注当前RTT
,当前 RTT<200 时不会被判定为弱网- IBR 路线下,主角正在行走时调用
setBackgroundImg
,会自动停止行走,以满足换装等面板的需求 - 支持三种新的
IBR OnlinePathType
- 更新引擎至
1.3.11
[2.2.30] 重要更新 - 2023 年 07 月 26 日
重要更新与性能优化
- 流传输改用自研
xrtc
,取代webrtc
,以提升网络传输质量和延时表现 - 全量开启
新版调度
与http建连
,弃用webSocket
,后续不能在 url 中通过ws=http:xx
来指定后台地址,改用addr=ip
来指定 - ReadPixel 优化:复用
pboBuffer
,避免内存频繁创建与销毁,以优化 CPU 占用和发热表现 - 上线音视频管理器
MediaManager
,统一管理video
和audio
的生命周期,详情查看音视频管理
新功能
ConfigTools
新增GetAssetByBomId
接口,无需传入Room
,用于在进房前 Get 资产信息- 新增两项机型阻挡:chrome 版本低于 72 不允许进入、不支持 H264 不允许进入
优化与修复
avatar.setSkeletonAnimation
会顺便设置角色的运动姿态,避免 SDK 设置姿态时还没有配置角色动画,导致姿态不正确的问题- 切 Path 时主动停止主角动作,以解决摇杆走动过程中切 Path,主角原地踏步的问题
- 更新引擎至
1.3.10
[2.2.29] - 2023 年 07 月 21 日
新功能
丰富了角色转向能力支持:
- 新增
avatar.faceTo
接口,和lookAt
相比,只将角色转向指定角度,镜头不动 - 新增
avatar.factToCamera
接口,可以使角色面向镜头 - 优化
avatar.lookAt
接口,之前只能传入目标点位,现在可以直接传入目标角度
Playground
- 我们重写了 Playground 的进房画面和部分 UI 样式,给用户更好的观感
- 提供
创建各等级角色
和让各角色自动移动
的功能,模拟投放 NPC 的效果
修复
- 修复调用
world.setBackground
时画面闪烁的问题 - 删除创建贴图 RichSurface 时,找不到 KTX2 文件导致的 error 打印
- 更新引擎至
1.3.9-fix1
[2.2.28] - 2023 年 07 月 17 日
新功能
- 新增
Avatar.getQuickShot
方法,可以获得角色的照片,详情查看Avatar 快照
内存优化
- 优化
画质增强
带来的内存增长,较前一个版本降低了 70MB 的内存占用
优化
ibr
路线下主角navigate
时切后台,再返回后会无法调起endCallback
,导致业务逻辑卡死,修复了该问题- 优化左下角水印的样式
修复
- 修复
预录
路线无法切到开启了画质增强的ibr
路线的问题 - 修复开启分包时主角骨骼被多次预加载的问题,只在初次进房时执行一次
- 更新引擎至
1.3.9
[2.2.27] - 2023 年 07 月 12 日
getAvatarConfig()
支持获取blendShape
类型动画的配置主角预加载
会预加载配置文件中所有的主角装扮,而不是只加载默认装扮- 修复 richSurface 上报 ktx2 文件导致日志过大的问题
playground
支持关闭读流 Tick、xmitTick 等性能调试能力- 更新引擎至
1.3.7
,优化内存占用,取消Actor
的双击事件
[2.2.26] - 2023 年 07 月 10 日
重要改动
- 重写调度和 RTC 建连:调度改为返回 ip 地址、不再使用 webSocket,减少建连的 RTT。新建连流程尚在灰度中,目前默认仍走旧版逻辑,需要开启
worldOptions
的useHttpSignal
选项打开新建连
新功能
- 新增
ActorViewer
,可以在独立面板观察指定 actor,支持滑屏转向、放大缩小等能力,详情查看Actor 观查器
优化
- 完善机型划线判断逻辑,sit 和 uat 默认开启,prod 暂不开启
- 调用
world.getPlayer
再次创建主角时,会使用之前主角的位置 - 由于有跨域问题,日志上报不再使用
baecon-api
- 内置
debug
模式开启后,会打印切流和角色同步的详细信息
[2.2.25] - 2023 年 06 月 30 日
新功能
precheck
阶段新增机型划线,根据小程序wx.getSystemInfo
接口获取设备性能评分,低于 20 将被拦截- 摇杆请求结束时发送 end 请求,适配后台改造,优化 IBR 路线下人物运动表现
preload
阶段支持配置主角预加载,优化进房后的主角加载
问题修复
- 修复
排队
获取进房资格失败但还可以进房的问题 - 更新引擎至 1.3.6,修复 IBR 路线下偶现切 path 失败问题
[2.2.24] - 2023 年 06 月 28 日
新功能
- 进房支持
排队
,当后台爆满时会持续等待到可以进入,详情查看进房排队 - 联合后台重构了 IBR 路线下
导航
和朝向
功能;完整支持了avatar.lookAt
,之前在镜头已朝向目标点但主角没有时,lookAt 会不做任何事情,现在角色也会转向目标点 tts
和avatar的智能语音
功能新增设置音量的接口
优化
- 优化同步信息处理的代码实现,删除一些无用操作以提升性能
- 网络重连和初次建连一致,也会等 onTrack 才判定成功
- 日志上报改用
baecon-api
上报日志,尽可能做到不丢日志 - 上报日志大小超过 100KB 会打印 warning
- 提供内置的
debug
模式,url 中指定debug=1
时 SDK 会自动多上报一些信息以帮助定位问题
问题修复
- 修复
setSkinInfo
到全景图后,没有按照传入的player
信息设置主角位置的问题
[2.2.23] - 2023 年 06 月 19 日
优化
- 进房时的网络建连失败后,会自动重试最多 2 次,以提升建连阶段成功率
- indexDB 写入失败后,会重试 1 次,以提升预加载阶段成功率
- 重构
world.setBackgroundImg
实现,修复在背景图内断连+自动重连成功后,画面异常的问题 - 更新引擎至 1.3.5,修复角色身上的特效显示异常的问题
[2.2.22] - 重要更新 2023 年 06 月 16 日
新功能
- 上线
静止画质增强
能力,更新引擎至 1.3 大版本 - 提供定时器:
world
下新增setTimeout
和setInterval
接口,使用world.clearTimeout
取消 - 支持在
WebGl1
机型打开,但默认仍拦截 WebGl1 机型进入,可以在 url 中指定webgl1=1
取消拦截 - 摇杆
joystick
支持设置背景图,通过options.thumbAreaImageUrl
指定
性能优化
- 只在
autoNavigation
模式下才为粗模绑定点击事件,减少点击屏幕导致的射线检测损耗,以提升性能 - 降低读流
ReadPixelTick
的频率,默认从 100 降到 50,以提升性能 - 端摇杆路线下,在切房间、皮肤、路线和传送时,使用随 Resp 下发的数据立刻设置主角位置,不再使用下一次的数据,以减少对 DC 下发数据频率的需求
- 将 SDK 内部的角色同步处理、弱网检测器、FPS 检测器等定时任务放入 SDK 主 Tick
问题修复
- 修复获取日志上报地址失败后,兜底上报链接也无法使用,导致日志无法上报的问题
Playground 及其它
- 优化
Playground
的 UI 刷新 - 更新引擎版本至 1.3.3,支持画质增强、优化内存占用和 ktx 加载性能
[2.2.20] - 2023 年 06 月 14 日
Playground
支持 IBR 下显示 navMesh 功能- 日志上报优化,不再向 webrtc 日志集上报数据
- 更新引擎至 1.2.164-fix1,修复空间音频音量控制相关问题
[2.2.19] - 2023 年 06 月 13 日
- 初步支持 SDK 内部定时器机制,将 SDK 内部的摇杆采样、Stat 整理、日志上报等定时任务从
setTimeout
和raf
改为 SDK 定时器 - 修复
WASD
键盘控制在第一人称路线下镜头移动效果不正确的问题 RichSurface
在setMediaSource
前setMedia
,避免渲染花边等问题avatar.navigateTo
会判断是否在原地点击,这种情况下会立刻调起endCallback
,并认为执行成功- 优化
xmit-wasm
体积 Playground
支持 ibr 路线下的主角自动行走
[2.2.18] - 2023 年 06 月 07 日
- 世界构造参数
worldOptions
中可以指定fps
,sdk 会以该帧率进行渲染 Playground
支持解析链接中的fps=
参数;优化 UI 展示,实时展示帧率和 RTT- 更新引擎至 1.2.164,
TV-Richsurface
销毁不再自动销毁 videoElement
[2.2.17] - 2023 年 06 月 06 日
- 优化 NPC 的创建和管理:新增
world.getNpc
接口,创建 npc 需统一调用该接口 - 新增获取角色配置接口
ConfigTools.getAvatarConfig
,传入avatar资源id
即可获取 sdk 整理好的全部配置信息 - ibr 路线下支持设置空气墙
room.setCloudPhysWall
,详情查看空气墙 timeline
支持音视频能力- 支持从 url 中解析机型信息,外部通过小程序等获取的机型信息可按约定通过 url 传入,没有传则通过 ua 获取
- 完善带看功能,
lookAtOptions
可传入自定义朝向位置,之前默认转向带看终点 - 修复点击屏幕时向后台发送心跳次数过多,没有限频的问题
- 完善切换
预录
路线时,依据后台数据设置主角位置的策略 - 更新引擎版本至 1.2.163,修复
TV-Richsurface
未销毁干净导致内存泄露的问题
[2.2.16] - 2023 年 06 月 03 日
- 修复
RichSurface
销毁时未销毁mediaSource
导致内存泄露的问题 - 以 base64 数据为 url 创建
RichSurface
时不去自动查找 ktx;简化后缀替换算法,不再使用正则表达式 - 更新路线和摇杆类型的映射关系,第三人称固定路线从端摇杆改为不需要摇杆
- 更新引擎版本至 1.2.162-filter-errorcode,修复动态水的内存泄露问题
[2.2.15] - 2023 年 06 月 02 日
- 提前
打开IndexDB
至precheck
阶段 - 修复 IBR 路线下
lookAt
回调不执行的问题 - 切流过程中停止摇杆请求,防止画面乱序
- 预加载全局超时时间从 15s 改为 20s,放宽对用户网络的要求,增加预加载成功率
- 修复小键盘控制人物移动问题
Richsurface
创建时如果下载不到 ktx 文件,不会再重试,减少无效 http 请求
[2.2.14] - 2023 年 05 月 30 日
- 新增
world.setVisibilityCullingDistance
方法,设置场景可渲染物件(Richsurface、Subsequence)的可视距离 - 更新引擎版本至 1.2.162
[2.2.13] - 2023 年 05 月 29 日
RichSurface
类型3D
模型优先使用ktx
类型贴图- 新增
world.setSize
方法,可以设置场景渲染分辨率 相机-camera
新增setCameraFov
接口,可以设置相机的视角Fov
值avatar.navigateTo
接口若判断目标可达会发送pointUnReachable
事件- 点击行进模式下关闭
openEngineMovementTick
,解决人物动作切换异常的问题 - 新增
Stats.getXmitRtt()
获取当前网络 xmit-rtt 数据 @xverse/log
包使用fast-safe-stringify
三方库保证stringify
的准确性- 调整
log
顺序,确保error-monitor
的监控第一时间执行 - 自研 rtc 补充上报数据来协助问题排查
- 更新引擎版本至 1.2.160
[2.2.12] - 2023 年 05 月 17 日
- 修复
world.setBackgroundImg
无法正常锁死镜头,导致捏脸/换装面板人物消失问题 - 新增
world.getSeverTime
方法,可获取服务端系统时间 - 完善进房/切流的错误处理
- 更新引擎版本至 1.2.156-fix1,解决
avatar.position
设置时机导致 NPC Avatar 消失的问题
[2.2.11] - 2023 年 05 月 16 日
IBR
路线下每次点击屏幕,都会自动发送心跳给后台,保证不被后台踢出房间- 新增
AITtsTextReader
模块,可识别输入文字并播报语音,详情查看AI Ability文档 SubSequence
新增setMaterialByName
接口,可设置特效材质参数AssetsStorage
新增RequestAndReturn()
方法,仅获取资产数据但不写入 idb 和isItemInIDB()
方法,查询资产是否在 idb 内- 合入
自研xmit
第二阶段测试代码,不影响当前业务逻辑 - log 库
getReportUrl()
入参可以不传入 worldId - 更新引擎版本至 1.2.156
[2.2.10] - 2023 年 05 月 12 日
- 修复 appLog 未按预期导出
[2.2.9] - 2023 年 05 月 11 日
- 更新引擎到 1.2.155-fix1,移除 setMoveMode 中的报错
[2.2.8] - 2023 年 05 月 10 日
- 更新引擎到 1.2.155,静态图类型 RichSurface 支持设置填充参数
[2.2.7] - 2023 年 05 月 10 日
日志-log
改为@xverse/log
独立包,日志上报功能与 sdk 逻辑解耦- 修复进入世界前前切换横屏,画面被压缩的问题
- 优化渲染
tick
间隔时间策略,稳定进房后的帧率表现 相机-camera
新增setCameraMinZ
接口,可以设置相机的最小可视距离- 修复
npc带览
创建的 npc 在非带览的状态下仍会播放动作的问题 - 更新引擎版本至 1.2.154-fix5
[2.2.6] - 2023 年 04 月 29 日
- 更新引擎至 1.2.154-fix4,修复角色行进时镜头剧烈抖动的问题
[2.2.5] - 2023 年 04 月 28 日
- 更新引擎至 1.2.154-fix3,调整
raycast
射线参数,解决人物偶现消失的问题
[2.2.4] - 2023 年 04 月 26 日
- 更新引擎至 1.2.154-fix2,修复引擎预加载期间切后台/切页签导致超时卡进度问题
- 修复
video.getVideoPlaybackQuality
方法在chrome79
版本以下不兼容导致的进房失败问题
[2.2.3] - 2023 年 04 月 25 日
- 更新引擎至 1.2.154-fix1,修复在华为设备中动态水渲染异常的问题
[2.2.2] - 2023 年 04 月 24 日
- ibr 路线下,
角色传送
通过判断帧中位置与目标位置相等来确定成功,解决假成功的问题 - 修复切到
环绕特写
路线后角色角度没被正确设置的问题 - 规范角色
priority
,主角为 0,端上 npc 为 1,其他端同步来的为 2 npc带览
功能支持设置npc
终点镜头转向和人物转向,详情查看Avatar 文档- 新增高亮
actor
接口Debug.highlightActor
及取消actor
高亮的接口Debug.exitHighlightActor
弱网检测器
解耦主程序卡顿和网络差的判断逻辑,避免网络指标受端上性能影响- 更新引擎至 1.2.154,修复老版本浏览器引擎无法初始化成功的问题
[2.2.0] - 重要更新 2023 年 04 月 21 日
- 支持
ibr
类型路线,包含了上下抬头、自由移动、复杂地形、摇杆+滑屏同时输入等新能力 - 彻底重构 角色 movement、路线类型识别、路线切换和后处理、角色同步 等模块
- 上线新版
npc带览
功能,详情查看Avatar 文档
当前SDK支持三种大路线类型:预录(单摇杆) / ibr(双摇杆) / 全景图(360°转向)
摇杆、点击进行、导航、带览、转向等Avatar基础movement能力均同时支持预录和ibr路线
[2.1.32] - 2023 年 04 月 18 日
预加载
阶段会自动调用引擎的 shader 预加载接口,提前加载 shader,以优化进房后的帧率表现- 新增对未处理的 promise.reject 的监听和上报,帮助开发者发现代码问题
日志-applog
新增计时接口,参见日志文档语音-voiceGroup
新增私聊能力,重构代码相机-camera
新增getDeltaRotForLookAt
接口,可以获取使镜头面向某个位置的 Rotation空间音频
新增静音接口,参见空间音频- 更新引擎至 1.2.152
[2.1.31] - 2023 年 04 月 15 日
- 绿幕视频
GreenScreen
指定参数notWaitPlay=true
时,SDK 不会等待可以播放再返回,而是立即返回
[2.1.30] - 2023 年 04 月 14 日
- 通过调度系统获取日志上报链接,接入新日志后台
- 进房优化: 将 onTrack 流程纳入
world.init
阶段,必须要等ve.src
设置完成才认为建连成功 - 修复对
webGL2
状态监听导致不合理的fatalError
的问题
[2.1.28] - 2023 年 04 月 13 日
- 修复
本地全景图模式进房
,即使全景图已预加载到 idb,仍然会走网络下载的问题 - worldOption 中指定
wsServerUrl
后,仍然会请求调度,以获取 businessUrl,只是不使用调度返回的 ws 地址 - 修复正常进房失败后,切换到
serverless
模式再次进房会触发fatalError
的问题,增强transport
模块的代码健壮性 - playground 完善: 新增
本地全景图进房模式
测试用例
[2.1.26] - 2023 年 04 月 12 日
- 支持两种特殊的进房模式,以支持业务的特殊需求和应对网络异常,详情查看特殊进房模式文档
- 所有设备都同时绑定键盘和触屏输入事件,修复
ipad
被判定为 PC 导致没有绑定触屏,导致无法滑屏的问题 - 完善进房前检测是否支持 webGl2 的逻辑,之前的判断逻辑会漏掉一些实际不支持 webGl2 的机型
- 新增对 webGl 异常事件的监听和错误处理
- 导出从 indexDB 读取资产的工具类
AssetsStorage
- 更新引擎至 1.2.150
[2.1.25] - 2023 年 04 月 11 日
xmit-wasm
内联到 sdk 代码中- 优化绿幕
GreenScreen
的用法,改为异步方法,详情查看基础/GreenScreen
文档 - 更新引擎至 1.2.149
[2.1.24] - 2023 年 04 月 08 日
- 修复在不支持获取白屏信息的设备/浏览器下,
world.preCheck
失败的问题 - 更新引擎至 1.2.148,暴露一些引擎接口
[2.1.23] - 2023 年 04 月 06 日
avatar.lookAt
支持onlyCamera
选项,开启后可以只转镜头不转角色world.getAssociatedHttpApi
接口适配后台调度反馈的新字段,接口和使用没有变化- 新增
avatar.setExtraInfo()
接口,入参为 avatar 资源 id,若在 XConsole 配置了 extraInfo 就会设置,并同步给其他端;以提升性能 - 优化绿幕视频
GreenScreen
的用法,详情查看基础/GreenScreen
文档 - 进房优化:区分因切后台导致的进房失败错误码
- 全景图插值移动镜头接口
panoramaLerpRotation
新增endCallback
参数,执行完成后调起;修复调用后镜头无法再移动的 bug stat面板
新增一些渲染指标- 更新引擎至 1.2.146,修复角色消失等问题
[2.1.22] - 2023 年 04 月 04 日
- 新增
npc带看
能力,用法查看基础/Avatar
文档的Npc
部分 - 新增绿幕视频
GreenScreen
功能,详情查看基础/GreenScreen
文档 - 切换全景图前可以调用
world.panoramaFov = xx
来设置fov
- 新增空气墙
PhysWall
,在指定位置生成可以阻挡角色运动 - 更新引擎至 1.2.143
[2.1.21] - 2023 年 03 月 31 日
- 全景图下支持插值移动镜头角度
world.getCamera().panoramaLerpRotation()
,按输入的时长逐步移动镜头到指定角度 - 新增键盘按下
↑ ↓ ← →
时移动的能力 - AI 语音识别接口优化,详情查看AI Ability文档
- 进房失败时上报 meta 是否解析成功
- 上报打开页面的白屏时间相关信息:
FCP
/TTFB
- 更新引擎至 1.2.138,地面射线检测放入 worker 线程以提升性能
[2.1.20] - 2023 年 03 月 29 日
avatar.navigateTo
接口会判断目标点是否可达,如果不可达会立刻执行endcallback
,通过isReachable
参数告知; 并会发送pointUnReachable
事件- 改用
pnpm
管理依赖
[2.1.19] - 2023 年 03 月 27 日
- 进房失败时上报原始 video 数据的上报
- 修复预加载
preload.start()
方法可能提前 resolve 的问题
[2.1.18] - 2023 年 03 月 23 日
- 预加载策略优化: 小资产下载失败后放入队尾等待重试;大资产直接重试,保证大资产被优先下载
- 进房时如果解码失败,上报像素数据辅助定位问题
- 更新引擎至 1.2.135,修复华为机型抖动问题
[2.1.17] - 2023 年 03 月 22 日
- 预加载策略优化: 单个资产下载失败后持续重试,不认为出错
- 修复预加载只有一个并发时卡在最后一个资产不下载的问题
- 更新引擎至 1.2.134
[2.1.16] - 2023 年 03 月 21 日
- 预加载策略优化: 划分大小资源并发下载池; 新增资产按 size 排序下载策略,大资产(>2M)按从大到小的顺序下载,小资产按从小到大的顺序下载,保证持续有资产下载完成; 大资产下载完后将并发让给小资产
- 预加载默认并发下载数从 10 调整到 6,避免并发过高导致出问题的概率增大
- 资产下载失败时上报详细错误信息
- 修复 AI 语音识别停止后没有取消监听的 bug
[2.1.15] - 2023 年 03 月 20 日
- 进房成功率优化:meta 解析失败明确通知后台重发
- 严格对建连成功的判定,修复一种假建连成功的情况
- 重写
连续15s没有资产下载完成就认为预加载失败
的判定逻辑,修复一种误判的情况
[2.1.14] - 2023 年 03 月 17 日
- 增加 AI 语音识别能力:
AISpeechStreamRecognizer
,具体查看AI Ability
文档 - 修复一些关键日志重复上报的问题
- 角色可以设置胶囊体
avatar.setBoundingShape()
,优化性能 - 修复部分场景粗模加载失败的问题
- playground 完善: 新增 AI 语音识别功能
- 更新引擎至 1.2.133
[2.1.12] - 2023 年 03 月 16 日
- 预加载:新增用户感知维度的超时逻辑,连续 15s 没有一个资产下完直接认为预加载失败
- 进房全链路补全了上报日志,方便定位问题和数据分析
setSkinInfo()
切换全景图时,新增panoramaMode
参数,可以指定全景图横/竖屏渲染- 修复了预加载对自定义分包
filterCallback
处理不正确的问题
[2.1.10] - 2023 年 03 月 15 日
- 优化进房成功率:取消
130018:ve播放失败
错误,补充进房失败时 ve 信息的上报 - 修复了重连进房也会算作初次进房上报的问题
[2.1.9] - 2023 年 03 月 14 日
- 新增预加载按 Room 分包下载能力:可以在
X-Console
将资产配置到 Room 下,Preload.start
接口传入对应RoomId
,即可只加载该 Room 下的资产; - 进房成功率优化:前置创建 VideoElement 和点击自动 play 的时机; 新增 meta 解析失败的日志上报; 修复丢包导致进房失败时,上报的错误码不正确的问题;
- 将调度步骤前置到
world.preCheck
阶段,以满足业务尽早获取到后端 url 的需求 - 优化其他端上角色转身的同步效果,使用后台传入的速度
- 支持通过上报日志中的
forPreDetect
字段,区分独立检测和正式业务上报的日志 - 浏览器兼容能力: 修复 chrome 72 以下版本报错的问题
- 版聊后台协议改动适配
- playground 完善:新增版聊功能
- 更新引擎到 1.2.131
[2.1.7] - 2023 年 03 月 12 日
- 进房流程完善兼容性,不主动调用
world.preCheck
时会在init
时自动调用 world.getPlayer()
生成 avatar 时,会自动设置priority
为 0,无需开发者设置- 优化了水印样式
- 新增一些类型导出
- 更新引擎到 1.2.130
[2.1.6] - 重要更新 2023 年 03 月 09 日
- 进房流程修改: 新增
world.preCheck()
方法,在构建 world 后需要先调用该方法,以检测机型是否符合要求和有无传参错误; 允许在world.init()
前调用Preload.start()
,标准的进房流程调整为:preCheck -> preload(预加载) -> init -> enter - 进房错误细化: 新增 ve 播放失败错误
- 新增同步能力: 角色的原地旋转动作可以同步到其他端上了;重构角色管理相关代码
- 修复预加载在一些情况下会卡死的问题
- 日志上报优化:全球上报日志的时间统一采用北京时间、新增预加载总耗时的统计
- 空间音频暴露一些 api
- 修复
world.getStats().addBusinessStats()
在安卓执行异常的问题 - 更新引擎到 1.2.128
[2.1.5] - 2023 年 03 月 07 日
- 建连阶段报错细化: 修复了下载 xmit 模块没做超时控制,导致可能卡死的问题 修复了建连用时超过 10s 后,详细错误码被被 130007 覆盖的问题
- 预加载阶段报错细化: 修复 indexDB 打开异常的错误没有上报的问题
- 支持业务在 stat 面板添加自定义数据,
world.getStats().addBusinessStats()
voiceGroup
新增投屏相关接口- 修复
world.disableClickNavigation
设置不生效的问题
[2.1.4] - 2023 年 03 月 02 日
- 进房错误细化,新增丢包导致超时错误码,细分机型/系统不支持的错误码,增加预加载的错误码
- 点击行进模式下,点击可行进区域以外时不再前进,并可通过
world.on('clickOutOfNavMesh')
获取该事件 - 支持以载具路线进房,修复
setSkinInfo
中设置的回调不生效的问题 preDetect()
方法增加进房
检测和indexDB
可用检测- 预加载资产时,支持通过
world.getPreload().on('averageSpeed')
来获取当前下载平均速度 - 修复点击行进到终点后不触发
navToEnd
事件的问题 playground
优化:增加走动时打印MetaFrame
功能,新增载具进房
按钮- 优化日志上报
- 更新引擎到 1.2.127
[2.1.3] - 2023 年 02 月 27 日
- 新增环境光设置和销毁接口:
world.setEnvLight
world.disposeEnvLight
- 进房错误细化:进房过程中断连报
DisconnectedWhenEnter
错误 - 优化网络连接状态机,增加自动重连次数以提高成功率
- 收集自研 rtc 连接成功率等数据
- 修复未进房时等待很久,被后端踢除后仍然不断重连的问题
- playground 完善: 整理了功能分类和代码结构
- 更新引擎到 1.2.125
[2.1.2] - 2023 年 02 月 22 日
- 点击屏幕时自动触发 videoElement.play(),避免特定浏览器无法进房的问题
- 日志上报兼容纯字符串,即
log.info('abc')
格式 - 增加动态水特效
DynamicWater
- 引擎更新至 1.2.124
[2.1.1] - 2023 年 02 月 20 日
- 提供
preDetect()
方法,可独立检测能否进入世界 - 修复调用
world.changePlayer
修改角色后,在其他端上同步异常的问题 - 修复未进房时,异常信息可能无法上报的问题
- 修复 voiceGroup V2 部分方法无法导出的问题
- playground 完善: 补充语音智能功能的测试用例
- 引擎更新至 1.2.122
[2.1.0] - 2023 年 02 月 17 日
- 新增
VoiceGroupV2
语音群组模块,基于 V1 版本新增了用户权限控制功能 - 新增
AIChat
语音智能功能,使用参考进阶/AIChat
文档 - 暴露
appLog
日志上报能力供业务使用,具体参考基础/日志上报
文档 - 全景图下: 支持调用
world.setBackgroundImg()
设置背景、默认禁用点击行进 - 日志上报支持指定自定义字段
- 进房失败相关日志新增机型、系统等信息
- 修复未进房前断连,不断重连的问题
- 更新引擎至 1.2.120
[2.1.0-alpha.83] - 2023 年 02 月 15 日
- 新增
CarTemplate
车模特效能力 - 优化
world.getAssociatedHttpApi
,可以获取相应的服务地址 - 接口报错优化:更多
avatar
和特效
、timeline
的接口会抛出 err,这些接口在注释中都标记了@throws
worldOption
新增forbiddenWatermark
字段,设置为ture
后可以关闭userid
水印;在prod
环境下也会以水印展示后 8 位- 上报优化:上报单个资产的加载时间、上报不支持机型的详细信息
- 修复
world.changePlayer
后无法移动的问题 - 更新引擎至 1.2.119
[2.1.0-alpha.82] - 2023 年 02 月 11 日
- 更新引擎至 1.2.118,修复摇杆卡顿问题
[2.1.0-alpha.81] - 2022 年 02 月 10 日
- 预加载资产时,发现网络质量差会发送
timeout
事件,通过world.getPreload().on('timeout')
来监听 - 如果资产在预加载列表中,但在进入世界前没有预加载它,当使用该资产时(如用它创建 RichSurface)会报
AssetNotPreloadOnRuntime
错误 - 非 prod 环境新增
userid
水印 - 修复
RichSurface.change()
不生效的问题 - 更新引擎至 1.2.117
[2.1.0-alpha.80] - 2023 年 02 月 09 日
- 完善
RichSurface
接口封装和文档;支持鼠标悬浮事件mouseEnter
/mouseLeave
- 进房相关上报优化
- 更新引擎至 1.2.115
[2.1.0-alpha.79] - 2023 年 02 月 06 日
richSurface
封装,可直接通过create()
创建,优化开发效率,参见richsurface
文档- 提供
world.changePlayer
方法,支持修改主角的模型和其他配置 - 提供
avatar.setSkeletonAnimation
方法,支持快速设置角色的骨骼和动画资产 - 提供
avatar.setSyncPriority
方法,支持设置角色同步优先级 - 提供 requestAnimaitonFrame 定时器的封装:
RAFTimer
,方便开发精细化定时逻辑 - 在切换到全景图时暂停读流,退出后恢复
- 上报的
stats
数据中,卡顿分析部分拆成单个字段上报,方便日志分析 - 更新引擎至 1.2.113,优化对 fireFox 的适配
[2.1.0-alpha.78] - 2023 年 02 月 02 日
- 提供
get2DPointFrom3DPoint
方法,将 3d 场景内坐标转换为 2d 屏幕坐标 playground
新增前景资产拖拽预览
能力,可以在前端拖拽资产到场景中并创建- 导出
http
模块,开发者可以用 sdk 封装好的 http 方法 - 改用 npm 引入引擎,更新至 1.2.112
[2.1.0-alpha.77] - 2023 年 01 月 18 日
- 支持已进房后切换
worldId
和出生点
重新进房,查看world.prepareForReEnterWorld
方法 - 提高
fps检测器
判定低 fps 的触发阈值,增加延时开启 startDelay
参数 - 提高
弱网检测器
判断弱网的触发阈值 stats
面板新增网络相关参数
[2.1.0-alpha.76] - 2023 年 01 月 17 日
- 优化建连阶段的超时时长
[2.1.0-alpha.75] - 2023 年 01 月 16 日
- 进入背景面板后停止读流,彻底解决在角色移动中打开各种面板后画面异常的问题
- 优化同步其他端角色移动时的朝向设置
- 修复
stats
面板部分数值格式错误的问题 playground
新增背景面板
测试用例- 更新引擎至 1.2.111
[2.1.0-alpha.74] - 2023 年 01 月 14 日
- 修复
fps检测器
异常触发的问题 playground
新增fps检测器
的状态窗口
[2.1.0-alpha.73] - 2023 年 01 月 12 日
- 优化摇杆和镜头移动的体验
- 在预加载阶段下载角色所需的 decoder 文件,解决进房后角色等很久不出现的问题
- 新增摇杆全链路数据分析和上报,以定位卡顿问题
fps检测器
在切换路线时自动停止检测,以避免误报;使用方式有改变,具体查看fps-detector
文档avatar.diyFace
接口当传入的类型不对时,会抛出错误- 更新引擎至 1.2.109
[2.1.0-alpha.72] - 2023 年 01 月 11 日
- 弱网检测器
networkDetector
默认使用 xmit 提供的弱网检测能力,不再使用 webrtc 的 rtt 数值做弱网判断 - 新增
初次进房结果
和重连进房结果
的上报,以支持分开统计初次进房和重连进房的成功率 - 修复切皮肤后点击行进不生效的问题
- 更新引擎至 1.2.106.2
[2.1.0-alpha.71] - 2023 年 01 月 09 日
- 初次进房和重连进房时新增事件触发,详情查看
world
文档 - 点击行进结束时新增触发
navToEnd
事件,详情查看avatar
文档 - 新增设置摇杆样式的几个接口
setSkinInfo
接口传入的出生点会对全景图路线生效worldOptions
中可以自定义配置调度地址- 预加载失败时上报错误,修复无需下载时不触发进度事件的问题
- 修复调用
world.setBackgroundImage
接口后显示异常的问题 - 修复引擎错误上报异常的问题
- 优化建连阶段的超时时间,减少用户等待
- 新增
avatar.deleteComponent
删除装扮接口 - 更新引擎至 1.2.106
[2.1.0-alpha.70] - 2023 年 01 月 04 日
- 内部数据传输协议改用
protobuf
- 第一人称下摇杆移动后也会同步设置主角位置(即使没有实体),同时该角色可以触发
volume
- 优化
world.init()
流程,支持 init 完成后再次调用 init 方法 - 预加载进度支持以事件形式通知:
world.getPreload().on('progress')
- playground 完善:相关按钮增加 id,配合自动化测试;新增展示 navMesh 的按钮
- 更新引擎至 1.2.105
[2.1.0-alpha.69] - 2022 年 12 月 30 日
- 更新引擎至 1.2.104,进一步修复内存占用问题和其他问题
[2.1.0-alpha.68] - 2022 年 12 月 29 日
- 场景内点击触发
onClick
事件 - 更新引擎至 1.2.101,修复内存占用问题
[2.1.0-alpha.67] - 2022 年 12 月 28 日
timeline
: 渐进加载支持动作组- 更新引擎至 1.2.100,修复一些问题
[2.1.0-alpha.66] - 2022 年 12 月 27 日
timeline
: 特效循环和渐进加载- wasd 键盘行进能力优化:精细化转向控制
- 更新
xmit
至 5fb3c9b: 调整内存分配限制,修复全景图过大加载异常问题 - 更新引擎至 1.2.99
[2.1.0-alpha.65] - 2022 年 12 月 25 日
- 修复挂件同步不正确的问题
avatar.setNickName
支持在角色初始化前设置timeline
: 支持面部表情和动态骨骼- 调用
navgateTo
和lookAt
接口时传入的 endCallback 不会再互相干扰 - playground 完善:自动行走增加从上到下走模式、可以展示场景中呼吸点位置、昵称输入新增确认按钮(for 手机)
- 更新引擎至 1.2.97,修复了动画播完后不触发 callback、红包雨点击后不消失等问题
[2.1.0-alpha.64] - 2022 年 12 月 21 日
- 明确不支持 WebGl1 机型,该机型下
world.init()
会返回UnSupport
错误 - 重构无网全景图相关代码
- 精灵图
XSpriteImgSource
每播放完成一次后,会抛出onLoop
事件,具体查阅RichSurface
文档 - playground 完善:跑步漫游路线默认使用跑步动画、提供载具路线限制角度输入框
- 更新引擎至 1.2.94
[2.1.0-alpha.63] - 2022 年 12 月 20 日
- 获取预加载更新类型方法
Preload.getPreloadType()
支持自定义筛选项目filterCallback
,同Preload.start()
- 播放动画接口提供结束回调
- 更新引擎至 1.2.93,修复一些问题,优化镜头和摇杆移动策略
[2.1.0-alpha.62] - 2022 年 12 月 16 日
- 新增键盘按下
WASD
移动的能力 - 优化逻辑,缓解部分机型丢帧卡顿问题
- 全景图支持限制镜头转向,参见
camera.setMainCameraRotationLimit
接口 - 载具路线支持限制镜头转向,通过
room.setSkinInfo()
新增的dynamicPathRotateLimit
参数设置 - 滑屏时会触发事件,支持相关业务逻辑,通过
world.getRotationEvent().on('')
监听 - 昵称
avatar.setNickName
限制最长 18 个字符,超过报错;优化昵称和角色的相对位置 - 修复重连后 serversession 上报不更新的问题
timline
二期需求:支持绑定角色的特效,角色昵称设置,动作批量加载,数据量压缩- 接口报错优化:部分
avatar
接口在执行失败时会 throw err,帮助用户发现问题 这些接口标注了@throws
,包括:changeComponents
addPendant
removePendant
- 更新引擎至 1.2.91
[2.1.0-alpha.61] - 2022 年 12 月 12 日
- 重要更新:
world
新增 致命错误fatalError
事件,开发者必须监听该事件,该事件触发时需要提示用户并 reload;renderError
事件已被fatalError
取代 - 破坏性更新: 接入新版调度服务,
IWorldOptions.env
的值改为sit
/uat
/prod
三种。如果调度失败world.init()
会抛错并无法进房,取消兜底策略 - 支持切换物品显隐组合,
room.setSkinInfo
新增combinationId
入参 - 支持切换至本地全景图,可通过
room.setSkinInfo
的localTextureBomId
设置 - 完善切皮肤、切 path、和全景图切换的错误处理和回退
- 整合 webgl1 和 webgl2 机型下的 tick 逻辑
- 优化日志上报,新增
worldId
、releaseId
、roomId
、skinId
、引擎版本
等基础信息的上报 stat
日志集上报项梳理,删除中文字段;新增了sit
环境的专属上报环境- 更新
xmit
至 03dfa26 : 修复长时间没有重连时,会不停触发disconnected
事件的问题 - 更新引擎至 1.2.89
[2.1.0-alpha.60] - 2022 年 12 月 10 日
- 紧急更新: 接入新版调度服务,
IWorldOptions.env
的值改为sit
/uat
/prod
三种。如果调度失败world.init()
会抛错并无法进房,取消兜底策略
[2.1.0-alpha.59] - 2022 年 12 月 8 日
- 断网自动重连使用断网前停留的位置重新进房
- 优化重连策略
world.spawn()
入参可指定优先级priority
- 更新引擎至 1.2.88.3,修复一些问题
- 空间音频 dispose 后人物会闪烁
- 相机靠人物很近时,人物没有正确被裁剪
[2.1.0-alpha.58] - 2022 年 12 月 7 日
- 记录在各个
path
下的角色位置,回到某 path 时直接出生在离开时的位置 - 优化 sdp 和 xmit 的日志打点,减少重复上报的日志
- 添加
npm run analyze
命令可以获取打包后 SDK 各模块的大小 - 更新引擎至 1.2.88.2,修复一些问题
[2.1.0-alpha.57] - 2022 年 12 月 2 日
world
新增getActorById
方法,方便根据 actor.id 获取到 actorworld.getPlayer
传类型不同会重新创建Avatar
- 修复
room.setSkinInfo
在当前房间会传送失败的问题、切皮肤后无法使用摇杆的问题 - 修复角色昵称偶现高度不正确的问题
- 更新引擎至 1.2.88
[2.1.0-alpha.56] - 2022 年 11 月 30 日
- 更新引擎至 1.2.86,修复一些问题
[2.1.0-alpha.55] - 2022 年 11 月 28 日
joystick
新增获取显隐状态的接口和修改状态的回调- 载具路线结束判定机制优化
- 进房后才开始
stats面板
上报 - 测试用例(playground)补充了一些用例,换装面板添加头部装扮
- 更新引擎至 1.2.85
[2.1.0-alpha.54] - 2022 年 11 月 25 日
- 丰富
stats
上报 - 补充
volume
的测试用例和使用文档 - 更新引擎至 1.2.83
[2.1.0-alpha.53] - 2022 年 11 月 24 日
- 内部请求管理优化,支持竞态取消
- 由
xmit
统一触发重连操作 - 修复横竖屏切换后摇杆、呼吸点、富文本显示异常的问题
- 修复弱网情况下出现花屏的问题
- 修复切换路线后配置可能没有更新,导致第一人称摇杆不工作的问题
- 修复了测试用例(playground)的一些问题
- 更新引擎至 1.2.79
[2.1.0-alpha.52] - 2022 年 11 月 21 日
- 新增屏蔽其他用户状态同步的能力
world.setBlockOthersSyncInfo()
- 修复部分旧机型(webgl1)不能进入全景图、角色状态异常的问题
- 优化网络质量的判断逻辑
- stat 面板可以复制文本,新增 avatar 相关的统计
- 整理测试用例
- 更新引擎至 1.2.76
[2.1.0-alpha.51] - 2022 年 11 月 17 日
- 更新引擎至 1.2.71.6
[2.1.0-alpha.50] - 2022 年 11 月 17 日
- 修改打包参数
[2.1.0-alpha.49] - 2022 年 11 月 16 日
- 网络状况检测器
networkDetector
和 FPS 检测器fpsDetector
在程序切后台时自动停止工作 - 修复 FPS 检测器停止后无法再次启动的问题
[2.1.0-alpha.47] - 2022 年 11 月 15 日
world.getNetworkDetector()
支持设置弱网判断阈值- 优化第一人称下的摇杆体验
- 更新引擎至 1.2.71.4
[2.1.0-alpha.46] - 2022 年 11 月 14 日
VAT
支持挂件类型,以提升性能- 更新引擎至 1.2.74
[2.1.0-alpha.45] - 2022 年 11 月 14 日
- 优化重连、日志上报
- 更新引擎至 1.2.71.3
[2.1.0-alpha.44] - 2022 年 11 月 11 日
- 优化一些内部逻辑
- 更新引擎至 1.2.71.2
[2.1.0-alpha.43] - 2022 年 11 月 10 日
- 优化切房间、皮肤、路线成功的判断逻辑
- 更新引擎至 1.2.71.1
[2.1.0-alpha.42] - 2022 年 11 月 8 日
- 进一步优化重连进房策略
- 修复
avatar
.setNickName
设置昵称位置不正确的问题 - 修复部分路径切换失败的问题
- 更新引擎至 1.2.70
[2.1.0-alpha.41] - 2022 年 11 月 7 日
- 更新引擎至 1.2.69
[2.1.0-alpha.40] - 2022 年 11 月 7 日
world
支持serverless
模式- 修复无法设置画质的问题
- 当前环境(dev/prod)展示在 stat 面板,
stat
新增外部数据上报 - 更新引擎至 1.2.68
[2.1.0-alpha.39] - 2022 年 11 月 5 日
- 针对各种异常情况,多方面优化了 sdk 的重连策略,尽量保证用户在断线后可以自动重连
World
新增stage
状态流转,对 world 各个方法进行更严格的控制和报错,防止开发者调用顺序错误或网络引起的异常- 整理优化
playground
样例代码 - 修复角色昵称位置不正确的问题
- 其他内部逻辑优化 & 更新引擎至 1.2.67
[2.1.0-alpha.38] - 2022 年 11 月 3 日
- 保留主角在各个
房间Room
、皮肤Skin
的位置,离开再回来后直接出生在该位置 - 修复切换房间、皮肤后角色偶现陷入地板或浮空的问题
- 更新引擎至 1.2.64
[2.1.0-alpha.37] - 2022 年 11 月 2 日
- 破坏性更新
ConfigTools
若未查找到目标项,从抛出错误改为返回 undefined - 更新引擎至 1.2.63
[2.1.0-alpha.36] - 2022 年 11 月 1 日
- 破坏性更新
World
构造需要传入IWorldOptions``,World init
不再需要传入IWorldOptions
preload
、stats
、joystick
、voiceGroup
、textGroup
、camera
、networkDetector
等模块改为 get 方法获取到单例模块,如joyStick
需要更换为getJoystick()
- 优化网络连接异常后的重连逻辑,解决多次重连的问题
- 新增空间音频相关能力
- 新增
Avatar
修改挂件可见性、获取挂件接口 - 更新引擎至 1.2.62
[2.1.0-alpha.35] - 2022 年 10 月 31 日
- 支持设置
Avatar
的最大加速度
[2.1.0-alpha.34] - 2022 年 10 月 30 日
- 更新引擎至 1.2.59
[2.1.0-alpha.32] - 2022 年 10 月 28 日
- 新增网络检测能力,从
world.networkDetector
可获知当前网络情况 - 提供比较位置、转向相等,弧度角度转换,计算两点间距的常用数学方法
Stats面板
新增进房时间展示- 支持打开 engine log,便于调试问题
- 修复挂件同步不一致的问题
- 优化 observe 状态下 avatar 的动画状态判定
- 更新引擎至 1.2.57
[2.1.0-alpha.31] - 2022 年 10 月 27 日
avatar.navigateTo
结束回调增加是否抵达终点参数camera
新增isMoving
字段标识其是否正在移动avatar
新增挂件能力- 优化画面中其他角色的运动同步,以支持 observe 功能
- 更新引擎至 1.2.55
[2.1.0-alpha.30] - 2022 年 10 月 25 日
World
增加disableClickNavigation
属性用于禁用点击自动导航- 修复 切房间灰屏问题
- 更新引擎至 1.2.54
[2.1.0-alpha.29] - 2022 年 10 月 25 日
- 更新引擎至 1.2.52
[2.1.0-alpha.28] - 2022 年 10 月 24 日
- 修复 iOS 取消控制中心时画面暂停
- 修复
VoiceGroup
踢别人导致自己被踢的问题 - 优化 进房成功率(xmit:e4ad181)
- 功能 第一人称支持使用摇杆
- 更新引擎至 1.2.50
[2.1.0-alpha.27] - 2022 年 10 月 23 日
- 修复滑步问题
- 修复在退后台返回前台时画面不更新问题
- 修复
autoNavigation
模式角色位置异常的问题 - 更新引擎至 1.2.49
[2.1.0-alpha.26] - 2022 年 10 月 22 日
- 更新引擎至 1.2.47
[2.1.0-alpha.25] - 2022 年 10 月 21 日
- 修复切房间失败
- 回滚引擎至 1.2.43
[2.1.0-alpha.24] - 2022 年 10 月 20 日
- 硬解增加 VoiceGroup 和 TextGroup
- Avatar 增加
lookAt
接口 - 优化 Stats 面板显示
- 更新引擎至 1.2.45
[2.1.0-alpha.22] - 2022 年 10 月 18 日
- 废弃
cloneAvatar
方法,使用spawn template
参数完成克隆 - 更新引擎至 1.2.43
[2.1.0-alpha.21] - 2022 年 10 月 17 日
- Avatar 增加
cloneAvatar
方法用于克隆一个新的 Avatar - 更新引擎至 1.2.42
- 新增 voiceGroup 语音功能
- 新增 textGroup 文字聊天功能
[2.1.0-alpha.20] - 2022 年 10 月 15 日
- World 增加 enableMSAA 属性
- RichSurface 增加
minVisibleValue
属性设置最小可视距离 - 更新引擎至 1.2.41,修复灰屏问题
- 修复换装同步问题
- 增加红包雨导出
- 增加 Timeline Actor
[2.1.0-alpha.19] - 2022 年 10 月 14 日
- 修复获取当前装扮错误
- RichSurface 增加
maxVisibleValue
属性设置最大可视距离 - Avatar 增加
diyFace
捏脸接口 - Camera 增加
switchToMainCamera
和switchToCGCamera
接口 - 新增 FPS 监视器( FPSDetector ),可以用来观测 FPS 当前状况,并且提供 Runtime 状态改变,可以用来执行一些优化
[2.1.0-alpha.18] - 2022 年 10 月 12 日
- 增加 DB 异常处理
- 更新引擎至 1.2.39,修复灰屏问题
[2.1.0-alpha.17] - 2022 年 10 月 11 日
- 修复内存泄露问题(xmit:02b5580)
- 优化设置背景图和镜头设置
- 更新引擎至 1.2.38
[2.1.0-alpha.16] - 2022 年 10 月 10 日
- World 初始化和进入增加超时判断
- 更新引擎至 1.2.37,修复切换房间镜头未更新问题、进房超时问题
[2.1.0-alpha.15] - 2022 年 10 月 10 日
- World 增加
setBackgroundImg
方法 - 增加 Volume 导出
- 更新引擎至 1.2.36
[2.1.0-alpha.14] - 2022 年 10 月 9 日
- 修复 iOS 低版本进房失败问题
- 临时修复 Avatar isMoving 状态错误
- 更新引擎至 1.2.35
[2.1.0-alpha.13] - 2022 年 10 月 8 日
- Stats 面板优化
[2.1.0-alpha.12] - 2022 年 10 月 3 日
- 兼容修复同一项目不同房间数据协议不一致问题
[2.1.0-alpha.11] - 2022 年 10 月 2 日
- 修复 Avatar 抖动问题
[2.1.0-alpha.10] - 2022 年 10 月 2 日
- lod 设置调整
- 更新引擎至 1.2.34
[2.1.0-alpha.9] - 2022 年 9 月 30 日
- 增加 OB 协议
- 更新引擎至 1.2.33
[2.1.0-alpha.8] - 2022 年 9 月 29 日
- 增加 PRD 调度服务
- 更新引擎至 1.2.31
[2.1.0-alpha.7] - 2022 年 9 月 28 日
- Logger 模块不导出
- 更新引擎至 1.2.28
[2.1.0-alpha.6] - 2022 年 9 月 27 日
- 修复其他人同步的位置处理错误
[2.1.0-alpha.5] - 2022 年 9 月 26 日
- 修复其他人同步的位置处理错误
- 修复镜头数据设置
- 更新引擎至 1.2.26
[2.1.0-alpha.4] - 2022 年 9 月 25 日
- 修复中文解码乱码问题
[2.1.0-alpha.3] - 2022 年 9 月 21 日
- 修复重连失败问题
- 修复点击行进滑步问题
[2.1.0-alpha.2] - 2022 年 9 月 21 日
- 修复 module js
[2.1.0-alpha.1] - 2022 年 9 月 21 日
- 修复打包后 undefined 问题
[2.1.0-alpha.0] - 2022 年 9 月 21 日
- 支持硬件解码
[2.0.0-alpha.11] - 2022 年 9 月 22 日
- 统一生命周期及事件
- World 新增一些生命周期函数,
- Room 继承事件,它的实例提供了事件功能,可以用 on 函数监听房间创建、进入房间等时机
- !!BreakingChange: onSkinChanged(targetSkinId: string, prevSkinId: string) 改为 public onSkinChanged(event: ISkinSwitchEvent),参数有所修改
- Avatar 继承事件,它的实例提供了事件功能,可以用 on 监听角色销毁、收到同步信息等时机
- !!BreakingChange: public onReceiveSyncInfo(data: string) 改为 public onReceiveSyncInfo(event: { data: string }),参数有所修改
- 更新引擎至 1.2.25
[2.0.0-alpha.10] - 2022 年 9 月 22 日
- 修复中文解码问题
- Avatar navigateTo、Room setSkinInfo 增加执行结束回调
[2.0.0-alpha.9] - 2022 年 9 月 21 日
- 更新引擎至 1.2.24
[2.0.0-alpha.8] - 2022 年 9 月 21 日
- World 增加
setEnvLightIntensity
方法设置环境光强度 - Joystick 增加
enable
、disable
、setStyle
方法 - 更新引擎至 1.2.23
[2.0.0-alpha.7] - 2022 年 9 月 19 日
- Avatar 在调用
init
方法之后才会开始同步 Avatar 渲染设置 - Camera 新增
pose
、position
、rotation
属性,可以 get 和 set
[2.0.0-alpha.6] - 2022 年 9 月 16 日
- Stats 增加
getRtt
方法获取当前时刻的 RTT - 修复一些状态同步问题
- Camera 模块增加禁用旋转、启用旋转功能
- 迁移 Avatar
movementTriggerMode
开关至 World 下
[2.0.0-alpha.5] - 2022 年 9 月 14 日
- Avatar
changePart
接口重命名为changeComponents
。传入资产的接口中的 id 重命名为 Path - Avatar 增加 VAT 功能
- World 增加 userKicked 事件,当被服务器踢下线时触发
- 导出枚举均重命名为以 E 作为前缀,如
EAvatarComponentType
[2.0.0-alpha.4] - 2022 年 9 月 9 日
- 摇杆增加
movePlayer
属性可用于控制摇杆移动是否触发 Player 移动 - Avatar 增加
movementTriggerMode
属性用于控制切换摇杆/自动寻路行进方式 - 新增广播分流功能,需要在实例化广播的时候传入广播类型
[2.0.0-alpha.3] - 2022 年 9 月 5 日
- 首次发布测试版本