Рендеринг из командной строки
Boxshot поддерживает рендеринг проектов из командной строки. Это может быть полезно, когда встроенного инструмента пакетного рендеринга недостаточно. В этом случае всегда можно отрендерить проект с нужными параметрами из командной строки — и этот учебник покажет, как это сделать.
Простой рендеринг
Убедитесь, что у вас есть лицензия Boxshot, так как рендеринг из командной строки не работает в демо-режиме. Запустите Boxshot, сделайте простую сцену, например с книгой, и сохраните ее на Рабочий стол, назвав файл “project”. В итоге у вас на Рабочем столе должен появиться файл “project.boxshot5”.
Вы можете использовать другую папку и другое имя проекта, но тогда обязательно обновите команду ниже под ваш случай.
Теперь отрендерим проект. Запустите терминал/консоль и перейдите в папку Рабочего стола, далее на Windows выполните такую команду:
"C:\Program Files\Appsforlife\Boxshot 5\Boxshot.exe" --render --passes=100 --output=result.png project.boxshot5
Пользователям Mac нужно сделать так:
/Applications/Boxshot\ 5.app/Contents/MacOS/Boxshot --render --passes=100 --output=result.png project.boxshot5
Введите строку выше и нажмите Enter. Вы должны увидеть, что Boxshot запускается в режиме командной строки, выводит некоторую информацию и рендерит сцену. Через несколько секунд рядом с созданным проектом появится файл “result.png”. Готово!
Если Boxshot не запускается — проверьте, что вы без ошибок указали путь к исполняемому файлу приложения и не пропустили кавычки, слеши или пробелы. Если Boxshot запускается, но показывает ошибки — прочитайте их, чтобы лучше понять проблему. Скорее всего, вы запускаете команду из другой папки, и программа не может найти файл проекта.
Обратите внимание: Boxshot не будет рендерить сцену, если выходной файл уже существует. Удалите его, если хотите перерендерить сцену.
Опции рендеринга
Как вы, вероятно, уже заметили, Boxshot поддерживает параметры командной строки для тонкой настройки процесса рендеринга. Вот полный список:
- --render — обязательный параметр, который указывает Boxshot работать в режиме рендеринга из командной строки;
- --output=xxx — еще один обязательный параметр, задающий имя и формат выходного файла;
- --passes=NNN — настраивает количество проходов рендеринга;
- --time=NNN — настраивает время (в минутах), отведенное на рендеринг;
- --width=NNN — ширина выходного изображения;
- --height=NNN — высота выходного изображения;
- --engine=xxx — позволяет выбрать движок рендеринга (см. ниже).
Параметры width и height необязательны; если их не указать, Boxshot использует значения, сохраненные в проекте. Если вы укажете только width или только height, Boxshot вычислит второй параметр, используя соотношение сторон камеры в проекте. Если вы укажете оба, Boxshot переопределит соотношение сторон камеры на новое, составленное из указанных вами width и height.
Качество рендеринга можно настроить, указав либо количество проходов, либо желаемое время рендеринга. Если указать и то и другое, Boxshot остановится при достижении любого из лимитов: либо будет выполнено заданное количество проходов, либо истечет указанное время. Используйте 50–200 проходов для быстрого чернового превью и 1000 и больше для финального рендеринга.
Параметр --engine может принимать одно из следующих значений:
- renderer.raytracer3 — стандартный CPU-рендерер (используется по умолчанию);
- renderer.metal — рендерер Metal (только для Mac);
- renderer.directx — рендерер Direct X (только для Windows).
Продвинутые идеи рендеринга
Рендерить существующие проекты через командную строку имеет смысл только если вы делаете автоматизацию по типу “горячих папок” (hot folders). Обычно проще рендерить из интерфейса или с помощью менеджера отложенных задач. Ниже приведем идею для пакетного рендеринга нескольких макетов на базе одного и того же проекта.
Когда Boxshot сохраняет проект, он не собирает всю используемую графику рядом с проектом. Вместо этого Boxshot сохраняет относительные или абсолютные пути к изображениям и загружает их из исходного расположения. В меню Файл есть команда Собрать ресурсы…, которая позволяет собрать все изображения при сохранении проекта.
Создайте тестовый проект, например с книгой, и нанесите какие-нибудь изображения на ее лицевую, боковую и заднюю стороны. Важно нанести разные изображения и именно на те стороны, которые собираетесь менять в пакетном рендеринге. После этого в меню выберите Файл → Собрать ресурсы… и, когда программа спросит имя сохраняемого файла, укажите папку “test”, которую вы создадите на Рабочем столе, назовите выходной файл “project”, как мы делали выше.
Если вы откроете эту папку, вы увидите проект Boxshot, а рядом — все использованные изображения, включая те, которые вы нанесли на книгу. Дальше логика становится очевидной: вы можете заменить эти изображения на другие, отрендерить проект, подставить еще один набор изображений, снова отрендерить снова — и так далее.
Мы не будем углубляться в детали реализации, так как при помощи файлов заданий это можно сделать еще проще, но если вам нужен очень гибкий рабочий процесс — этот “низкоуровневый” подход может помочь.
Еще о пакетной обработке
- Анимация вращения — создаем анимацию вращения объекта;
- Анимация перехода — делаем анимацию перехода между снапшотами;
- Анимация покачивания — добавляем движение в статичные сцены;
- Рендеринг снапшотов — отрендерить все снапшоты в сцене;
- Пакетный рендеринг — одна и та же сцена с разными изображениями;
- Рендеринг из командной строки — автоматизируем процесс;
- Файлы заданий — описываем задачи рендеринга при помощи кода.