Floor Designer ( скрипт для 3dmax )
Всем привет !

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

5537a5a94c7dd4dabe629d705ef16b7f.jpg

Floor Designer - генерирует поверхность из выбранного мэша.  

Всё что вам нужно это выбрать объект (любой мэш), выбрать объект для поверхности (можно выбрать Spline). Постарался учесть все необходимые настройки для генерации различных типов покрытий.

5640143122c7c2ac9bc57a26ca648c42.jpg

89a9e86d8a68ed2198bdbf577c4f641e.jpg

По своей логике похож на Floor Generator, но FG сильно ограничен малым количеством прессетов.

С Floor Designer можно создать любую геометрию.. и ничто кроме ресурса вашего компьютера вас не ограничит smiley-wink.gif

3715bcfc1efdd6e4a82505cc42e12535.jpg

Если вы ещё не смотрели то обязательно посмотрите этот видео урок по использованию, в уроке приведены примеры с простыми формами покрытий, и всеми другими функциями скрипта.

Что ещё?

Автоматическая развёртка в "один клик" двух типов Local и Box

Local - создаёт развёртку относительно локальных координат элементов, создавая при этом у каждого элемента случайный отступ(offset).

Box - создаёт развёртку аналогично UVW Map - Box, так же создаёт случайный отступ.

Назначение случайных материалов в "один клик" (MaterialID)

Тайлинг текстур, создаёт модификатор UVW Xform, где вы можете быстро настроить "Тайлинг текстур" либо повернуть их.

Важные заметки:

1

Если вы хотите отменить/прервать генерацию нажмите клавишу "Esc"Генерация как правило занимает считанные секунды  - если речь не идёт о больших или тяжелых формах и площадях. Поэтому не рискуйте вашим временем и не сохранённым проектом, проверьте на маленьком участке прежде как применить на большом. Потому как в некоторых случаях такую тяжелую генерацию будет невозможным отменить клавишей "Esc", макс зависнет, придётся закрывать его через диспетчер..

либо ждать smiley-wacko.gif

2

Генерация строится строго по оси X, если геометрия не квадратная то её нужно развернуть аналогично.

Пример где я использовал геометрию обычной доски со случайным отступом до 100% от длинны. 

22a948ac05ecd25a5c1fba2892d07bed.jpg

27a7d2b97a990c5c05d504db5fd0c58c.jpg

Где взять скрипт ?

Скрипт находится на нашем сайте в разделе"Скрипты"

1586259f3e99157225631725b257d7eb.jpg

Чтоб быстро осознать полный функционал посмотрите видео урок который указан выше, он не займёт у вас много времени.

Просьба отписаться по работоспособности разных версий 3d max. (2015 и 2017 полёт нормальный).

Так же если вы найдете какие-то недоработки/баги просьба отписаться.. 

Надеюсь вы найдёте скрипт полезным для себя!

4adb9239282e58cce213781e83066719.jpg

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

+2
Kenzo80
Ух ты. На чём писали сие творение?
Оч интересует кодинг, давно приглядываюсь и завидую тем, кто шарит)
+13
StunBreaker
спасибо! чистый maxscript. интерфейс и само окно скрипта на dotnet )
+2
sla3d
о, вот это жесть, вот это круто и полезно! спасибо
+6
StunBreaker
рад что вам стало полезным )
0
c3dm
ты мозг
0
StunBreaker
))
+2
ObukhovMaksim
от Floor Generator отлчияется сие чудо лишь бесплатностью и авто разверткой?)
+7
StunBreaker
эмм вообще как бы тут своя геометрия любая может быть ) ценой, и да... авторазверткой )
p.s. скрипт не для всех бесплатный )
+10
grdesigner
За ознакомление спасибо, но пользоваться не буду. Сравнивать стану с прямым конкурентом Floorgenerator далее как FG.

