Лень - двигатель прогресса или как работать на каталоги.

Всем привет. Это первый блог. Так что сильно не кидайте тапками. 

Глава 1.

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

Итак, по порядку. У всех будут свои вариации плюс минус, но работая года 3 с каталогами, суть практически у всех одна и та же. Надо отрендерить 100 унитазов, со 100 цветами у которых ручка в одном варианте серебро а в другом золото. 

Суть задачи стояла отрендерить кучу товара с разными вариантами цветов в сочетании с разными вариантами цветов. В данной статье мы будем рендерить 5 цветов в сочетании с 5тью цветами (но естественно в задачах это 10, 20, а то и 30 цветов, в сочетании с таким же количеством). 

Ну что ж...приступим. Есть образный шкаф. У которого есть пять цветов (не будем усложнять задач и назовем их просто: 1,2,3,4 и 5. Эти цвета сочетаются с цветами A, B, C, D, E. По ТЗ надо отрендерить вариации цветов. Есть жесткое название по размерам вначале, а потом в имени файла надо указать цвет.  Для примера возьмем начало имени файла за XXX-X-XXX_ 

Теперь приступим к вариациям. 

Что бы не писать много букв упростим задачу до того что первые 4 цвета сочетаются только с двумя цветами (можете называть их текстурами и заменить их) а последний со всеми. В итоге имеем наше образное ТЗ в таком виде.

XXX-X-XXX_1_А

XXX-X-XXX_1_B

XXX-X-XXX_2_A

XXX-X-XXX_2_B

XXX-X-XXX_3_A

XXX-X-XXX_3_B

XXX-X-XXX_4_A

XXX-X-XXX_4_B

XXX-X-XXX_5_A

XXX-X-XXX_5_B

XXX-X-XXX_5_C

XXX-X-XXX_5_D

XXX-X-XXX_5_E

Для удобства своей работы я всегда в таких моментах использую либо карту CoronaSelect либо материал CoronaSelectMtl. Суть одна и таже. Подпихиваем материал который нужно выбрать. В нашем случае просто цвет, пихаем его в материал (немного добавив AO) ну и поехали. Так выглядят наши 2 материала. В текстуре нулевое значение обычно пустое, мешает считать.

Теперь получаем наш долгий алгоритм копипаста: заходим в текстуру select > выбираем нашу текстуру > копируем заранее прописанное имя у этой текстуры > заходим в рендер setup > тыкаем в имя файла > выделяем старое имя > ctrl v вставляем новое имя > тыкаем на вторую текстуру > и всё то же самое.....

дотыкали правильное название файла. 

(А вот тут скриптеры привет. Как можно из название текстуры забрать ее переменную и воткнуть ее в имя файла ? ) 

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

Зачем? Потому что в батч рендере надо уникальное имя для работы. Можно конечно лбом удариться быстренько о клавиатуру и что то сгенерить, но тут уж как Вам удобней. 

У меня на хоткее стоит отправка на редер в сеть Submit To Network. Соответственно после всех манипуляций быстренько отправляем на одну из нод в сети 

Отправляем все в работу 

В первой строчке вводим наше имя файла

Далее прописываем ip наших нод в сети

Галочка Include maps. Для новичков может быть не понятно. Добавить в работу (переслать на ноду в сети текстуры которых не хватает компуктеру) Если прописаны текстуры сразу в сети как у меня (либо же создана папка в одном и том же месте, с одним и тем же названием, с одними и теми же файлами на всех ПК), то ставить эту галку не рекомендую. Затраты на копипаст прогой всех текстур занимает время. А мы помним что у нас не 5 цветов а сотни. 

Render frame window...не знаю....просто показывает что рендерит...Как бы нужно иногда, но если у Вас такая монотонная работа, и Вы уверенны в том что всё стоит правильно (дальше интересней покажу где мы будем уверенны) то как не вижу в этой галке смысла.

Итак....покурив форумы, поспрашивав умных людей....200+ одинаковых движений делать можно, но долго и скучно..... Если быть точным по цифрам, то вся лабуда с 200 вариациями от часа до двух копипаста, отправки и тыканья по текстурам (не беря даже время на рендер)

Отвлечемся на всякие анимации. ДА. Знаю. Да, делал. Да не помогает. Надо в итоге получить жесткое имя  вида XXX-X-XXX_1_А на именно этот 1 цвет в сочетании с А цветом (привет всем кидающим тапки)

Глава 2.

И пришло озарение.....

Есть хорошие файл ренеймеры. И один из них в сумме со всеми имеющимися знаниями, натолкнули на выход из ситуации (скажу честно ручками я так вбил уже 5к+ вариаций). 

Как мы себе облегчаем жизнь? (привет тапкобрасателям опять) 

Возвращаемся к анимации. ДА! Делаем анимацию наших текстур. 

Порядок работы у меня был обычно такой. Беру первую текстуру 1, и отправляю на рендер все текстуры которые с ней надо отрендерить. То есть имеем 1A 1B. И соответственно дальше 2A 2B 3A 3B 4A 4B 5A 5B 5C 5D 5E....

Следовательно. Делаем анимашку. В первом нулевом (!) кадре выбираем текстуру 1 (кому будет сложно можно сдвинуть анимацию в первый кадр. Нулевой кадр в таких значения частенько сбивает) Настраиваем ее анимацию. Тыкаем AutoKey в кадре 0.

Тыкаем в нашу текстуру.Тыкаем еще для пущей убедительности SetKey. 

Настраиваем анимацию второй текстуры. У нас сейчас в кадре 0 и 1 должна быть выбрана текстура 1, и соответственно в кадре 0 текстура A, а в кадре 1 текстура B. Далее второй кадр текстура 2 и там же текстура A, в кадре 3 текстура 2 в сочетании с B. 

Для упрощения восприятия по кадрам начиная сначала до конца. 1A 1B 2A 2B 3A 3B 4A 4B 5A 5B 5C 5D 5E

С этим надеюсь разобрались. 

Далее настраиваем таким планом анимацию всех наших текстур. И тут начинается магия..... ))

