UV Tools 1.4.8

Скрипт для модификации маппинга.

- Интерактивный сдвиг, поворот, масштаб

- Масштабирование под размер в юнитах

- Рандомизация по полигонам, шеллам, элементам

Ссылка на скрипт

Кому не хватило информации в видео.

Почти на каждом элементе интерфейса есть подсказка (как в Corona). Это вместо хелпа.

В любой непонятной ситуации весь UI скрипта будет заблокирован и в самом низу он напишет вам что ему не нравится.

Скрипт работает через процедуры Unwrap модификатора. Это означает, что все манипуляции с маппингом не деструктивны по отношению к оригинальному маппингу. То есть помимо Undo (ctrl+z), можно просто удалить модификатор Unwrap.

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

1) Add/Find

Первый шаг - добавить Unwrap модификатор.

При нажатии поищет нет ли у вас Unwrap на выделенном объекте, и добавит его, если не найдет. Эта кнопка нажмётся автоматически, если на момент запуска скрипта будет выделен какой-нибудь объект. Модификатор может быть добавлен в любое место в стеке, например, перед turbosmooth.

2) Collapse

Сколлапсит Unwrap модификатор.

________________________________________

3) AutoSelect

Если галочка активна, то выделение полигонов будет автоматически расширено до UV шелла. Здесь стоит объяснить что такое UV Shell. Это отдельный элемент маппинга, в анврапе его обрамляют зеленые линии (швы). В разном софте их называют по разному, то UV Islands, то UV elements, то UV shells.

4) Break

Отделит выбранные полигоны в другой UV шелл.

________________________________________

5) Interactive Offset, Scale, Rotate, Flip

Здесь начинается интересное :) Все крутилки и кнопки будут менять маппинг в реальном времени.

6) Accuracy multiplier

Это множитель для оффсета. Если маппинг двигается слишком быстро, то смените множитель на 0.01 и всё будет в 100 раз медленней.

________________________________________

7) Scale to

Скейлинг маппинга к определенному значению в юнитах. Хорошо работает только на квадратном маппинге (например, из Marvelous designer). К тому же, чем сильнее деформирован маппинг - тем менее точный будет результат.

________________________________________

8) Randomize Offset, Scale, Rotate, Flip

Здесь всё просто, вводим значения и жмем Randomize (11), маппинг будет рандомно сдвинут/повернут.

9) Step

Кнопка работает как галочка - вкл/выкл.

Допустим, мы хотим рандомно повернуть маппинг на разных элементах на 90 градусов.

Если Step выключен, то угол для каждого элемента будет выбран из интервала от -90 до +90, а это очень много случайных вариантов, и 33 градуса и 67.8 градуса, и т.д.

Если же Step включен, то вариантов поворота будет всего 3: -90, 0, +90. Это справедливо для любого числа. Например, -45, 0, +45 и т.д.

В видео есть два момента объясняющих работу Step (2:25 и 3:25).

10) 1 Tile Limit

Ограничить рандомизатор одним тайлом. Полезно когда текстура не затайлена. На данный момент несовместима со Step.

11) Randomize mode

У рандомайзера есть 3 режима работы:

- По полигонам. В editable mesh это будут фейсы, поэтому либо конвертируйте в poly, либо кидайте TurnToPoly модификатор.

- По UV шеллам. Я уже описывал что такое UV шеллы выше (3).

- По элементам геометрии.

12) Randomize

Старт рандомизации. Длительность процедуры зависит от количества полигонов или элементов. Прогресс будет виден внизу окна скрипта в виде полоски.

Комментарии (35)

+3
u2shkin
Наконец то опубликовал. Поздравляю)))
+4
petrovich23rus
выглядит хорошо!
0
strong.archebald
да.. теперь скажем нету юви мапу через iD канал и мульти обжект в материалах))
+6
Mike-designer
красава! Дайте этому парню денег!!
+1
скрипт умеет рандомайзить в пределах одной большой но не тайлящейся текстуры? например если это большая текстура мрамора или дерева и я хочу её раскидать по полу с поворотом, но так чтобы не было швов
+3
-NiK-
Если я правильно понял, то нужно чтобы маппинг рандомизировался не выходя за пределы одного тайла. Это интересная фича. Я посмотрю что можно сделать.

В 1.4.7 такого нету, но может ли скрипт помочь зависит от того, как лежит маппинг на полу.

UPD. Ограничить рандомизатор одним тайлом однозначно возможно. Уже знаю как реализовать.
+3
-NiK-
1.4.8 готова и ждет внимания модератора.
Добавил 1 Tile Limit.

