Blender. Рендер в фоновом режиме

Я хочу научиться

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

Системные требования

Базовое знание blender 2.67 
Хотя бы догадываться о существовании python и blender APIНепреодолимая тяга к знаниям и смирение средневекового самурая.

Шаг 1

Откройте blender. Нажмите пробел и напечатайте Load Factory Settings. Активируйте рендер Cycles. По умолчанию задействован Blender Internal
Сохраните сцену на диск [F2] под именем test.blend в папке C:\project\. Сделайте рендер [F12] и сохраните результат [F3].

Шаг 2

Откройте Editors > Python Console [Shift+F4] и напечатайте

 
 >>> bpy.ops.render.render(write_still=True)
 

Результат рендера автоматически запишется на диск. Путь задается в Properties Editor > Render > Output

Шаг 3

Создайте еще одну сцену для рендера в том же файле. Теперь в Python Console нужно напечатать

>>>bpy.ops.render.render(write_still=True, scene="Имя_Сцены_2")

Если ничего не получается и в последней строчке вместо имени сцены Вы написали фразу "Имя_Сцены_2", то сделайте 100 отжиманий и начните урок сначала.

Шаг 4

Откройте Editors > Text Editor [Shift+F11] и напечатайте

 
import bpy 
scn = bpy.data.scenes
for i in scn: 
    i.render.engine = 'CYCLES'
    bpy.ops.render.render(write_still=True,scene=i.name)
 

и просто нажмите Run Script [Alt+P]

 

Шаг 5

Для Windows. Пусть блендер находится в папке C:\Program Files\Blender Foundation\Blender
Файл на диске С в папке С:\project\ и называется test.blend
В процессе тестирования обнаружился баг(но не у всех пользователей), когда папка project располагалась на диске C, консоль выдавала ошибку. Если подобная ошибка обнаружится у Вас, просто переместите все действия на другой диск, например D
Откройте консоль Windows
Пуск > Все программы > Стандартные > Командная строка [Win+R > cmd]. Расскажем Windows где живет blender, напечатав в консоли

 
path = %PATH%;"C:\Program Files\Blender Foundation\Blender\"
 

Запустим рендер в консоли

 
C:
cd C:\project\
blender -b "c:\\project\\test.blend" -o "c:\\project\\" -f 1
 

Думаю если вы используетеLinux, вы должны знать как то же самое сделать в командной оболочке.

Тренировка закончилась

Итак наги Шаги 1 - 5 это всего лишь была небольшая разминка

Скрипт должен запускать на рендер все *.blend файлы в текущей директории одним щелчком по ярлыку. Изменять или перезаписывать параметры рендера: количество семплов, разрешение и т.п.

Пусть блендер находится в папке C:\Program Files\Blender Foundation\Blender
Файлы на диске С в папке С:\project\ и называются test1.blendtest2.blendtest3.blend

Сведем использование консоли к минимуму. Для этого воспользуемся blender API
Создайте в папке с проектом файл render.bat
Запишите в нем с помощью блокнота

 
path = %PATH%;"C:\Program Files\Blender Foundation\Blender\"
blender -b --python batch.py 
pause
 

Создайте там же batch.py

import bpy, os
lst = os.listdir()
for x in lst:
  if (x[-6:]=='.blend') :
    bpy.ops.wm.open_mainfile(filepath=x)
    scn = bpy.data.scenes
    for i in scn:
      i.cycles.device='CPU'
      i.render.filepath='c:\\project\\'+x+'_'+str(i.name) 
      i.render.engine = 'CYCLES'
      bpy.ops.render.render(write_still=True,scene=i.name)
    bpy.ops.wm.save_as_mainfile(filepath=bpy.data.filepath)

Отступы важны! Запускайте рендер двойным щелчком по файлу render.bat

Упражнение

Объясните каждую строчку вышенаписанного скрипта.

Подсказка

Строчка i.cycles.device='CPU' заставляет при рендере работать процессор, а не видеокарту. Наведя курсор мыши на любое из свойств в Editors > Properties вы получите подсказку, как дополнить другие свойства.

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

Мне лень читать и думать

Для Вас - уже готовые тестовые сцены и файлы.

559 0 850 5
6
2013-06-06
Буду рад вопросам и критике, потому что хХотелось рассказать гораздо подробнее и больше, но т.к. я и сам обычно строчке на 5 текста начинаю засыпать, решил по минимуму изложить, так сказать первые шаги.
2013-06-06
Здесь почему-то листинг отображается весь в одну строчку, просьба модератора поправить, т.к. python не содержит знаков препинания(таких как ";" ), и отступы важны. Или готовый код можно скачать в разделе ФАЙЛЫ . Ну или посмотреть здесь http://easy-study.org/lesson1.html
2013-06-06
спасибо))
2013-06-07
Можно ли автоматизировать процесс? Напишите кто-нибудь скрипт. :)
2013-06-08
Автоматизировать что именно, процесс чего?
2015-11-02
path = %PATH%;"C:\Program Files\Blender Foundation\Blender\"
Возможно, в данном случае, чтобы работало надо будет убрать кавычки
RENDER.RU