Что бы облегчить процесс обзывания наших файлов. Мы в итоге берем за основу только название XXX-X-XXX_ 

Анимация потом добавит сама в конце 0000 0001 0002 и тд. 

В итоге имеем XXX-X-XXX_0000 XXX-X-XXX_0001 XXX-X-XXX_0002 и тд...

Теперь открываем програмульку Advanced Renamer 3.84 (у меня эта версия. Отклонения в любые стороны уже не ко мне вопросы)И не считаем за рекламу.

Что мы теперь делаем? Нам теперь надо научить программу понимать преобразовать одно в другое. 

Интерфейс программы (ах да, забыл помянуть, как и настройки рендера, постановки света, UWV развертки тут ни коем образом не упоминаются. Играйтесь как Вам хочется) интуитивно понятен, каких то сложных манипуляций не нужно делать. Нам теперь надо создать алгоритм переименования файлов. Надо XXX-X-XXX_0000 переименовать в XXX-X-XXX_1_А    , XXX-X-XXX_0001 переименовать в XXX-X-XXX_1_B.....и тд....

Тыкаем на метод замены 

Вводим наши данные 

Получаем результат справа

Далее добавляем новый метод замены.

Что бы всё это не потерялось.Есть кнопочка сверху сохранить алгоритмы замены. Создаем метод на каждый кадр. То есть. Метод 1 меняет значение _0000 на значение _1_A. Метод 2 меняет значение 0001 на _1_B....и тд....

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

Тут можно БЕЗ программы прописать все вариации текстом. Видно что и куда меняется. Далее этот файл можно открыть в программе (заведомо сохранив изменения сделанные в блокноте) 

Тут немного путаница из за 0000 номера но вроде бы всё понятно (текстовый документ открыт поверх для демонстрации)

, НО. ТОЛЬКО В ТОЙ ПОСЛЕДОВАТЕЛЬНОСТИ В КОТОРОЙ БУДЕТ АНИМАЦИЯ....иначе всё пойдет лесом и файлы не будут соответствовать цветам. 

Итог. Убитое 1-2 часа на ТОЛЬКО отправку на рендер. Теперь это занимает подгрузить геометрию. Назначить этот материал. Отправить на рендер. И за минуту переименовать сотни файлов. 

Этот метод работает когда у Вас допустим стол с 10 вариацией размеров и 10*10 вариацией цветов. Вы за 5 минут заанимируете матариал, за 5 минут пропишите в алгоритм ренеймера что и как переименовывать и сократите рабочее время на несколько часов, а то и на сутки....

Всем быстрых рендеров и адекватных заказчиковsmiley-good.gif

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

