Автоматизация в Photoshop и Batch Render

Всем приветы!

Решил тоже поделиться опытом. Возможно кто-то не знаком с автоматизацией некоторых процессов, а в нашем нелегком деле – это очень важная часть работы, которая помогает экономить время, силы и неВры. Данный обзор будет разбит на 5 частей, 4 из которых будут посвящены Adobe Photoshop… если вы знакомы с одной, то смело переходите к следующей. Возможно глаза я никому не открою, но новичкам точно будет полезно.

Часть 1 – Batch Render

Думаю, с этой функцией знакомы все, кто давно работает в 3ds Max и уроков по ней более чем достаточно, однако если рассматривать автоматизацию в целом, то не будем отрывать от нее кусок и очень кратко рассмотрим, что это такое. Открываем меню Rendering - Batch Render

Batch Render – это пакетный рендер, встроенный в 3ds max, который, после некоторой настройки, позволяет запустить рендер со всех выбранных камер. В верхней части окна настройки, с помощью кнопок Add… Duplicate и Delete мы добавляем, дублируем или удаляем задачу (будем называть это задачей, что бы вы не путались с настройкой самой камеры), которые будут отображаться в окне ниже, где мы имеем возможность поставить галочку напротив нужных нам задач или наоборот выключить их.

Далее настраиваем каждую задачу:

Override Preset – при необходимости можно активировать дополнительную настройку каждого ракурса, указав с какого по какой кадр рендерить (если это анимация), размер кадра в выбранной камере (размер всех камер по умолчанию настраивается в Render Setup, разделе Output Size), а так же кратность разрешения. Ниже присваиваем имя кадру (этот же префикс будет содержаться в названии файла). Выбираем папку, в которую будут сохранены все файлы с выбранной камеры. Выбираем саму камеру для выбранной выше задачи. Далее можно выбрать сохраненное состояние сцены и пресет.

После запуска кнопкой Render в окне Batch Render – запустится обычный процесс рендера, за тем исключением, что по окончанию рендера одной выбранной камеры, сразу запустится следующая выбранная камера с соответствующими настройками. Предварительно настроив сцену и Render Elements (на них мы останавливаться не будем), после окончания пакетного рендера вы получите все файлы с префиксами, сохраненные по папкам, которые вы указали.

Часть 2 – Action (Операции)

Далее нам потребуется Adobe Photoshop (далее ФШ), в котором большинство из нас корректирует текстуры и выполняет постобработку рендера. К сожалению сейчас у меня установлена русскоязычная версия и все примеры будут показаны в ней. 

Сразу хочу сказать, что я не буду подробно останавливаться на общем функционале Photoshop – урок скорее для тех кто знаком с его работой.

Одно из главных преимуществ данных скриптов – их не нужно кодить. Достаточно владеть основными функциями ФШ и желательно знать горячие клавиши, которые помогу сделать все быстрее и не накосячить.

Функция представляет собой окно (палитру) программы (горячие клавиши Alt+F9), в котором создается новая операция и при необходимости каталогизируется в отдельные папки. Основана она на повторении выполненных ранее действий и ограничена общим функционалом ФШ и вашей фантазией.

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

Для примера мы попробуем автоматизировать создание текстур из фотографии.

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

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

1. Создать дубликат слоя Ctrl + J (появится новый слой «слой 1»)

2. Применить к нему Фильтр - размытие - среднее размытие

3. Вернуться к выбору первого слоя Alt + [

4. Создать дубликат Ctrl + J (появится новый слой «Фон копия») (хз почему не "слой 2")

5. Переместить «слой 2» наверх палитры слоев Ctrl + Shift + ]

6. Применить к «слой 2» режим наложения «перекрытие»

7. Применить к «слой 2» Фильтр – Другое - Краевой контраст c нужными настройками

8. Выполнить слияние видимых слоев  Ctrl + Shift + E

9. Выполнить Фильтр – Другое - Сдвиг.

10. Ручная обработка видимых границ текстуры (от этого не уйти в ФШ)

Для автоматизации данного процессе, давайте создадим Action (операцию), который будет это все делать за нас (помните, после начала записи операции, каждый клик, каждая кнопка будут записаны в action и могут привести к неправильной работе скрипта, что в целом лечится удалением этой лишней операции в action (простите за туфтологию)):

Теперь записываем операцию.

1.  При необходимости, в окне операций создаем и переименовываем новую папку, например, «обработка текстур» или «мои скрипты»

2. Выбрав нужную папку, в нижней части окна нажимаем кнопку «Создать новую операцию»

