我尝试使用提供的ColladaLoader
导入.dae模型,它在桌面上运行良好但在Android上的Chrome上运行时我发布了一些问题。加载了几何体,但纹理未正确加载。似乎纹理应用于对象但它们没有使用正确的颜色渲染,它看起来都是浅蓝色。
任何人都知道我做错了什么?是否与各向异性过滤相关(因为我注意到chrome mobile不支持?)
答案 0 :(得分:1)
来自three.js创建者自己的答案是,这是与雾glsl代码相关的Qualcomm GPU驱动程序中的错误。为了避免这个错误,请关闭所有phong mateirals的雾属性。
phongMaterial.fog = false;
在修复此错误之前,android上没有雾。
答案 1 :(得分:0)
比较threejs.org网站上的工作和非工作示例,我找到了蓝色纹理的罪魁祸首。它是定向光的阴影映射。不知何故,下面的代码导致Android设备出现问题。
light.castShadow = true;
light.shadowMapWidth = 2048;
light.shadowMapHeight = 2048;
var d = 390;
light.shadowCameraLeft = -d * 2;
light.shadowCameraRight = d * 2;
light.shadowCameraTop = d * 1.5;
light.shadowCameraBottom = -d;
light.shadowCameraFar = 3500;