PolyMaper

PolyMaper -скрипт для 3ds Max который позволяет быстро фиксить текстурные координаты.

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

Идея скрипта возникла при рутинной работе с повторяющимися объектами после боксового мепинга, в тех местах где был виден повтор текстуры. Это особенно касается прямоугольных объектов: стены, доски, паркет, лестницы, перила и т.д.

Приходилось выделять полигон, назначать UVW XForm и двигать текстуру. И так далее.

Скрипт все быстро фиксит, встречаются единичные повторы. но это быстро исправляется. 

Автор идеи - Александр Пазуренко (Paz)

Разработчик - u2shkin

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

+3
rnax
Полезная штука!
+22
u2shkin
Скрипт уже в соответствующем разделе. Спасибо за идею. Принимаются от тружеников 3d рутинные и однотипные задачи для возможной автоматизации в скриптах. Но сразу оговорюсь задачи должны быть вами проработаны и четко описаны а также вы должны знать как их решить в ручную. Фантазии а вот хорошо бы так чтобы было не принимаются)))

Скачать здесь: https://3ddd.ru/3dmodels/show/polymaper 
0
Prog
Просим-просим )))
+1
iolanta989
Я бы хотел скрипт по типу мультимапы, чтобы к примеру когда есть объект стена плитки, кидаешь скрипт и каждому элементу назначался бы рандомный id от 1 до 10 и чтобы ещё рядом стоящие элементы не могли иметь одинаковый id и что бы ещё на некоторых элементах текстурные координаты были вверх ногами или отражённые по Х или Y. Такое возможно? Я бы купил.
+1
u2shkin
Подобная возможность есть в этом скрипте, но она работает иначе без ID, а только по текстурным координатам поэтому менять рандомно цвет текстуры не получится, но соседние объекты точно не будут похожи.
0
StunBreaker
каким образом это реализовано? ) Не подумайте что придирки.. В описании блога написано - что единичные повторы встречаются.. дак встречаются или нет?
0
paz
100% повторов нет, иногда есть близкое расположение элементов текстуры. но это и от текстуры зависит.
бегло просмотрев модель, выделяешь 2-3 полигона и на них генеришь и все. но это в том случае если-то не устроило.
0
StunBreaker
это зависит не от текстуры, а от тупой работы рандомайзера в максе.. ) если вы конечно прикрутили проверку всех поликов на смещение текстур.. но если тайлинг разный на текстурах.. поживем увидим в общем )
0
u2shkin
Вероятность случайная но возможная))) Ровно от -1.0 до 1.0 чем больше элементов тем больше вероятность повтора)))
0
StunBreaker
это всё потому что используете обычный рандомайзер ) ладно это всё не фатально.
0
u2shkin
ну если есть какие нибудь прикольные идеи милости прошу к нашему шалашу)
0
StunBreaker
дождемся реализации - там видно будет )
0
staskenig
Стандартный модификатор materialbyelement не подходит?
+1
grdesigner
За обзор спасибо. Оба молодцы.
+1
paz
Все верно как раз идея и четкая задача важна в таком деле. Тогда и инструмент становится оружием в 3д борьбе! :)
+1
2garyn
Я вот смотрю как много пишется скриптов для макса. А для кад приложений (ревит, автокад) такое возможно? Есть ряд идей в этом направлении.
0
formmaster
Еще как возможно!
+1
Ghonatan
Класс! Один из очень полезнызх маст хев скриптов!
+1
Arrow92
Полезный скрипт))
+2
m03g0ed
В принципе, подобное достигается и родным анврапом. В 3-4 клика. Но это не умаляет удобности скрипта))
0
strong.archebald
вопрос автору, а по каналам его как в юви можно что бы потом к примеру запечь карту или положить поверх развертки?
+3
u2shkin
Пока нет, скрипт работает с 1-м Map каналом по умолчанию, если будет много проголосовавших за эту доработку можно добавить выбор канала.
0
MoJIoKo
да вроде уже придумали такого плана скрипт , я давно еще видос смотрел правда на испанском , вот тут парень где то с ним стекла красит , а точнее его канал там и ищите https://www.youtube.com/channel/UCBma_LcjGyD6EEZFoV9ZnsQ 
0
paz
Дай ссылку прямую.
У нас свой собственный, уникальный с настройками которые нужны нам, а не испанцам и прочим.
0
MoJIoKo
испанец просто обзор делал а скрипт хз кто написал , да scriptspot полно такого .... удачи
0
u2shkin
"Полно такого" будь добр "конкретные" ссылки очень мне поможешь в разработке ))) всё что я нарыл это просто рандомные смещение UVW гизмо на всём объекте целиком, а мне интересна работа на уровне полигонов и элементов.
0
MoJIoKo
а стоп там было рандомно конкретно если на обьектах а не на полигонах , но я не улавливаю суть для каких моментов именно нужны uvw рандомные полигоны
0
paz
ну да в видео я про это совсем не говорил и не показывал.
0
u2shkin
Пересмотри видео ещё раз там как раз описана эта ситуация когда нужны рандомные полигоны
0
eugene132003
а если текстура кирпичей?
+3
paz
тогда дадим тебе лещей! :)
0
u2shkin
Про кирпич если текстура без швов то проблем не должно быть, а вот в рандоме может быть не совпадение рядов в соседних объектах и вы получите "Джагурме" таджик стайл кладку). Но для этого и есть рандом только по U и по V координатам. Для кирпича советую не включать обе галки сразу. Ну и ручные настройки вам точно помогут.
0
nesterovkon
Так а где сам скрипт то скачать?
0
paz
Давай не будем бурчать, а тихо на сайте будем ждать :)
0
paz
чет я с утра стихами заговорил.
Вот мне интересно, находятся же люди которые минусят на канале.
Мне интересна мотивация этих людей.
0
nesterovkon
Я не бурчал, а задал вопрос, урок есть, а скрипт где? Я могу и купить, не важно. Зачем урок, если продукта в доступе нет? Бред.
0
strong.archebald
напоминание что есть такой автор, или релиз продукта перед тем как его выпустить)
0
nesterovkon
Ок.
+1
strong.archebald
хотя с другой стороны автору + что пока еще не переводит все свои уроки в платный раздел) как сделали уже парочка за Артемом..Вот только не понятно за что им админы призовые платили, коль уроков всеравно нет на портале)
0
paz
2 strong.archebald
че за раздел? я что-то пропустил?
0
strong.archebald
да по марвелу ..https://3ddd.ru/users/nguyenvandoan.  практически весь блог был и тут его больше нет)
0
paz
У вас с юмором проблемы?
Второе, разработчик четко сказал, что скоро будет доступен на сайте в разделе скрипты.
0
Zub0
после UVW Box просто кидается UVW Unwrap и при помощи Pack разнообразится, вот и весь скрипт, бесполезная работа
0
paz
Ну да тут лохи, нечем заняться. один умный быстро все делает. разнообразит, потом все руками будет переделывать.
0
u2shkin
А если нужно в конкретном полигоне на 37 градусов текстуру повернуть или тайл ровно в 1,25 раз увеличить так ли вам это просто будет сделать в Unwrap))) Так что прежде чем делать поспешные выводы хотя бы дождитесь релиза)))
0
paz
А зачем? Нужно все сразу обгадить. Наше все, Одесский вариант.
Циля сказала на Привозе рыба дешевле, ничего що там запах не очень и жабры уже давно серого цвета. Но надо брать :)
0
Zub0
потому что все что в ксрипте делается инструментами макса, зачем городить огород, не понимаю, тем более что подобный скрипт уже давно есть, Mass Randomizer, но вам же пофиг, лиж бы чето написать, пофлудить за Одессу ))) смешные вы
0
u2shkin
Спасибо посмотрю "ваш" Mass Randomizer если он действительно делает тоже самое то выкладывать наш PolyMaper не буду.
0
strong.archebald
я нечего по скрипту не говорю -хороший потому и спросил, не понравился бы прошел мимо, но каналы надо по простой причине это как юви мап и трипланекс.. там накидываешь руками там тайлишь без швов.. но в результате ты запикаешь по юви что бы убирать бороды-масок, что бы быстрее рендерилось и в случае чего можно было карту редактировать в фотошопе..а тут выходит выход лишь 1.. портить первый канал потом кидать юви на другие каналы, и перепикать а после кидать юви на первый канал и выравнивать всю развертку под текстуру. Вопрос зачем так мучаться если проще просто сделать юви по первому каналу а все причуды по другим и спокойно иметь свою карту в результате..
0
Zub0
очень просто ) не вижу проблемы, на 1,25 раза это UVW Xfrofm сделает в 2 клика, на 37 градусов повернуть проблема? можно поворачивать в анврапе, в чем проблема?
0
u2shkin
А к примеру 100 раз повторить тоже самое слабо за 15 секунд. Если можете то скрипт вам не нужен)
0
Zub0
это не нужно повторять 100 раз, 1-2 раза за проект, а выделить сразу несколько элементов ив анврапе раскидать никто не мешает )
0
u2shkin
Ну что давай тест устроим ты с "анврапом" и я со скриптом в задаче аналогичной Paz-овской на 50 элементах рандом UVW и просто время сравним чтобы ты успокоился и понял - 15,5 сек. вместе с преобразованием в полигоны, выбором всех элементов и рандомным сдвигом. Пруф можешь засечь по видео Paz-а (с 2:52 по 3:03 минуты видео) ~10 сек.

