1
« Последний ответ от Elaine Сегодня в 19:08:58 »
У меня плохо получилось, вроде бы новая одежда нормально работает, но видны искажения текстуры на конечном результате (картинка №4 в стартпосте). А задачу решить всё-таки удалось, только не мне, а одному человеку, хорошо разбирающемуся в Блендере. Есть описание выполненных им операций и видео, можно посмотреть эту тему по ссылке: https://render.ru/xen/threads/sozdanie-odnogo-predmeta-odezhdy-iz-dvux.185876/
2
« Последний ответ от sungreen Сегодня в 13:34:52 »
А тебе в конечном итоге удалось соединить эти несоединяемые части?
3
« Последний ответ от Elaine Сегодня в 11:09:50 »
Спасибо, если получится, то это будет действительно отличный скрипт, значительно расширяющий возможности программы!
4
« Последний ответ от sungreen 21 Май 2024, 18:55:06 »
Я именно так и представлял себе алгоритм. Единственное нужен еще один параметр - ширина зоны сшивания S или задать этот участок диапазоном Y1 и Y2, а также алгоритм смешивания, например по кривой Безье. Посмотрю, можно ли это реализовать через geometry nodes. Отпишусь в конце недели.
5
« Последний ответ от Elaine 21 Май 2024, 18:34:14 »
Наверное, не очень много и не очень часто. Просто именно этот конкретный случай явился камнем преткновения, слишком разные сетки у объединяемых объектов. Мне неоднократно вполне успешно удавались подобные операции с этим же низом, но другими объектами в качестве верхней части. Где-то можно было грамотно подобрать текстуру, скрывающую мелкие недостатки на границах объединённой геометрии, где-то не требовалось даже этого.
Детальное описание задачи - если сформулировать кратко, то это удаление ненужных частей двух первоначальных объектов выше (для объекта А) и ниже (для объекта B) заданной точки вертикальной оси Y и последующее объединение оставшихся частей двух объектов в единое целое любым возможным способом.
Как я вижу работу подобной процедуры: имеются два совмещённых в точке координат по умолчанию объекта "А" и "В" (достигается простым импортом из DAZ Studio в формате "wavefront obj" с параметрами по умолчанию). Пользователь указывает любую точку объединения (координату по вертикали), затем указывает объект "А" (будущий низ) и объект В (будущий верх). Остальные операции автоматически выполняет скрипт.
6
« Последний ответ от sungreen 21 Май 2024, 14:58:00 »
Как много и как часто нужно такое делать? Если многократно и это представляется достаточно рутинным, то можно попробовать алгоритмизировать и автоматизировать скриптом. Только тогда нужно более детальное описание задачи.
7
« Последний ответ от Elaine 21 Май 2024, 14:26:25 »
Не знаю насколько это может быть эффективно. Физика ткани в Блендере напоминает мне Marvelous Designer, там ещё приходится усаживать получившуюся ткань по фигуре, автоматически она почему-то не принимает форму базового объекта. Хотя, казалось бы, чего проще для программы прочитать его сетку, прибавить условный 1см отступа и повторить базовую геометрию на создаваемом объекте. Исходные меши базовой модели и обоих предметов одежды доступны по ссылке: https://mega.nz/file/1CYWjJba#bxonNarue29UfThG07OHE5io8X6VSUPfjeYyW_uyVBQ
8
« Последний ответ от sungreen 21 Май 2024, 12:19:36 »
Действительно инструменты Blender не дают сто процентного результата. Насколько понял, нужно проработать технологию, после которой ручная доработка была бы минимальной. Можно попробовать вместо Shrinkwrap использовать физику ткани. Но также потребуются эксперименты. Если есть возможность выложи исходные меши для 3-4 кейсов, чтобы можно провести обобщение инструментов и уже предложить более практичное решение.
9
« Последний ответ от Elaine 21 Май 2024, 11:51:19 »
Цельное тело, разумеется, есть. И этот путь тоже был испробован. Сначала оба объекта были посажены на геометрию базового тела и приняли его форму, потом объединены, но в итоге это не помогло, потому что сама сетка платья сделана так, что отстоит от тела базовой модели на бОльшее расстояние, чем сетка купальника. В результате низ чётко садится на базовую модель, а верх всего лишь закрывает её фигуру, при этом фактически никуда не исчезает расстояние между их поверхностями, просто внешне это становится незаметно, поскольку тела под платьем не видно. Более того, при попытке применить Shrinkwrap в целях плотной посадки платья на базовую фигуру, фигура либо "съедает" часть полигонов платью, либо - если выставить размер зазора - получаем тот же самый эффект разного расстояния между их поверхностями в различных областях. Если интересно увидеть разницу между этими объектами, файл проекта доступен по ссылке: https://mega.nz/file/xWIxwD6R#qp3fojdfKviBUvlc_Pa6BSstLCEAB0u-Z9q9HBS_rms
10
« Последний ответ от sungreen 21 Май 2024, 06:12:03 »
Chey_Tac, интересный способ. Спасибо. Размышления о твоём способе натолкнули меня еще на один алгоритм, возможно уже реализованный. А если не реализованный, то можно попробовать автоматизировать. Допустим, нам всё еще нужен силуэт. И это требуется достаточно часто что бы заморочиться на автоматизацию. Тогда можно с помощью кода выполнить такой алгоритм: 1) упрощенный рендеринг 2) определить контур с помощью нейросети 3) вернуть контур в качестве нового объекта с полисеткой
Я использовал такую последовательность, когда строил барельефы в Blender и разбивал рендер карты глубины на участки. Соответственно и силуэт построит можно.
|
По форуму
Рекламный блок
Последние вложения
|