+1
3drj
вариант с анимацией лучше я думаю, никаких заморочек с бач рендером и пр. санимировать материал и санимировать кадры - пустил анимашку, все получил за раз. спасибо что заморочился, возможно пригодится
+2
Alvion
Тоже достаточно долго работал с каталогами и подобной морокой. Но это все имеет смысл если текстура значительно отличается у разных отделок. В 99% я рендерил 2 варианта - с текстурой и белый цвет, а дальше по образцам от производителя перекрашивал все в фотошопе.
0
DizArtWork
Тоже рассматривал такой вариант, но опять упираешься в то что надо руками вбивать имена. Автоматизации процесса не было. А руками - это соответственно человеческий фактор возможные ошибки.
0
Alvion
Смотря какая задача по именам... На этот случай есть переиминаторы всякие разные. А так при экспорте скриптом из ФШ тоже можно ставить префиксы.
0
mr.spoilt
Где мой 2012, когда я фасады с разными эмалями и патинами рендерил. Удивлен, что Вам так много понадобилось времени, чтобы понять, что оптимизация - это приоритетнейшая задача, ну точнее, вам много времени понадобилось на нахождение решения.
+2
DizArtWork
То что оптимизация это то дошло сразу ))) Вот решение никак не находилось.
0
mr.spoilt
Я, к слову скажу, для этих задач использую и использовал ACDSee, там много инструментов пакетной обработки, там же есть и пакетное переименование со всеми функциями из урока.
0
DizArtWork
ACDSee забросил лет 10 назад после того как они превратились из простого просмотрщика в свою какую то экосистему.
0
mr.spoilt
Каждому свое, но именно из-за разрастающегося функционала я продолжаю пользоваться. Для моих задач - удобный инструмент "все в одном".
+1
Shumer
Тоже его не променяю ни на что, у него кучу полезных фишек.
0
Kosten
+5) Много полезного! Пользуюсь для переименования Bulk Rename Utility
+4
Slazzo
Вот смотриш на это все и понимаеш что вокруг одни мазохисты, скрипт написать бкувально 10-30 минут и вот такие задачи за две кнопки можно автоматизировать вплоть до батч рендера и правельные имена файлов
0
DizArtWork
Ну вот напишите пожалуйста если можете. Когда я спрашивал как обычно все молчат и ничего не знают.
0
Slazzo
Уже писал комбинаторы под задачи, а для форума честно мне лень, вот двигаю прогресс, думаю усилия потраченые на статью приблизительно равнозначны как для изучения макскрипта и сделать скрипт самому.
0
Slazzo
Комментарий удален
0
Evva2
я бы на вашем месте сменила область деятельности. был опыт работы с визом и проектированием для сайта, чуть не повесилась((( да и плата мизерная
0
DizArtWork
Тут всё нормально. Платят адекватно. И работа не пыльная. Этот блог был криком души которая наконец добралась до ответа как оптимизировать именно эту задачу.
По итогу время сократилось на порядок. За час-два которые я тратил тупо на отправку на рендер, теперь за это время отрендерены 4 позиции
0
Evva2
честно сказать рада, что у вас получилось оптимизировать свою работу)) оптимизация это круто
0
seserg
создаете для каждой модели кадр анимации (скрипт тоже не сложный можно сделать), а через prism https://3ddd.ru/blog/post/altspace_prism_render_manager_ili_batchrender_na_spidakh  делаете несколько пасов с нужными материалами, шаблоны имен там тоже не сложно задать и бац кнопочку и все рендерится без вмешательства и лишних действий
0
DizArtWork
Дубль два....
Первое - где все были когда я спрашивал
Второе - тот же Prism мне давали в помощь. И как ни странно я его пытался использовать. Всё равно там надо ручками называть Ваш пасс про который Вы говорите. И что никак не спасает от сотни переименований.
Третье - "скрипт тоже не сложный можно сделать". В блоге к скриптерам прямое обращение есть. Ну если не сложно так сделайте уже. Давайте посмотрим.
Тут это всё написано то из за того что автоматизации не было
0
seserg
1. простите что пропустил ваш призыв к помощи)
2. у вас же не сотня цветов, создали для каждого набора и пользуетесь. имена пасов можно использовать в шаблонах имен рендеров. с помощью шотов уже обзываете модель в каждом кадре.
3. Выложу как нибудь
0
DizArtWork
1) Ничего страшного много букАв
2) Ничего страшного много букАв. Там тоже говорится что мы не 2 цвета на два цвета умножаем.
3) Ждем с нетерпением.
0
Don_Elzare
Файна тема, работал с одним каталогом, была "рогатая" класика.
Сейчас - поле пропаханное!
0
shizgara
Всё не читал,, не интересно, предметку фотал на зеркалку,, так проще щелкнуть пару раз затвором, Иногда бывают позитивы типа 100 бутылок винища в подарок.
0
Musia
А я вот сейчас легко решаю такие задачи, написал себе комбинатор на Delphi. Если с мебелью, то у меня получается так:
Делаю папку Фасады и папку Корпуса (например у меня 100 разных кухонных гарнитура). В папке Фасада создаю папку Цвета (например: венге, белый и т.д.) и туда рендерю PNG одного цвета. Так же поступаем и с корпусами. В комбинаторе указываем папку верхнего слоя (Фасады) и папку нижнего слоя (Корпуса), + как строить имена файлов (там множество шаблонов), и папку на выход - и на выходе можем получить файлы всех комбинаций цветов фасада и корпуса, да и еще и в удобном именовании файлов (например: н70-800_корпус_фасад_001.png)... С недавнего времени написал поддержку вложенных папок, и возможность группировать файлы по папкам и теперь вообще кайф)))