Жду твоё время "Гоньщик" )))
0
Zub0
все в пару кликов выйдет, если не шаришь как и не понятно из того что я описал, тут уж даже больничка не поможет, думаю даже быстрее выйдет если анврапом )
0
u2shkin
Пруф в студию))) Или сливаешься?
На словах он Лев Толстой а на деле ...
А если не готов ответить за трёп то и не надо флудить самому)
Хотя спасибо за поддержание интереса к посту.
0
Zub0
гг, мальчишки во дворе писями меряются, мне достаточно того что я могу, доказывать не нужно никого ничего, тем более времени на это баловство нет, семья, работа, свои заботы, но мне вас жаль, скрипт для домохозяек хороший)
0
u2shkin
Понятно ответить то не чем, потому что сам понял что за 15 секунд даже 1 элемент не "зарандомиш" только в стеке модификатров будешь секунд 5 рыться чтобы "анврап" найти)))
0
Zub0
уже давно ответил, кто понял - молодец, кто нет - ну п***ц ) кнопочку на анврап можно вынести на панель модификаторов, если че, плюс быстрый поиск по списку нажатием U сделает свое дело, но кто ж виноват что руки у кого-то не оттуда растут, помочь нечем... вобщем основы работы лучше повторить чем иметь 100+ скриптов бесполезных, на подобии генератора свечей ))) ничего личного, просто 3д
0
VladimirG
Комментарий удален
0
RND
Хороший скрипт. Жду не дождусь его в свободном доступе ) Частенько приходится делать домики из бруса и бревна, и когда построю стеночку то текстурка на всех раскопированых бревнах повторяется, и приходится ручками через анврап ее рандомить, этот скрипт сэкономит мне несколько минут времени на каждой стенке.
0
iolanta989
Комментарий удален
0
DieDieDieMyDarling
Пользуюсь для этих целей mass randomizer,но он делает отступы только на отдельных объектах,а тут можно сразу на одном сделать,очень круто,спасибо!
+1
Zub0
новый, велосипед, кто понял - тот понял
0
u2shkin
Посмотрел "Mass randomizer" как я и думал весь смысл вы так и не поняли, посмотрите видео ещё раз и попробуйте повторить то что делал Paz и вы поймёте в чём разница. А именно на уровне элементов в объекте попробуйте сместить рандомно UVW хотя бы 10 элементов чтобы текстура не смотрелась одинаковой и вы поймёте для чего этот скрипт)))
0
paz
че ты перед ним распинаешся? человек явно не в курсе или не понял сути. или просто не в адеквате.
В скрипте все шаги продуманы последовательно, так как я в работе делаю в ручную.
Т.е. в помине точно такого же скрипта быть не может.
Скрипт записан и заточен под работу которую показал я в видео. Люди оценили.
Выкладывай, бо меня уже завалили вопросами когда появится.
0
Zub0
человек, изучите для начала все возможности 3дмакса прежде чем писать что можно сделать а что нельзя, а так страдайте на здоровье, никто не против, просто к здоровой критике привыкайте, раз запостили свою шляпу )
0
-NiK-
Не хотел встревать, и уж тем более принимать чью-то сторону, но у меня вопрос.
Как анврапом можно зарандомить поэлементно? По полигонам понятно, выделил кучу и нажал pack.