3. В открывшимся окне указываем имя будущей операции, папку операций, при необходимости назначаем горячую клавишу, цвет для удобства и нажимаем «Записать». С этого момента идет запись операции, пока не будет нажата клавиша «Стоп» или «Esc». В любой момент запись можно продолжить с любого промежутка, кнопкой «Начать запись» в нижней части окна операций.

4. Выполняем строго последовательно и точно все операции, описанные в анализе выше и в конце нажимаем «Стоп» или «Esc».

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

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

Если возникает ситуация, когда требуются индивидуальные настройки того или иного действия (фильтра), в окне операций, напротив этого действия устанавливается флажок «паузы» и когда операция доходит до этого действия, откроется окно настройки этого действия, которое продолжится только после подтверждения настройки.

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

В 5й части мы вернемся к операциям, а пока...

Часть 3 – Batch (Пакетная обработка)

У программы Adobe Photoshop тоже есть пакетная обработка файлов. Которая позволяет применить любую операцию к нескольким файлам.

Открываем меню Файл – Автоматизация – Пакетная обработка

О открывшемся окне мы имеем возможность выбирать следующее:

1) Выбрать папку (набор) созданных нами операций или операций, установленных в ФШ по умолчанию и соответственно саму операцию.

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

3) Выбрать что делать с ошибками… при необходимости можно сохранить log ошибок

4) Указать что делать по окончанию операции, например, сохранить и закрыть файл (если этого нет в самой операции и в принципе требуется) или выбрать новую папку для обработанных файлов.

5) При необходимости настроить префиксы и формат переименуемых файлов.

Часть 5 – Практика 

Давайте попробуем применить операции на примере пост-обработки интерьерных рендеров.

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

1. Запускаем «загрузку файлов в стек» и указываем папку с любой камеры или файлы внутри этой папки.

2. Получаем макет с исходной картинкой разными рендер элементами, требующие от нас:1) общей настройки 2) тонкой настройки. Вот для общей и будем писать скрипт.

3. В палитре операций создаем новую папку «Проект ванной комнаты в Мухосранске»

4. Создаем новую операцию «Предварительная корректировка» (Будем честными – имена будут что-то вроде «qwerty555»

5. Кликаем в палитре слоев на главное изображение с камеры, которое может находиться в любом порядке слоев, в зависимости от имени файла.

6. Запускаем запись кнопкой "Записать"

7. Нажимаем Ctrl + Shift + [ для перемещения главного изображения в в самый низ палитры слоев.

8. К примеру, создаем корректирующий слой «уровни».

9. Нажимаем Alt +] для выбора поверх лежащего, следующего слоя (В моем случае это Raw Component).

10. В палитре слоев кнопку «создать слой-маску» для дальнейшей корректировки.

11. Выбираю режим наложения «Перекрытие»

 (Точная настройка будет выполняться позже, поэтому перехожу дальше).

12. Нажимаем Alt +] для выбора поверх лежащего, следующего слоя (В моем случае это CTexmap с картой АО).

13. Выбираю режим наложения «Умножение», нажимаю в палитре слоев кнопку «создать слой-маску» с зажатым Alt, чтобы скрыть слой за маской. (Точная настройка будет выполняться позже, поэтому перехожу дальше)

14. Нажимаем Alt +] для выбора поверх лежащего, следующего слоя (В моем случае это CMasking_ID, которая сейчас мне совершенно не нужна, поэтому нажимаю Ctrl + , что бы скрыть этот слой).

15. Нажимаем Alt +] для выбора поверх лежащего, следующего слоя (в моем случае это Reflect).

16. Выбираю режим наложения «Экран»

17. Нажимаю кнопку «создать слой-маску» с зажатым Alt, чтобы скрыть весь слой за маской для следующей корректировки.

18. Останавливаю запись операции "Esc".

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

Конечно рендер элементов и корректирующих слоев может быть гораздо больше… все показано исключительно для примера. Во всей этой истории есть много нюансов, так как это не код и очень сложно продумать универсальный сценарий, если он достаточно сложный. Хотя уверяю, те кто не был знаком с описанными функциями и часто сталкивается с обработкой в ФШ, вы найдете применение этим методам работы.

P.S. На форуме блог ваяю первый раз, так что за оформление и многобукав извиняйте)

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

