3d форум по Blender

Работы => Делимся опытом => Тема начата: o1egcom от 07 Июнь 2016, 12:37:10

Название: Скрипт автоматического рендеринга (если нужно рендерить много файлов)
Отправлено: o1egcom от 07 Июнь 2016, 12:37:10
Я написал скрипт для автоматического ренденинга проектов. Скрипт автоматически запускает рендер файла если он находит blend файл в папке C:\temp\3d\make

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

Скрипт написан на xStarter - программе автоматизаторе. Скрит blenderRender_task.xstk прилагается, и вы можете его изменить под себя. Скачать xStarter  вы можете на официальном сайте - он бесплатен.
(https://pp.vk.me/c636626/v636626441/d778/aRzSlUXDJgM.jpg)

Для запуска проекта нужно запустить blenderRender.exe
Я не уверен что откомпилированный скрипт запустится без xStarter, возможно его придется скачать.


Сам Blender должен быть расположен по адресу C:\Program Files\Blender Foundation\Blender
Если он у вас располагается в другом месте, перекомпилируйте скрипт изменив параметр папки
(https://pp.vk.me/c636626/v636626441/d787/IZVAcr1MEcs.jpg)


Архив распаковать в C:\3d
Т.е файлы для рендера нужно располагать тут c:\3d\make\

В папке make лежит один  тестовый файл, который тут же должен начать рендериться (после завершения в логе появится соотвтетствующая запись и выведется сообщение). После рендеринга файл .blend будет перемещен в папку ok. Результат будет записан в папку make в JPEG формате.

Рендерится 1 кадр, со всеми настройками которые сохранены в проекте. Также уровень сжатия JPEG будет тот который у вас в проекте.
(https://pp.vk.me/c636626/v636626441/d77f/dD1qPy6V7eA.jpg)

Лог записывается в папку "в процессе"

Скачать можно отсюда - https://yadi.sk/d/Cn3kEAs9sK5oD

P.S. писал для себя, поэтому все очень просто, без наворотов.
Олег.
Название: Re: Скрипт автоматического рендеринга (если нужно рендерить много файлов)
Отправлено: sungreen от 07 Июнь 2016, 12:57:23
... планируешь в будущем что-нибудь усовершенствовать? ...
... по-хорошему для таких целей нужны более-менее универсальные инструменты, например скрипты ...
Название: Re: Скрипт автоматического рендеринга (если нужно рендерить много файлов)
Отправлено: Samovar от 07 Июнь 2016, 17:25:37
o1egcom, спасибо! Полезные вещи.
Название: Re: Скрипт автоматического рендеринга (если нужно рендерить много файлов)
Отправлено: LanuHum от 18 Июнь 2016, 01:11:26
Все файлы собранные в папку можно отрендерить с помощью Python вот так:
Код
import subprocess, os
blend_binary = '' # В кавычки вписываем путь к blender.exe
files_dir = '' # В кавычки вписываем путь к папке с блендфайлами, которые нужно отрендерить.
files = os.listdir(files_dir)
for i,f in enumerate(files):
    args = []
    args.append("--background")
    args.append("--render-frame")
    args.append("%s"%i)
    File = os.path.join(files_dir,f)
    process = subprocess.Popen([blend_binary,File]+args)
    process.wait()