[异常] utils.MeshUtils.createDynamicMesh 在微信小游戏上实机测试有异常

引擎版本

  • 3.6.0 | 3.8.1 | 3.8.2 均能复现
  • 以下内容来自 3.8.2

复现情况

web-mobile打包

  • 手机浏览器访问
  • 情况正常
    web-mobile

wechatgame打包

  • 小程序开发工具 - 实机预览
  • 情况异常 (PC预览也是正常的)
    wechatgame

代码定位

调用

// 唯一的调用
utils.MeshUtils.createDynamicMesh(0, this._geometry, this._mesh, this._options)
// 其中
// this._geometry 仅包含 positions 和 indices16
// this._options 为 null

debug

// debug信息经过下面处理
(node, geometry) => {
  let c = 0;
  this.debugMsg.string = node.name
  // 判断所有y轴均为0.5, 因为输出的模型是xz平面, 所以不会有0.5以外的值
  + ' [is all Y 0.5 ?] : ' + geometry.positions.every((v, i) => (i % 3 !== 1) ? true : (v === 0.5)) + '\n'
  // 将 geometry 序列化输出, 并且缩短浮点数, 以及每3个逗号换行
  + JSON.stringify(geometry).replace(/(?<=\.\d{2})\d+/g, '~').replace(/\{|,/g, s => s === '{' ? s + '\n' : ++c % 3 === 0 ? ',\n' : ',');

打包

  • 包含web-mobile和wechatgame
  • 引擎版本: 3.8.2
  • build.rar (2.8 MB)
1赞