1. Нет интерактива.
2. Мне лень создавать элемент доски. Я хочу просто указать ее размер. К тому же бывает размер не фиксированный. Гораздо проще поставить разлет по длине в самом скрипте, нежели создавать очередные доски.
3. Субъективный фактор, но мне не нравится интерфейс. Цветастость отвлекает.
4. Нельзя менять направление досок.
5. Муьтитекстура удобней мультисаба.

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

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

Насколько я помню FG стоит 20 евро. Свои деньги он полностью оправдывает.

У Вас серьезный конкурент и будет сложно переманить пользователей, но в любом случае успехов Вам в дальнейшей разработке.
+8
StunBreaker
Спасибо за отзыв - очень конструктивно ) разберу по пунктам:

1 - интерактив у скрипта дело не простое, сравнивать скорость плагина из c++ и скрипта ms тоже будет глупо. Можно конечно подумать над облаком точек создаваемых объектов.. Но и с этим всё не так просто, с доской то ладно, а если будет тяжелая геометрия.. интерактив сразу стоял важным для меня моментом, но его реализация на MS немного ставила в ступор - пришлось идти другим путем, максимально был оптимизирован процесс генерации (даже вьюпорт выключается чтоб сэкономить ресурсы). Тем самым занять минимальное время. Как то так )

2 - насчет лени уж и не знаю что и сказать =)) бывает и такое - иногда мне лень даже 3д макс открывать =) Но всё же приходится это делать, и работать.. ) доска может быть из 6 полигонов - чистый бокс, а может быть из 1000, классическая доска с кривизной и деформацией с фиксированными отступами фасок. и т.д. Здесь будет сложно указать ей просто размер на 80% так как речь пойдет о скалировании и размеры фасок сожмутся - думаю вы поняли о чем я.
Поэтому FG делает это на примитивах с 6 полигонами, + фаска по ребру ) Отсюда и рандом на длину доски - ничего сложного сгенерировать доску рандомной длинны, ежели сложную геометрию которую вы выберете. ) Не Думаете же вы что FG так же легко в интерактиве показывал бы любой мэш? как он показывает доску из 6 поликов )

3 возможно ) на этот пункт нужно мнение нескольких хотя бы людей )

4 направление можно менять, саму доску(если доска) не нужно вращать - она располагается параллельно оси X длиной стороной, если хотите просто развернуть на 90 градусов - включите флажок "Повернуть на 90", если нужен конкретный угол, просто поверните вашу плоскость. В видео уроке все пункты работы скрипта разобраны.

5

Я бы с этим по спорил честно ) Но это уже как говорится каждому своё, на вкус и цвет..
А всё потому что Мультисаб это жесть - зачем такие сложности..

Лучшее исполнение будет связанно с MaterialID, в видео я использовал Vray rt gpu, один материал VrayMtl - в диффузе лежал VrayMultiSubTex - думаю вы знаете как он работает, на каждом движке есть аналоги этих карт.

В короне это CoronaMultiMap, проверял даже на FStorm - FStormMultiTex..
Идеально работает скажу честно, просто закидываю картинки разного дерева. Саму развертку уже делает скрипт раскидывая плашки случайным образом.

Какому функционалу из FG он проигрывает?

Да и если уж быть до конца честным - этот скрипт я писал когда-то для себя, делая частую пвх плитку разных раскладок в общественных интерьерах - там FG мне не мог помочь своими стандартными раскладками. Тогда он был конечно простым на вид - и весьма тяжелее по времени генерации. И уж потом всё допиливал в лучшую сторону.

Хотелось просто дать знать о нем, мало ли может кому-то он будет также полезен, как и мне. Поэтому FG не конкурент мне - а единомышленник =)

Спасибо вам за отзыв, будем расти )
+2
grdesigner
Отвечаю по пунктам.
1. Про скорость имел ввиду не скорость работы скрипта, а вообще в целом работы с ним. В FG изменил параметр, нажал Update и готово. У Вас придется удалять сгенерированный и генерировать новый.

