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


Видеоверсия этого руководства в настоящее время недоступна на этом языке. Ниже вы можете посмотреть английскую версию с субтитрами; под видео вы найдете перевод расшифровки на русский язык.


Текстовая расшифровка видео

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

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

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

Если у вас есть blend-файл с активной виртуальной камерой, вы можете рендерить сцену напрямую из командной строки без запуска Blender с интерфейсом, используя следующую строку кода:

blender.exe -b scenepath.blend -o outputpath -s startframe -e endframe -a

Рендеринг будет выполнен с разрешением, форматом выходного файла, сжатием и всеми остальными настройками, указанными непосредственно в blend-файле. Конечно, некоторые параметры потребуется заменить.

В частности, вам нужно заменить Scene Path на полный путь к blend-файлу, который требуется отрендерить, включая расширение blend в конце.

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

Для Start Frame и End Frame необходимо указать первый и последний кадры последовательности, которые должны быть отрендерены.

Опция -a в конце указывает Blender использовать настройки, содержащиеся в рендерируемом файле.

Сейчас на экране я показываю пример запуска рендеринга анимации из командной строки.

Теперь перейдём ко второй теме этого урока: как ставить несколько рендеров в очередь с помощью batch-файла.

В одном из ранее опубликованных уроков на этом канале я показывал другое batch-приложение командной строки, которое позволяло экспортировать модели из blend-файлов, расположенных в папке, в формат FBX, а также задавать параметры Copy Attributes и Embedded для PBR Material Textures. Если вас интересуют этот или другие уроки по Blender, поставьте Like или оставьте комментарий к видео и, что самое важное, подпишитесь на канал, чтобы не пропустить новые материалы.

Чтобы последовательно рендерить несколько Blender-файлов, просто создайте текстовый файл и добавьте в него команды для рендеринга blend-файлов, по одной команде на строку.

Такой текстовый файл можно создать с помощью Notepad или другого текстового редактора, но очень важно указать правильное расширение. В Windows, как в этом примере, используется расширение bat, сокращение от batch. В Linux и Mac файлы будут shell-скриптами, обычно с расширением sh.

Сейчас на экране я показываю, как несколько blend-файлов рендерятся последовательно, каждый со своими настройками, начинаясь одним кликом по batch-файлу.

Если говорить более широко, чтобы изучить доступные аргументы запуска Blender из командной строки, введите blender -h или blender --h и нажмите Enter.

Перед завершением урока давайте посмотрим, как запускать несколько batch-файлов последовательно из одного batch-файла.

Я часто использую это при создании своих ассетов, когда мне нужно сделать рендеры каждого объекта из файлов scene, wireframe и turntable. Для каждого ассета я создаю отдельный batch-файл, который управляет индивидуальными рендерами проекта. Когда я работаю над несколькими ассетами, у меня получается несколько папок, каждая со своим batch-файлом.

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

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

Эта команда необходима для последовательного запуска нескольких batch-файлов, потому что без неё выполнение скрипта остановится сразу после завершения первого batch-файла, указанного в сценарии.

Подводя итог: если вы хотите запускать несколько рендеров из одного batch-файла, никаких проблем нет. Но если вы хотите запускать несколько batch-файлов из другого batch-файла, необходимо использовать команду Call.

Я не могу утверждать это с абсолютной уверенностью, поскольку не использую эти среды, но полагаю, что в shell-скриптах для Linux и Mac OS специальные команды для последовательного запуска нескольких внешних shell-скриптов не требуются.

Для полноты картины добавлю, что если заменить команду Call на команду Start в batch-файле Windows, можно запускать процессы параллельно, а не последовательно. Однако в случае рендеринга я не рекомендую этот вариант.

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

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


РАСШИРЕННАЯ ИНФОРМАЦИЯ О ПОЛИТИКЕ КОНФИДЕНЦИАЛЬНОСТИ И ИСПОЛЬЗОВАНИИ ФАЙЛОВ COOKIE