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


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


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

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

Эти операции очень полезны, потому что если вам нужно последовательно выполнить несколько рендеров из разных файлов, вы можете запланировать их запуск в одном 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, можно запускать процессы параллельно, а не последовательно. Однако в случае рендеринга я не рекомендую этот вариант.

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

Поиск по учебным материалам

Введите фразу или несколько ключевых слов через запятую.

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


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