2. Согласен у FG есть ограничение, у Ваш же развязывает руки, при этом большой плюс, его условная бесплатность.

3. Да, я поэтому и написал, что субъективно.

4. Вот не хочу я плоскость разворачивать, считайте что я перфекционист и не люблю когда геометрия в геометрию врезается. Бывает необходимо разворачивать на 45 градусов. В Вашем случае придется либо плоскость разворачивать, либо сам образец и генерировать заново.

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

6. Да всему проигрывает. Вы же видели сколько настроек у FG.

Для меня главное преимущество это скорость внесения правок и интерактив.
Ваш скрипт хорош для тепличных условий, когда точно знаешь размеры, отступы и за один раз сгенерировал. Но часто, вернее почти всегда надо править и хорошо когда все происходит на лету.

Банальный пример, плитка в СУ.
Заказчик выбрал, ты сделал. Ему не понравилось. Решил выбрать другую плитку. Повезло надо просто поменять текстуру. Не повезло, новые размеры. В FG с этим проблем нет. В окошке вбил новые размеры, получил новую плитку.

Отступы. С паркетом понятно, а плитка часто нуждается в раскладке. В FG четко можно указать отступ от края, что бы подрезка оказалась в менее видимом углу. Заметьте здесь не надо сидеть с линейками и калькуляторами, что бы вычислять. Все делается в интерактиве. Удобно? Да. Быстро? Да.

За Вашу честность спасибо, я так и понял, что он в основном писался под конкретные задачи, но для общей массы слишком много нюансов.

Пока у Вас плюс в условной бесплатности или невысокой стоимости, но 20 евро, не такие уж и большие деньги за расширенный функционал в FG. Вы говорите за уникальные геометрии и в этом правы, но есть Rail Clone, который решает эти вопросы, и многие другие. Стоит 240 евро. Не мало, но опять же любой крупный проект его с лихвой окупает, а потом служит для более мелких (типа фигурный паркет разложить).

У Вас неплохой скрипт, но очень узкий в применении. Для новичков подойдет, профессионалам же хочется большего. Если не жлобиться и откладывать по 10% от ЗП в фонд развития, то оказывается очень много вещей можно себе позволять, что бы улучшать и ускорять качество своей работы. В любом случае Вы молодец.
+3
StunBreaker
Хорошо, спасибо, я учту все пожелания на будущее - у меня же не стояла цель коммерческого заработка на этом скрипте, поэтому получилось так как получилось =)

P.S. я так и не нашёл сильно особых отличий функционала в FG, тупо не могу даже доску раскидать рандомно по высоте Z, может я делаю что-то не так. )
0
kapitan_starodub
То что мультитекстура удобней мультисаба - это только ваше мнение)) учитывайте это в комментариях.
0
grdesigner
Очевидно ведь, что комментарий субъективен.

Тем не менее интересно, почему Вы считаете иначе?
+3
kapitan_starodub
Хотя бы потому что мультитекстуру не откроешь без ее установки. У меня свой перфекционизм и он заключается в независимости проектов от сторонних плагинов. Но это субъективно))
0
grdesigner
Отчасти согласен, но:
- плагин бесплатен.
- использовать можно в каждом интерьере. Для меня профильное направление.
- альтернатива multisub+materialbyelement, но для быстрой настройки шейдера это боль. В каждый залезь, подкрути reflect, bump это минимум. Когда их 10-15 зря тратишь время. А любые однотипные движения, я стараюсь автоматизировать. Как вариант, поискать или написать скрипт, который бы смотрел все значения в первом материале мультисаба и ставил их в каждом по списку вниз.