+4
freezemaximus
За труды спасибо, редкий на сегодня способ подачи информации.
+5
Alvion
Возможно именно для этой темы было бы лучше использовать видеоформат, но я ни разу не блогер... пришлось по старинке))) Надеюсь кому то будет полезным)
+1
arytav
Иногда текстом гораздо удобнее
+2
vladimir.drobzhev90
А, это все не связано, я просто решил что вы связали и автоматизировали работу макса и фш, типо макс рендерит пакетно со всеми доп картами, а фш следом сам все это обрабатывает как надо и складывает финалы в папку))) А тут просто разные темы для автоматизации, ок)) Кстати я в последнее время перестал особо фотошопить после короны, мне сейчас нравится работать через adobe bridge, где можно все рендеры скопом открыть, настроить первый, потом разом копировать настройку на все остальные или сохранить в xmp для следующего круга правок. даже ctexmap не накладываю, просто маты с AO там где надо.
+1
Alvion
Конечно... фш следом обрабатывает, люстра за пывом бегает, а блендер модели за тебя моделит и в стоки выкладывает))))))))))))))
+1
vladimir.drobzhev90
а главное, что денюшка на карточку падает тоже сама, много и регулярно))
+2
alexfmos
В принципе полезно. Только годом ошиблись. В 2012 было бы нормально. В 2002 вообще бомба. В 2022 немного баян. Простите не удержался.
+2
Alvion
Не знал что тут такая тема уже создавалось... баянометр тут отсутвтвует. Можно ссылки на 3ддд блоги полюбопытствовать? Да и год тут при чем, если инструмент рабочий? Надеюсь все же больше полезно чем баян))))))))))
+1
epush
Комментарий удален
0
Alvion
правильно что удалил) Странный коммент)))))))
+3
Skap
Batch уже лет 10 не пользовал ибо корыто, да и когда распробовал prism чет и не хочется (но это на личный вкус)
Бесшовные текстуры, аля в статье, как по мне, так проще через offset, да и шов через shif + 5 замазать, быстрее будет.
А для пакетной обработки кучи рендеров давно бесплатного fusion хватает (он и быстрее работает чем пакетный в фш)
+1
bakaltsev
Подскажите, что за "prizm"?
+1
Skap
http://www.scriptspot.com/3ds-max/scripts/prism

блог на него делал, но и так можно разобраться https://3ddd.ru/blog/post/altspace_prism_render_manager_ili_batchrender_na_spidakh 
+1
gunslinger
Для типичной задачи уровня "просто отрендерить статику с 20 камер" - совершенно избыточно. Т.е. можно, на зачем? Чтобы не жать ctrl+c - clrl+v в батчрендере?
0
Skap
на вкус и цвет....один раз сделал пресет везде пользуешь...не обязательно же всё использовать, а можно только самую удобную часть....пути настраивать не надо, каналы тоже...
+3
CGmachete
Интересный урок,
"К сожалению сейчас у меня установлена русскоязычная версия" - Вот это важная сноска,
не могу воспринимать не только фш, вообще все приложения на русском.
Уже поднимал тут эту тему, но не буду взывать к ней снова) а то разбужу какого нибудь кракена))

Такой вариант подойдет для текучки, если нужно в день выдавать 10ок рендеров. И заряжать пачку в ночь например,
(вспоминаю архбюро))
В другом случае, на нормальную экстерьерную картинку дается 3-5 дней, и работая в таком ключе, нужда рендерить батчрендером отпадает совсем.

Что касается постобработки- никакой батч на данный момент полностью не заменит работу руками.
Возможно он подгрузит пассы куда нужно, но не сделает за вас художественную работу.
В целом пакетная обработка не плоха, но тогда нужно больше уделить времени тестам в максе. Чтобы и модель была без косяков в геометрии и материалы были все проработаны. Но на посте некоторые моменты быстрее например поправить. Тут должен быть баланс между тем и тем.
0
Alvion
Я ведь несколько раз упоминал о том, что это лишь пример применения. Конечно для художественной обработки нужны ручки. Но если рассматривать другую работу, это будет очень полезным. К примеру на работе мне давали неделю, что бы помочь контентщикам переформатить картинки для сайта. Нужно было поменять разрешение, размер, формат, вес итд. Несколько ТЫСЯЧ фотографий. Ни призма, ни ручки это не вывезут. А скрипт сделанный за 15 минут, законвертил всю папку за час.
0
CGmachete
Каждая задача имеет свойство отличатся от другой задачи. Ровно как и картинки отличаются друг от друга по качеству, цене и т.д.
С текучкой не работаю, фотки 1000ми не обрабатываю. Не могу знать как там у вас и что.
Экшн скрипты да, вещь хорошая.
+2
Spirif
Юзфул-юзфул
Пользуюсь пакеткой от фотошоп, но на которые полезные мысли и пару полезных решений, до которых почему-то сам не додумался подтолкнул. Лайк)