收藏
回答

xr-frame加载模型、多个视频后导致微信崩溃进入安全模式

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug XR-FRAME 微信iOS客户端 8.0.49 3.4.10

在项目中使用XR-FRAME,js动态加载GLTF和多个视频纹理到面片上,视频贴图并用shader进行了透明度的处理。在PC上微信开发者工具无异常,可正常显示。但手机上只要进入这个页面就崩溃(已将日志上传,时间大概是16:30分左右)。

部分代码:

    async beginAnimation(scene, rootNode) {
      let hangmuModel = scene.createElement(xrFrameSystem.XRGLTF, { model: "hangmu", "anim-autoplay": "", position: "0 0 0", scale: "1 1 1", rotation: "0 0 0" });
      rootNode.addChild(hangmuModel);

      const dengtaVT = scene.assets.getAsset('video-texture', 'dengta')
      const videoTsbsMatDengTa = scene.createMaterial(
        scene.assets.getAsset('effect', 'video-tsbs'),
        { u_baseColorMap: dengtaVT._texture }
      );
      scene.assets.addAsset('material', 'video-tsbs-mat-dengta', videoTsbsMatDengTa);
      let dengtaPlane = scene.createElement(xrFrameSystem.XRMesh,
        {
          geometry: "plane",
          position: "0 0 113",
          scale: "198 1 108",
          rotation: "-90 0 0",
          material: "video-tsbs-mat-dengta"
        }
      );
      rootNode.addChild(dengtaPlane);
      dengtaVT.play()

      const haiVT = scene.assets.getAsset('video-texture', 'hai')
      const videoTsbsMatHai = scene.createMaterial(
        scene.assets.getAsset('effect', 'video-tsbs'),
        { u_baseColorMap: haiVT._texture }
      );
      scene.assets.addAsset('material', 'video-tsbs-mat-hai', videoTsbsMatHai);
      let haiPlane = scene.createElement(xrFrameSystem.XRMesh,
        {
          geometry: "plane",
          position: "0 0 112",
          scale: "198 1 108",
          rotation: "-90 0 0",
          material: "video-tsbs-mat-hai"
        }
      );
      rootNode.addChild(haiPlane);
      haiVT.play()
    }

已上传完整的代码片段。

iPhone手机:

回答关注问题邀请回答
收藏
登录 后发表内容