Все взвесив, я себе его установил, на ряду с floor generator'ом. И хоть при запуске Маха они подгружаются, что как минимум замедляет загрузку, постоянное их использование ставит эти два плагина в ряд особо нужных. Кроме них еще стоят: vray/corona, growfx, И наготове forest pack. В остальном стараюсь обходиться стандартными средствами. Мах работает довольно стабильно и быстро.
0
StunBreaker
плагин есть плагин, сильная его сторона во многом, но и есть слабости - как минимум это требование его установки и совместимость 3д макса версии. Благо FG и MT(MultiTexture) сильно не болеют от этого.. )

идея про скрипт - звучит интересной.. это интересно будет сделать.. более того можно от рандомить значения (reflect,bump и тд) установив просто минимум и максимум значения.. либо просто копировать значения из первого мата - как вы предложили. )

Vray/Corona войдут в перечень, а может даже и RS/FS. Будет ли это интересно кому? =)
0
Lier
Спасибо, попробую. Пока использую floor generator, но иногда приходится раскладывать сложную плитку для клозапов, думаю тут скрипт и пригодится.
+1
StunBreaker
Спасибо и вам! Уверен будет полезен =)
0
AskaProfessional
Промазала:(((( , поставила 4, вместо 5... конечно, 5....
Больше не буду оценивать с телефона, а то вечно приходится извиняться :((
Спасибо за скрипт и за урок
0
StunBreaker
не переживайте так, бывает. Главное что вам пригодился скрипт )
0
Tema001
На 2018 кто то уже пробовал?
0
StunBreaker
хотелось бы тоже знать, но думаю проблем не будет c версиями выше 2015ого, так как создавался на нём. Больше думаю над версиями ниже 2015 , до какой версии можно "опуститься" чтоб скрипт работал без ошибок. )
+1
sen-say
Спасибо за труды!!!!
0
StunBreaker
и вам спасибо что оценили! )
+1
ЛисаКот
Так а где скрипт) ? Или тут лайки собирают за описание?)
Сорри нашла. Плюсую)
0
Mare_NNN_a
Благодарю! Использую Floor Generator, но Ваш скрипт очень пригодится для раскладки уникальной геометрии. Скачала, буду пробовать :)
+1
StunBreaker
рад помочь вам в реализации ваших фантазий ! )
0
Artnway
Спасибо за ваш скрипт, возьму на вооружение, давно уже искал в сети инфу на тему можно ли в FG вставить свои прессеты, Не редок тот случай, когда настенная плитка оказывается неординарной)
0
StunBreaker
рад что нашли полезным )
0
StunBreaker
Вы так же можете делать 3д панели на стене этим скриптом , просто будет отдетачить нужную стенку, и повернуть её на 90 )
+1
Revered
Неплохо, но Рейлклон лайт могёт сильнее и тоже бесплатно :) В любом случае чем больше разных инструментов тем лучше :)
0
StunBreaker
спасибо, абсолютно в точку про инструменты ) Насчет рэил клона не сравнивал честно, плагины это отдельная история - тут макс скрипт курит в стороне =)
+1
Oleg.budeanu
Поражаюсь, какое большинство тут считает кражу вполне нормальным явлением. Я про "бесплатный" RailClone. Да ещё и сравнивают платный (!) профессиональный плагин, который разрабатывался годами со скриптом, созданным одним человеком.
Скрипт получился интересный, поздравляю. Главное не забрасывайте разработку - из этого может получится нечто интересное.
Ну и да, советую задуматься о C++ , ну или Python. На MaxScript далеко не уедешь :)
0
StunBreaker
насчет сравнения - всё нормально, как только понимаешь что есть Max Script и Плагин из C++ то всё становится на свои места =)
Спасибо - разработки только в самом соку сейчас, C++ уже изучается.. после JS, Delphi, и того же макс скрипта - учится куда легче с большим пониманием =)

