537583827
537583827
  • 发布:2024-06-20 09:08
  • 更新:2024-06-20 09:28
  • 阅读:232

threejs 使用TextureLoader().load载入纹理贴图报错 {"isTrusted":true}(iphone ios系统)

分类:uni-app

使用 <script module="three" lang="renderjs">引入three.js,构建载入3D模型android和iOS 没有问题
但是 修改纹理贴图,这一步iOS 获取不到纹理图片报错


const textureLoader = new THREE.TextureLoader();  
const floorColor=textureLoader.load('./static/glb/guo.png',()=>{  

},undefined,err => {  
console.error('An error occured:', JSON.stringify(err));  
console.error('An error occured:', JSON.stringify(err,["message","arguments", "type", "name",]));  

});  
const material = new THREE.MeshBasicMaterial({  
    map: floorColor  
});  
child.material=material ```  

在app上控制台打印内容很少,只显示 An error occured: {"isTrusted":true}  

目前查到的问题可能是:1.由于iOS15以上 苹果官方修改了纹理贴图机制,three.js没有解决 2.跨域  
但经过跨域处理 和 对iOS 单独处理,依旧没有效果  
希望大家给予帮助, 谢谢!
2024-06-20 09:08 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com - 前端开发小菜鸡

import 这个图片给引用试试,在 app 上好像是一个临时文件地址

  • 537583827 (作者)

    图片接口返回的,腾讯云上的图片地址,我以为是跨域问题,就放本地了试试,不行

    我担心事临时文件地址读取不到,使用这个方法plus.io.resolveLocalFileSystemURL存储并再取出来获取到资源路径,也不行

    2024-06-20 09:48

要回复问题请先登录注册