在Three.js中将纹理分配给已加载的glb模型

时间:2019-06-03 09:27:25

标签: javascript three.js 3d gltf

我加载了一个使用Three.JS在SketchUp中创建的简单glb模型。该模型包含一个名为“文本”的组。

模型在Three.js中加载并显示正常,我可以通过遍历加载的模型找到网格。

我想创建一些文本,然后将该文本显示为模型上的纹理。但是当我指定纹理时,它只是黑色。如果改为分配颜色,则它将按预期工作。我尝试了很多不同的东西,但纹理只是保持黑色。

我使用以下代码进行分配:

regexp_extract(filepath, '^/[^/]+/([^/]+)', 1)

如何使文本显示在加载的模型上?

中部链接:https://jsfiddle.net/ajo27ny4/28/

1 个答案:

答案 0 :(得分:1)

网格的几何没有纹理坐标。您可以通过调试几何对象的缓冲区属性来看到这一点。只有positionnormal,但没有uv属性。建议您在SketchUp中确保有效的纹理坐标,然后执行新的glTF导出。

three.js R105