gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 23:32:47 26 4
gpt4 key购买 nike

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

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

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

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

  var textModelMesh = FindMeshWithNameInModel(model, "Text");
var textTexture = CreateCanvasTexture("Hello");

textModelMesh.material = new THREE.MeshBasicMaterial({ side: THREE.DoubleSide, map: textTexture})

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

fiddle 链接:https://jsfiddle.net/ajo27ny4/28/

最佳答案

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

三.js R105

关于javascript - 将纹理分配给 Three.js 中加载的 glb 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56424485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com