Modollama

Главные вкладки

12

В этом посте я опишу основные моменты при работе со скриптами «modollama». По мере изменения функционала я буду обновлять этот пост.

После установки скрипта в окне Modo, вверху возле Workplane должна появиться кнопка с изображением ламы. Жмете её и появляется окошко со всякой фиговиной. Вот и рассмотрим что там такого я наворотил.


 

Smart Triangulation

Keep UV bounds — ребра которые находятся на границе UV «островов» не будут подвергнуты изменению.

Keep material bounds — аналогично на стыке материалов ребра не будут изменяться.

Angle threshold — максимальный угол между полигонами примыкающими к ребру, то есть если перегиб будет больше указанного угла то это ребро не участвует в триангуляции. Данная опция при минимальном значении позволяет не исковеркать объект вращением ребер, но в то же время если нужно триангулировать не плоскую поверхность, то угол нужно задать больше, к примеру 40°.

Iterations — количество итераций операции, не ставьте большое число, потому что продолжительность увеличивается в геометрической прогрессии. Стандартное значение «5» должно работать достаточно эффективно, если же итераций не хватило, лучше провести еще раз операцию с этим же значением.


Для плоских поверхностей (Angle threshold 0.005°)




Для неровных поверхностей, к примеру ландшафта (Angle threshold ≈20–40°)

 

Fracture

User vertices how cores — использовать «плавающие» вершины как центры осколков. Это вершины не привязанные к полигонам, обязательно в этом же слое. При активации этого параметра Seed и Fragment перестают влиять на результат.

Seed (Генерация) — число характеризующее случайность, при одинаковом значении разбиваться меш будет одинаков. При разных рисунок разбивки естественно изменится.

Fragments (Фрагментов) — приблизительное число осколков на которые разобьется меш, зависит от формы объекта.

Align centers (Выровнить центр) — выравнивает центры осколков по центру их bounding box.

Make UV (Создать UV) — создает UV для полигонов на местах разлома planar методом.

Make material (Создать материал) — создает материал для полигонов на местах разлома с префиксом Slice и именем меша (например, «Slice Pillar»). Если данная опция отключена, то для удобства выделения этих полигонов, им присваивается Part с именем «Slice_part».

Главное условие для меша — он должен быть замкнутым.

Скрипт реализован через булевские операции, а они очень кривые в модо, иногда возникают левые ребра или вертексы, поэтому могут возникнуть ошибки при разбиении, об этом предупредит всплывающее окошко, в каком осколке произошла ошибка. Если это произошло, то возможно у вас очень сложный меш, попробуйте его упростить, или попробуйте разбить с другим значением Seed.

Мало того, после каждой булевской операции меш остается незамкнутым, поэтому приходится проводить «vertex.merge 1mm». Если у Вас маленькие масштабы, то естественно пропадет много вертексов.


Разбиение на 20 кусков (создаются UV, материал и выравниваются центры)




Разбиение основанное на «плавающих» вершинах, созданных с помощью «Vertex Tool»
можно быстро создать что-то типа каменной кладки или дорожки

 

Bake Locators to UV

Запекает в текущую UV карту Проекцию соответствующую текстурному локатору.

Но есть баги, в модо текстурные локаторы работают очень криво, хотя UV Projection Tool проецирует их нормально. Это косяк разработчиков и даже в новоиспеченной 601 версии они его не исправили. Идентичными получаются только Planar локаторы, в остальных случаях возможно будет зеркальное отображение некоторых поверхностей.

Запекать как:

Selected Polygons — только выделенные полигоны.

Current Layer — текущий слой.

Visible Layers — все видимые слои.

All Layers — все слои сцены.

 

Fix UV island

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

Зачем этот скрипт нужен?..

К примеру, Вы сделали модель, она не симметрична, но в ней есть некоторые элементы с одинаковой топологией, и вы хотите чтобы их UV накладывались друг на друга для экономии текстурного пространства. Вручную приводить привязкой вершины утомительно. Вот тут и понадобится этот скрипт. Делаете развертку одного элемента как вам надо, остальные похожие элементы разворачиваете грубо, накладываете сверху того по которому нужно выровнять, для этого примерно подгоняете с помощью UV Sculpt или Soft Drag. Убедитесь что элемент к которому подгоняется был в активном слое. Жмете Fix UV island. Готово!


1) исходные UV; 2) UV одного сегмента приблизительно подогнано под целевой;
3) увеличенный фрагмент; 4) после применения Fix UV island, UV стали идентичными



Надеюсь окажется полезным кому-нибудь.

Насчет багов и т. п. сюда или мне на почту mynglam[мяу]gmail[тчк]com

12 Комментариев

#

Оформление полный ахтунг и картинки как вставить внутрь текста хз. Я устал воевать с редактором постов, пойду посплю.

Кстати, заодно попрошу модераторов удалить из пресетов старые мои Locators2UV и SmartTriangulation, так как они больше не обновляются и входят в modollama.

#

Проблемы с редактированием из-за копипаста из ворда, он прикручивает к тексту кучи лишних хтмл кодов, которые потом не позволяют тебе ничего исправить, только как чистить код. Или вставлять текст через блокнот, в нем кроме текста ничего нет.

#

fracture потестил, ну теперь он работает отличненько, покрайе мере на примитивах. будет возможность в работе потестю на рабочих файлах.

Только вот прогресса полоска вначале дергается, замирает на каком-то значении, и так до конца процесса и не отмораживается. Есть возможность чтонить с этим сделать?

триангулятор тоже радует

Спасибо!

#

С прогрессбаром творится всякая ахинея, он то работает нормально, то вообще исчезает, то изредка обновляется. Пробовал над ним колдовать, безуспешно.

#

Fracture просто мега классная штука!

Bake Locators to UV тут не совсем понял что оно делает без картинок =) Видимо потому что не изучил/вникал про текстурные локаторы… Т. е. тут запекается текстура и при наложении ее на обьект не нужно будет выбирать тип проекции наложения (Солид, планар, бокс…), а просто выбрать UV map?

#

Это в основном для тех кто импортирует на сторону, к примеру в движок игровой.

Так как назначенные локаторы а-ля Cubic, Planar и т. д. не экспортятся. С локаторами удобно работать когда ты правишь геометрию постоянно, UV переделывать и исправлять не надо.