Присвойте текстуру загруженной модели GLB в Three.js - PullRequest
0 голосов
/ 03 июня 2019

Я загружаю простую модель glb, созданную в SketchUp, используя Three.JS.Модель содержит группу с именем Текст.

. Модель загружается и отображается нормально в Three.js, и я могу найти сетку, пройдя по загруженной модели.

Я хочу создать некоторый текст изатем отобразите этот текст в виде текстуры на модели.Но когда я назначаю текстуру, она просто черная.Если вместо этого назначить цвет, он работает как задумано.Я пробовал много разных вещей, но текстура просто остается черной.

Я назначаю, используя следующий код:

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

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

Как мне получить текст для отображения на загруженной модели?

Скриптовая ссылка: https://jsfiddle.net/ajo27ny4/28/

1 Ответ

1 голос
/ 03 июня 2019

Геометрия вашей сетки не имеет текстурных координат.В этом можно убедиться, отладив атрибуты буфера объекта геометрии.Существует только атрибут position и normal, но нет атрибута uv.Я предлагаю вам убедиться в правильности текстурных координат в SketchUp и затем выполнить новый glTF экспорт.

three.js R105

...