THREE.js:使用JSONLoader加载模型只加载一半纹理

时间:2013-03-03 23:42:49

标签: javascript three.js

在混合器中制作房屋模型之后,我将它作为单个对象导出为three.js json格式,但在将其添加到场景时,我显示了一半纹理,另一半只是灰色网格。

JSON URL(带有绝对纹理图像链接):http://pobegushki.meetroll.net/inn1.js 我在blender中获得的内容以及我在制作中获得的内容的屏幕截图:http://touhou.ru/upload/78c7239c8306d7ee6d6ad6304935b3e1.jpg

还有两个桶型号的实例,它们都具有完美的映射材料。我尝试将桶形图像设置为地板材料(简单的缩放框网格),但没有任何改变,它仍然保持灰色。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为文件加载器/ Loader.js(Rev56)中存在错误。在第332行,尝试替换:

if ( m.mapDiffuse && texturePath ) {

通过

if ( m.mapDiffuse && texturePath != null ) {

(当然所有类型的纹理都有相同的bug)

我在本周末偶然发现了这个错误,我的纹理没有显示,因为texturePath = ""

答案 1 :(得分:0)

TATATATAAAM!我已经解决了这个问题(愚蠢的方式tbh ,但我得到了完全纹理化的模型)。

看哪:http://touhou.ru/upload/56e75518ab580497358741bec62491ff.png

Blender three.js导出为我得到的所有无纹理网格创建空纹理,我尝试将非空材质复制粘贴到空。经过数千次页面刷新后,我将正确的材质分配给了正确的网格。

花了很多时间,我想我应该提交一个bug报告:(

更新:以下是出口时这些材料为空的原因:

http://touhou.ru/upload/9f9d879cbf4964f8343e610d6930fe1a.jpg

在第一张图片中,我选择了一个在生产中有纹理的网格,第二个是没有纹理的网格。

感谢您的关注!