В идеале, я бы предложил открыть файл OBJ в Blender, добавить текстуру Ambient Occlusion, как описано в документации Blender , а затем экспортировать в glTF. Остальное будет обработано автоматически с помощью компонента gltf-model
A-Frame и загрузится быстрее.
Если преобразование в другой формат невозможно, вам нужно написать собственный компонент, который прослушивает загрузку модели, а затем проходит через все me sh в модели (их может быть несколько!) и создает дополнительный набор UV:
AFRAME.registerComponent('copy-uvs', {
init: function () {
this.el.addEventListener('model-loaded', function (e) {
e.detail.model.traverse(function(object) {
if (object.isMesh && object.geometry.attributes.uv) {
var geometry = object.geometry;
geometry.setAttribute('uv2', geometry.attributes.uv);
console.log('copied UVs!');
}
});
});
}
});
Этот copy-uvs
компонент должен быть прикреплен к тому же элементу, что и ваша модель OBJ.