Зачем такое нужно это уже дело десятое :)
0
Zub0
ниже описал, в анврапе можно выделять элементы, если не в курсе, и пакует он то что выделил ) я не думаю что для такого нужно видео записывать, разбирайтесь с кнопочками, галочками, это все есть в уроках н-летней давности
0
-NiK-
Перечитайте вопрос.
Для того чтобы анврап запаковал целый элемент нужно кликать на каждом элементе и нажимать Group Selected. В противном случае он запакует его острова по отдельности.
В случае со входом метро это кстати вполне нормально.

А paz я бы спросил зачем именно нужно рандомить поэлементно а не по полигонам?
0
Zub0
не понял ничего, какие острова, есть полигоны, есть элементы, задача не совсем ясна, данный скрипт выполняет функцию сдвига вращения элементов в развертке, за это все я описал что можно сделать в анврапе и ювхформ
0
-NiK-
Данный скрипт выполняет функцию сдвига вращения не элементов развертки (это и есть острова, вполне известный термин), а элементов editable poly. Это разные вещи.
Я не знаю зачем это авторам скрипта, но вы говорите что это легко реализовать через анврап, а это не так.
0
Zub0
мда, ну так двигает он текстурные координаты элементов, полигонов, не важно, а не элементы в эдит поли) полики все на месте
0
StunBreaker
Я по итогу так и не понял... совсем запутался.. скрипт рандомные элементы раскладывает по UVW ?
или Рандомно каждые полигоны?
0
-NiK-
В UI видны обе опции
0
StunBreaker
ага увидел.. кстати вспомнилось.. по элементам и мой старый ещё скрипт раскидывал.. Floor Designer который ) а вот с полигонами пару строк поленился тогда дописать ))
Ну в целом я за то чем больше скриптов тем лучше ,)
0
Zub0
"Приходилось выделять полигон, назначать UVW XForm и двигать текстуру. И так далее." после такого написанного просто возникают сомнения в осведомленности автора в инструментарии макса, вот и все, ничего личного, доказывать бесполезно, а спорить не хочется
люди писяют кипятком, спрашивают номер карты куда денег выслать автору - значит жизнь удалась )
0
Zub0
в анврапе выделаешь свои элементы, либо в эдит поли перед накидыванием анврапа, нажимаешь кнопочку пак, выбрал пару галочек, что бы выравнивало по длине или нет, скейлило или нет и все, он раскидает их рандомно )))
0
paz
Ну распаковал, дальше что. Как разворачивать будешь? ковыряться в анварпе?
Нафиг мне твой анварп лазить за каждым элементов, если нужно что-то поправить и рендамно развернуть или сместить.
В скрипте все функции выведены для этого.
Короче разговор пустой.
0
Zub0
ничего не понял в этой писанине, кого разворачивать? ))) куда лазить не понял тоже, вобщем явно пустой разговор, на лицо незнание инструмента и путаница в терминах... ну так хоть спасибо за поднятие настроения в пятницу
0
strong.archebald
не распинайся... и сделай каналы, и я буду первым кто купит.. конечно по здравой цене..доведи до ума..я даже думаю можно попробовать аутодеску впарить..
+1
u2shkin
Уже добавил каналы )))
+1
c3dm
Экономит время - самое дорогое ). Спасибо
0
paz
Мне это вот, что напомнило https://www.youtube.com/watch?v=7AyJkcLWabc 
0
-NiK-
Скрипт назначает uvwxform на каждый элемент/полигон? Это невероятно уныло и медленно :)
Есть вариант в десятки раз быстрее - один модификатор unwrap и его процедуры. Там тоже можно пройтись по элементам скриптом.
И undo стэк не придется засирать, можно просто не коллапсить модификатор и юзер может его удалить/изменить/сколлапсить.
Но для этого нужно всё переписать :)
0
u2shkin
Интересная идея)))
0
-NiK-
Если будут нужны подсказки, то лучше в личку
+1
strong.archebald
я за выкладку скрипта а потом переписывайте))..
0
paz
ну пару секунд занимает просчет. функции выполняет и это главное.
0
strong.archebald
ну все.. тогда ждем скрипт.. Для умных и соображающих это будет хороший кусок работы упрощен..
0
-NiK-
Среди этих утилит тоже кстати есть рандомизация, и работает очень быстро. Находится в Tools. http://www.polytools3d.com/polyunwrapper/index.html 
Версия 4.2.7 есть на самизнаетекаком сайте.
0
u2shkin
Спасибо за полезную ссылку посмотрел да действительно Polyunwrapper делает тоже рандом UVW оффсет, поворот и тайл текстуры и делает это быстрее моего скрипта. Но он не понимает элемент как целое и делает только рандом полигонам а не элементам. Поэтому я считаю что именно в этом преимущество моего скрипта. Да медленнее но мой скрипт сохраняет общий мепинг для всех полигонов в элементе))) На словах может не понятно но если показать то каждый поймёт увидев разницу. Ну и ещё из плюсов моего скрипта раздельный рандом для U и V координат. Как раз кто то спрашивал про кирпичи с рандомом от Polyunwrapper как раз получится таджик стайл кладка с пляшущими кирпичами.
0
-NiK-
На самом деле вы зря сагрились на Zub0 т.к. он был абсолютно прав, независимо от того как он это выражал :)
Дело в том, что вы выполнили задачу, но задача изначально не имела смысла. Объясню. Если поли элемент имеет бесшовный маппинг (развертку) то любой анврап воспримет его как единое целое. В противном случае он будет воспринимать его не по полигонам, а по элементам маппинга. Я пытался представить ситуацию когда необходима рандомизация именно по поли элементам, а не по элементам развертки и у меня не вышло.
Не надо искать в этой критике желание обгадить. Я в дружелюбной форме пытаюсь объяснить, что вы даете вредные советы. Либо объясните почему я не прав.