Спасибо ещё раз!
0
Oleg.budeanu
О-о-о Delphi... Ну он того не стоит, лучше уж сразу на C# или C++ , если хватит терпения.
Ну я больше не про сравнение С++ и MaxScript, а разработку командой и одним человеком.
Меня больше возмущает, что крякнутое считают бесплатным. Логика-то у людей какая :)
0
StunBreaker
Это да Delphi - 10 лет назад втыкал, C++ без споров в топе )
+3
Revered
Вы бы разобрались в вопросе, прежде чем морализмом размахивать. И тогда бы знали, что у рейлклона есть Free версия от разработчика с хоть и урезанным, но всё же достаточно богатым функционалом, и как раз такие напольные покрытия ей можно совершенно спокойно делать. И многое другое если проявить фантазию и смекалку. Я сам с фряхой сидел год прежде чем лицензию купить.
-2
Oleg.budeanu
Хм, прошу прощения за резкость, но я о Lite версии даже и не слышал, сразу с PRO начал, и вот уже 3-ий год им пользуюсь :)
Ну на самом деле это не отменяет факта, что многие так думают - очень рад, что к вам это не относится.
+1
Revered
Бывает :) Ну блин. красиво жить не запретишь :))))
+1
petrovich23rus
класс!
+1
falik
Ух ты, поглядим!
0
Kachsmen
Пошел пробовать на черепице
+1
AlexanderKuz89
Альтернатива и конкуренция всегда хорошо. Будем пробовать.
0
StunBreaker
конкуренция врятле - просто в разных задач приходят на помощь разные инструменты.. этот как раз из тех =)
+1
MastaMan
Не смог ввести цифровые значения с NUM PAD в группе Отступы. Причем если вводить с раскладки сверху то все ок
0
StunBreaker
есть такое, нум пад заблочен.. как и всё.. кроме цифр на основной раскладке клавиатуры. Прошу простить за неудобство это. )
0
MastaMan
Поставьте Spinner и не будет проблемс ;)
0
StunBreaker
дак ведь у него ограниченный min и max =)
0
MastaMan
0.0001 to 99999999999999
0
StunBreaker
думал над этим - но нашлось уже более рациональное решение.. уже реализовал =)
0
murza_v
В 3d хозяйстве скрипты лишними не бывают,пригодится.Еще вопрос,а отдельно скрипт-загрузчик под FStormMultiTex можно написать,по типу плагина MultiTexture?Поштучно карты в каждый слот загружать очень долго.
0
StunBreaker
логически можно, но реализация займет не мало времени.
0
murza_v
Жалко конечно,тут либо самому учить мат часть,либо по старинке загружать вручную.
0
StunBreaker
в принципе на днях подумаю, может и есть быстрая реализация.. )
0
ruil
Незнаю как вам, но я думаю что если была бы номинация авард для скриптов, то я голосовал бы за этот скрипт. Столько возможностей. Это супер. Спасибо.
+1
StunBreaker
Спасибо - было бы круто =))
Рад что вы довольны.
+1
SpLine_85
спасибо болшое обязательно использую в работе
+1
shizgara
Задумка интересная, но, как сказали выше, нужно допиливать. Надеюсь не бросите этот проект.
+1
StunBreaker
спасибо, допилю со временем )
0
dshurduk
Комментарий удален
+1
Camomile_child
спасибо, отличный!
0
StunBreaker
и вам спасибо - что пользуетесь )
0
Viktorgraf
Не запускается скрипт. У меня Max 2016. Скопировал два скрипта в папку C:\Program Files\Autodesk\3ds Max 2016\scripts, создал тулбар, но он не активный. Как запустить генератор? Что я делаю не так?
0
Katya82
У меня не работает толком... не работают отступы по оси икс... что посоветуете?
0
StunBreaker
Добрый день, всё должно работать... Скиньте скрины в личку - как и что пытаетесь сделать.
+1
Спасибо Большое!!!
0
jane1488
Здравствуйте, не могу нормально сделать раскладку, большое расстояние между плиткой и досками паркета выходит. как настроить ?