В хелпе опишу когда версия обновится на сайте.
0
это было бы шикааарно!
+1
ооо дааа, это же маппинг-скрипт моей мечтыыы!!
слева обычный маппинг, когда текстура не тайлится, справа с галочкой 1 Tile Limit
https://i.imgur.com/x6n1VRY.jpg 
+1
-NiK-
Спасибо за проверку :) я уже доделываю новое видео, а потом версия 1.4.8 будет залита на сайт
0
petrovich23rus
класс! .. напишите в сам пост об изменениях/нововведениях в версиях, всегда полезно сразу увидеть что добавилось в какои версии.
+1
-NiK-
Там довольно большая портянка в теле скрипта. И всё на английском. Вы точно этого хотите? )) И уместно ли это в блоге? Я еще создал форумную ветку.
0
petrovich23rus
ок, я перехотел)
0
DowJones
стоящая вешь!
0
maryata
Вот етот скрипт, думаю будет хорошы, все там можно видет, что получается с мапингом, а вот за PolyMaper жаль, что дала 6 доларов, как прежде работаю так и сейчас.
0
-NiK-
Не будьте так суровы :) именно глядя на PolyMaper я решил сделать этот скрипт.
+1
maryata
Извините мне, можно и не очень коректно, то что сказала.
+1
u2shkin
Ну если смотреть на это с точки зрения разработчика, то вы внесли вклад в развитие данного вида софта и тем самым стимулировали развивать это направление, и в результате получите более совершенный продукт в будущем.
+1
Tmin
Начало очень хорошее, все логично и удобно !!!
Главное чтоб не переставал вкусняшками обрастать в дальнейшем !
0
-NiK-
Ну предлагайте вкусняшки )
0
Tmin
Ну добавить например функцию UV в 3D как в TexTools, только подтянуть ее до чистоты SlideKnit. И чтоб в Real-World по умолчанию, и по выбраному каналу в Unwrap.
0
-NiK-
То есть мне нужно написать функцию, которая уже написана в двух скриптах (как минимум), и в одном из них она работает чисто?
0
Tmin
Надо сделать чтоб работало идеально , чего нет ни там ни там.
0
Lary
Извините за такой вопрос, но как его ставить и открывать? Просто "ран скрипт" - ничего не наблюдаю в максе...
+1
-NiK-
Вместо того чтобы дать вам рыбу, научу вас рыбачить.

Если расширение скрипта .mcr, то скорее всего автор завернул его в макрос. Это значит что после Run или драгдропа во вьюпорт этот скрипт установится в 3дмакс в папку userscripts.
Его нужно искать в Customize и вешать на него хоткей, или класть в меню, или класть в квады, или кидать на тулбар кнопку.
Если категория неизвестна, то нужно его открыть в любом редакторе и глянуть на первую строчку.
Моя категория NikScripts.

Если скрипт с раширением .ms, то скорее всего там не макрос. Тогда Run или драгдроп запустит его, но он никуда не установится.

Если скрипт с расширением .mse, то это то же самое что .ms, но зашифрованное.
0
Lary
Спасибо за развернутый ответ, но сразу рылся в Кастомайзах естественно, UV tools там нету. Скрипт перетягивал во вьюпорт, и запускал ранскрипт. Ничегоююю
0
-NiK-
Вот тут точно ничего нет? Это скриншот https://dl.dropboxusercontent.com/s/0t0b1k8x9nhmp5o/2017-11-10_13-57-57.png 
+2
Lary
Все понятно, а я просто искал по UV tools. Спасибо, все есть!
0
Tmin
Как нормальный юзверь! Ты не одинок! )
0
-NiK-
Вы не поверите, я только сейчас увидел что там опечатка! Ты мне в личку писал, я сам это скриншотил, но только вот сейчас я увидел UT вместо UV :D
Это фиаско!!!

Поправлю в следующей версии.

UPD. При чем это не совсем опечатка. Изначально там была аббревиатура UT, а потом меня попросили поменять на UV Tools, и... ну вот так я поменял :)
0
Lary
Вот именно, а то я ищу и думаю то ли сани не едут, то ли я что то туплю )))
0
vecher
А можно ли добавить масштаб под реальный размер для не квадратных текстур? (пункт 7 описания скрипта)
+1
-NiK-
Сложный вопрос.
Этот размер - площадь. Вернее квадрат от площади. Маппинг может принимать разные формы, не обязательно прямоугольные. Как в этом случае поступать? Исходить из его габаритов?
0
vecher
для произвольных форм габариты видимо единственный вариант. вопрос возник потому что есть текстуры (например arroway) где указаны реальные размеры типа 3х6м. в любом случае этот скрипт уже лучшее что я видел. спасибо за труды
+2
-NiK-
Ничего не могу обещать, но я подумаю на эту тему :)

UPD. Я подумал.
Если забыть о неактуальной для нас W координате маппинга, то у маппинга 2 измерения, он 2д. У него есть площадь (она двумерна) и у него есть 2д габариты. У геометрии же 3 измерения. У неё есть та же двумерная площадь, но её габариты трёхмерны. Маппинг лежит на геометрии и зависит от неё, без геометрии он не имеет такого понятия как размер. Для того, чтобы отскейлить маппинг до 1х1 метра я сравниваю две сравнимые сущности: 2д площадь маппинга и 2д площадь геометрии на которой он лежит.
А сравнить 2д габариты с 3д габаритами не представляю возможным.
Итого - я не знаю как это реализовать даже на мысленном уровне, не говоря уж про код.

UPD2.
На данный момент скрипт для модификации маппинга, не для его создания. Объект уже должен быть замапен хоть как-то. А пропорции задаются как раз на момент создания.
В любом случае для ситуаций с такими мапами нет ничего лучше realworld маппинга. Советую использовать его.