P.S. polyunwrapper умеет по отдельным осям.

UPD. Впрочем, я погорячился насчет вредных советов. Если кому-то нужно рандомить по полиэлементам, то кто я такой чтобы говорить что это неправильно :)
0
paz
вот как раз по осям и нужно. если рендомить сразу по двум к примеру, у меня стыки получаются когда текстура не бесшовная. короче, полезно с досками и прочим.
вот к примеру сундук https://b3.3ddd.ru/media/images/tinymce_images/0843a2a03282afcb049620731b5a7eb4.jpeg  https://b3.3ddd.ru/media/images/tinymce_images/9a2b85173c484ca36aaa8460b7d997c6.jpeg 
Всегда найдется инструмент лучше, круче.
Все верно сказано, сделано под мои задачи. Я изначально ставил задачу сделать через UVWXForm. так как фиксил именно им. мне чтоб сдвинуть на полигоне или группе полигонов текстурные координаты не нужна развертка. Лично мне так удобно.
Задачи решает на отлично. кто хочет, будет пользоваться. Кто хочет сделает или закажет скрипт лучше.
И к стати скрипт очень простой и удобный. И написан он достаточно быстро.
0
u2shkin
Да сори тут ещё надо адвансед специально открыть чтобы залезть в эти настройки, ну тогда остаётся только преимущество мепинпа по элементно. Ну и цена конечно он 30$ стоит. Хотя врятли ктото не сольёт его с народных саитов)))
+1
Zub0
uvwMap c чекером Face, сверху unwrap, релакс, пак - получился рандом по полигонам, делаю на перголах, заборах... почему-то люди думают что unwrap, uvwmap, uvwxform это что-то разное, на самом деле все эти инструменты работают с текстурными координатами, сдвигая с помощью uvwxform текстурные координаты элемента развертки или конкретного полигона в определенном канале оно подвинется в окошке uvwunwrap, просто там это визуально видно
0
-NiK-
Совершенно верно. Изначально непонятно почему нужно именно по полигональным элементам, а не по элементам маппинга (которые я назвал островами, еще их называют shell).
Но вот именно рандомизации (pack это всё таки не совсем рандомизация, хотя эффект похож) в анврапере нет. Я для этого полианвраппер и оставил пока что.
0
u2shkin
Ну скоро у вас будет возможность сравнить с PolyMaper-ом ))) я полазил по "полианвраппер"-у всё таки разница есть в результатах в компактности самого скрипта и наглядности во вьюпорте.
0
-NiK-
Мне идея то ваша нравится, а реализацию я за пару часов и сам себе написал через unwrap, это банально в 10 раз быстрее и нет проблем со стэком модификаторов и инстансами.
Жаль скорости polyunwrapper я достигнуть не смог, не понимаю как он сделал, а дешифровать mse не получилось :)
0
u2shkin
там dll библиотека) а в .mse только интерфейсы, так что возможно на С++ написана, а dll-ка какая то не стандартная или зашифрованная обычными средствами не открывается)))
0
-NiK-
Точно, мне показалось там в utility.mse что-то интересное, а размер файла не глянул. Тогда не удивительно что он работает быстрее моего :D

