Переключение между двумя разными текстурами или UV-картами в Meshlab

Я буду создавать сетку вне Meshlab, но буду просматривать ее в Meshlab. Я еще не определился с форматом. Я хочу иметь один файл, который бы содержал все данные - треугольники, УФ-карты и текстуры.

Однако у меня есть 2 текстуры, между которыми я хочу переключаться. Они не должны отображаться одновременно. Представьте, что я хочу показать меш с некоторой текстурой пламени в один момент, но с текстурой цветка в другой - пользователь должен иметь возможность переключаться между ними. Я попытался найти что-то похожее, но все, что я нашел, - это вопросы о том, как объединить несколько текстур в одну видимую, а это не то, что я хочу. Есть способ переключить файл текстуры через Filters->Texture->Set Texture, но я бы хотел что-нибудь менее громоздкое.

Есть ли в Meshlab способ легко переключаться между текстурами / UV-картами? Если да, то для каких форматов это поддерживается?


person M.K.    schedule 26.11.2019    source источник
comment
Почему Set Texture громоздко? Чего вы ждали в обмен на нынешний Set Texture?   -  person Rockcat    schedule 27.11.2019
comment
Сетка будет просматриваться людьми, которые не очень разбираются в технических вопросах, и мне нужно, чтобы это была простая кнопка или ярлык, а не на 3 уровня в глубине меню, а затем вам нужно было заполнить некоторые поля. Нет даже диалогового окна с файлом, и вам нужно установить размер вручную ... это не очень удобно. Я мог бы даже попросить их использовать другую программу, отличную от Meshlab, но я пока не нашел ничего сопоставимого.   -  person M.K.    schedule 27.11.2019
comment
Вы просто используете meshlab в качестве зрителя? Какие еще возможности Meshlab вы планируете использовать? Возможно, вам достаточно сверхпростой программы просмотра, использующей libIGL   -  person Rockcat    schedule 27.11.2019
comment
Да, написать свою собственную программу просмотра - еще один вариант, но я надеялся использовать какой-нибудь стандартный инструмент, если это возможно, а все здесь уже немного знают Meshlab. У меня действительно не так много времени, чтобы написать собственный, заставить его работать как в Linux, так и в Windows, а также распространить его среди пользователей ...   -  person M.K.    schedule 27.11.2019


Ответы (1)


К сожалению, текущий meshlab поддерживает загрузку файлов с несколькими текстурами (например, .ply и .obj), но AFAIK не позволяет пользователю выбирать текстуру / материал для применения в каждый момент. Должно быть очень легко написать собственный плагин для вращения между текстурами, но это еще не сделано.

Одна простая альтернатива, которую вы можете использовать и научить своих пользователей:

  • Во внешней программе создайте два отдельных файла, каждый с одной текстурой. (в этом примере они называются texture1.ply и texture2.ply)
  • Откройте оба файла с помощью meshlab, используя командную строку «meshlab texture1.ply texture2.ply». К настоящему времени вы можете увидеть странную комбинацию обеих сеток, потому что обе сетки визуализируются.

Обе сетки активны

  • Сообщите пользователям, что они могут изменить текущий вид, нажав Ctrl-щелчок на значке глаза рядом с названием каждой сетки. Это активирует одну сетку и деактивирует все остальные.

Ctrl-клик в texture2

  • Вы можете вращать / перемещать камеру в любом ракурсе и повторять Ctrl-щелчок по значку глаза, чтобы перейти к другой сетке, сохраняя текущее положение камеры.

введите здесь описание изображения

Конечно, если вы изменяете сетку (например, выбираете и удаляете некоторые грани), изменения затрагивают только одну сетку, а не другую.

person Rockcat    schedule 27.11.2019
comment
Спасибо. Печально слышать, что Meshlab его не поддерживает. Я бы предпочел не иметь нескольких файлов, потому что это создает много дублирования данных, которое я не могу себе позволить :( - person M.K.; 27.11.2019
comment
Затем ваш следующий вариант - использовать внешнюю программу просмотра или нанять кого-нибудь для написания плагина meshlab для изменения текстуры с помощью кнопки. Сделать несложно, но не делается :-( - person Rockcat; 27.11.2019
comment
Да, в настоящее время я подумываю написать программу просмотра веб-страниц, потому что в противном случае распространение программного обеспечения было бы болезненным (то же самое и с плагином Meshlab). Но это действительно помогает знать, что у Meshlab его нет, потому что тогда мне больше не придется искать его бессмысленно, так что вы сэкономили мне много усилий :) - person M.K.; 27.11.2019