加载了应用纹理材质的模型只是黑色,不知道如何调试

Posted

技术标签:

【中文标题】加载了应用纹理材质的模型只是黑色,不知道如何调试【英文标题】:Loaded model with applied texture material is just black, don't know how to debug 【发布时间】:2013-12-26 04:59:04 【问题描述】:

我遇到了三个问题,即three.js 没有渲染我的模型。我用JSONLoader 加载模型,用ImageUtils.loadTexture 加载纹理并创建一个MeshPhongMaterial。我的问题是关于如何调试问题,因为基本代码有效。也就是说,完全相同的代码适用于不同的模型,如果不使用纹理,我会得到所需模型的纯色版本。模型/纹理的组合有问题,我不明白,我不知道如何调试它。

我如何弄清楚它为什么不渲染?


我尝试从搅拌机中导出新的文件立方体,但它有同样的问题。因此,尽管导出可能是,但源模型不太可能是问题所在。

【问题讨论】:

检查 webkit 检查器中的网络选项卡以确保所有图像都正在加载? 【参考方案1】:

我的模型没有 UV 坐标,所以即使我导出了 UV,列表也是空的。这当然意味着无法应用纹理。从逻辑上讲,没有办法“计算”three.js 中的 UV 坐标。我在搅拌机中添加了 UV 数据,再次导出,它可以工作了。

【讨论】:

以上是关于加载了应用纹理材质的模型只是黑色,不知道如何调试的主要内容,如果未能解决你的问题,请参考以下文章

vary设定的贴图为啥显示不出来而且渲染之后只是单色而没有纹理

使用vue学习three.js之加载和使用纹理-加载DDSPVRTGA格式的纹理,使用纹理材质创建模型

更改材质后再次加载原始纹理(.mtl)

Three.js 在通过 OBJMTLLoader 加载的对象上的多种材质

使用vue学习three.js之加载和使用纹理-使用TextureLoader加载纹理,使用纹理材质创建模型

为啥3dmax导入模型素材时没有颜色了