Спрошу у автора это С++ или ms
0
u2shkin
Ну наверно не дураки работают "шифруются"
0
ewwa111
вот написали бы скипт, который бы анврап заменил на более простой метод,что бы ткнул в кнопочку и все красивенько разложилось по нужным местам- такой и продавать было бы интересно.
насчет заявок на скрипты- есть у меня скрипт-он показывает габаритные размеры элемента или группы и плагин к нему - который масштабирует объект не не на проценты-как макс, а конкретно на размер, до сотых. только он перестал работать после 2009 макса. с ним было реально удобно работать. могу прислать в личку. поковыряете или свой более удобный напишите, если, конечно интересно.
0
-NiK-
miauu's Scale Tool должен действовать похожим образом.

Хороший анврапер надо писать на C++. А главное зачем, автодеск с каждой версией анврапер улучшают, есть плагины анвраперы, есть unfold3d, есть богомерзкий UV Layout и т.д.
Инструментов то куча, и пожалуй худшее что можно сделать это написать еще один на maxscript :)
0
strong.archebald
бо лохи создают велосипед когда могли купить полезное, зачем покупать арнольд когда можно было оставить ментал рей который выдавал крутую картинку+ купить юви леут и подключить его как мадбокс.. Опять же можно было развивать мадбокс.. можно было выкупать у ребят скрипты и вписывать их в корневую кода софта итд и тп)
0
u2shkin
Повторюсь скрипт писался под конкретного человека и его задачи, если у кого то есть аналогичные задачи пожалуйста пользуйтесь. "Профи" мепинга сочтут его не достаточно крутым, быстрым и даже бесполезным, но тут уж есть большой выбор других инструментов с ценником по несколько 1000$ тут же сумма порядка 100р. Какие ещё могут быть вопросы?
0
u2shkin
to ewwa111
Если это плагин то он наверняка скомпилирован под конкретную версию макса, а декомпиляция это нарушение авторских прав))) а про скрипт если он в .ms формате можно посмотреть может чем помогу. Хотя скрипт и так должен работать не в зависимости от версии Макса
0
StunBreaker
декомпиляция это не так просто ) не каждому ТОП хакеру это удается с тем или иным продуктом )
А почему только .ms ? ещё же есть .mse )
0
u2shkin
Ну сам понимаешь если .mse то автор не хочет показывать код, хотя для меня всегда интересно посмотреть как написано и .mse но это чисто для самообразования.
0
StunBreaker
это хорошо когда так ) плохо когда с обфускацией сталкиваешься.. там хоть .mse хоть .ms - ни черта не понятно ))
+1
u2shkin
Ну и в открытом коде не всегда понятно логику автора))) Иногда смотришь и думаешь во накрутил "костылей" можно гораздо проще было написать. Но рабочему коду в листинг не смотрят)))
0
ewwa111
плагин этот написал мой знакомый специально под этот скрипт, он уже в 3д не работает, а то бы поправил, так что, думаю ничего страшного не случится, если Вы его поковыряете.
0
u2shkin
Скидывайте ссылку в личку, но что то ситуация странновата "бывший 3D-шник" да ещё и знакомый, и поправить вам не может. Значит не сильно он вам знакомый))) ничего обещать не буду, но посмотрю.
0
Bestviz
Еще есть хороший скрипт LazyMap, который рандомно и с вводом значений вращает и выравнивает текстуры на нескольких разных объектах.
Тут кому интересно:http://www.scriptspot.com/3ds-max/scripts/lazymap