XinFei
XinFei
> WebGL1Renderer @deepkolos 嗯 WebGL1Renderer放在VK的demo里面会崩溃, 而用threejs-miniprogram可以正常运行 -------- 最新结论见最新评论,threejs-miniprogram是108版本,而使用118以上版本虽然显性使用了WebGL1Renderer,但是仍然会导致闪崩
> @SunXinFei 有接入three-platformize的VK报错的代码片段么 @deepkolos 抱歉,没有,不过现象特别明显:官方提供的VKdemo随便一个几何体在我们的WebGL1Renderer瞬间崩溃,
> @SunXinFei 那你是怎么测试😂, 把你测试的demo发个代码片段不就行了? @deepkolos 代码在这里=>>>>> [index的副本.ts.txt](https://github.com/deepkolos/three-platformize/files/7740322/index.ts.txt) 代码在这里=>>>>> 我根据你的这个项目,写个demo,可以看到如果有任意几何体,瞬间崩溃  https://developers.weixin.qq.com/s/P6cQcCmK7QvS而官方这个很稳定
> 我这边安卓测试没崩 @SunXinFei 很稳定, 看到的是一个蓝色的片 > > 可以确认下矩阵求逆的写法是否是对的, 新版three和老的有区别 @deepkolos 我是iphone12 可以试一下IOS,过10秒多必崩, 矩阵求逆 老的是 this.camera.matrixWorld.getInverse(this.camera.matrixWorldInverse) 新的用的是 this.camera.matrixWorld.copy(this.camera.matrixWorldInverse).invert() @deepkolos 嗯 安卓确实不会崩,但是IOS确实崩
最新调查结果: 闪崩原因跟官方的着色器代码有关,但是108版本的three是运行正常的,118之后虽然用WebGL1Renderer,但是仍然会闪崩 ``` this.renderer = new WebGL1Renderer({ antialias: true, alpha: true }) renderGL(frame) { const gl = this.renderer.getContext() const { yTexture, uvTexture } = frame.getCameraTexture(gl, 'yuv') const displayTransform = frame.getDisplayTransform()...
https://user-images.githubusercontent.com/5847281/145974276-f01239f1-f410-49e8-82a9-f66343c24e26.mov
https://github.com/wechat-miniprogram/threejs-miniprogram/tree/master/example 这个没有问题
> en 我用threejs-miniprogram的control源码和three-platformize解决了
> @SunXinFei 有空我找iOS测试机试试 @deepkolos 还有个问题是 demo在真机预览模式下面,如果不【打开调试】,会看不到gltf模型, 【打开调试】才能正常显示, 机型iphone12
> @SunXinFei 微信小程序管理后台配置域名白名单, console会报错提示 @deepkolos good job!