Как наложить несколько текстур на одну модель в рамке

У меня есть модель в Maya/ Blender, которая имеет несколько UV.

Я думал, что.mtl имеет всю информацию о материалах / текстурах (как я могу видеть ссылки в.mtl), но мне нужно связать каждую текстуру с объектом @ src="texture.jpg".

Есть ли другой способ, кроме как объединить эти текстуры в фотошопе / gimp или разбить мою модель на отдельные.obj, имеющие свою собственную текстуру?

Должен ли я узнать больше о пользовательских настройках затенения в aframe / three.js @ registerShader?

2 ответа

Решение

Формат OBJ/MTL не поддерживает несколько наборов UV. Возможно, он не поддерживает несколько материалов с одинаковой геометрией, я не уверен. FBX и Collada поддерживают несколько UV, так что вы можете попробовать один из них.

Но поиск по запросу "Threejs множественные UV" показывает, что без пользовательских шейдеров сделать несколько UV не так просто, даже если у вас более новый формат модели. Возможно, я бы попытался запечь ваши несколько ультрафиолетовых лучей в одном наборе в программном обеспечении для моделирования, если это возможно.

Файлы MTL могут связывать разные карты текстур с различными группами материалов в файле OBJ, но файл OBJ может описывать только один набор UV для каждой грани. Независимо от того, поддерживает ли ваш OBJ-писатель или OBJ-читатель THREE, это другой вопрос.

На заметку: реальная спецификация Wavefront OBJ интересна тем, что она поддерживает все виды вещей, которые никто не реализовал после 1999 года или около того, включая патчи NURBS с обрезанными кривыми и карты текстуры 1D (в основном LUT)

https://en.wikipedia.org/wiki/Wavefront_.obj_file

Другие вопросы по тегам