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

Быть крутым и запускать рендер в фоновом режиме(т.е. не запуская при этом графический интерфейс) для экономии ресурсов компьютера, рабочего времени, драгоценных нервов. Упростить процесс рендера множества файлов с несколькими сценами в каждом. Менять и перезаписывать параметры рендера "на лету" и для всех файлов сразу.
Базовое знание blender 2.67
Хотя бы догадываться о существовании python и blender API. Непреодолимая тяга к знаниям и смирение средневекового самурая.
Откройте blender. Нажмите пробел и напечатайте Load Factory Settings. Активируйте рендер Cycles. По умолчанию задействован Blender Internal
Сохраните сцену на диск [F2] под именем test.blend в папке C:\project\. Сделайте рендер [F12] и сохраните результат [F3].
Откройте Editors > Python Console [Shift+F4] и напечатайте
>>> bpy.ops.render.render(write_still=True)
Результат рендера автоматически запишется на диск. Путь задается в Properties Editor > Render > Output
Создайте еще одну сцену для рендера в том же файле. Теперь в Python Console нужно напечатать
>>>bpy.ops.render.render(write_still=True, scene="Имя_Сцены_2")
Если ничего не получается и в последней строчке вместо имени сцены Вы написали фразу "Имя_Сцены_2", то сделайте 100 отжиманий и начните урок сначала.
Откройте 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]
Для 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.blend, test2.blend, test3.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, проблем с консолью у вас не возникнет. Отзывы и пожелания жду на почту.
Для Вас - уже готовые тестовые сцены и файлы.