Автоматизация рендеринга

24 июня 2013 34 комментария Артем Слаква Скриптинг на Python

Наверное, каждый из нас во время длительного рендеринга периодически подходит к компьютеру, чтобы проверить не закончился ли он. Больше всего приходится делать это владельцам старых систем, так как на них рендеринг происходит особенно долго. А вот если бы по завершению рендеринга происходило какое-то оповещение, то можно было смело поставить задачу компьютеру и заниматься другим полезным делом, не задумываясь о нем.
python

Проигрывание звука по завершению рендеринга

К сожалению, встроенной функции в Blender для этих целей нет, но благодаря возможностям встроенного в него интерфейса программирования приложения (API), мы, с помощью нескольких строк кода, можем исправить данное неудобство. Для этого необходимо открыть текстовый редактор Blender (Text Editor), создать в нем новый документ, набрать следующие строки кода и нажать кнопку Run Script (горячая комбинация ALT + P):

1
2
3
4
5
6
7
8
9
import bpy
import aud
 
def play(scene):
	Device = aud.device()
	Factory = aud.Factory('C:/music.mp3')
	Device.play(Factory.volume(1))
 
bpy.app.handlers.render_complete.append(play)

В первой строчке мы подключаем модуль bpy для обращения к необходимым нам модулям. Он используется практически во всех скриптах, где идет обращение к различным модулям (кроме встроенных в python). Во второй – мы подключаем модуль aud для получения доступа к нашему устройству воспроизведения аудио.

Далее определяется функция, в которой мы получаем доступ к нашему звуковому устройству, указываем какой файл использовать для проигрывания музыки, и его громкость (значение громкости выставляется от 0 до 1). И в последней строчке нашего скрипта мы прикрепляем нашу функцию проигрывания звука к событию завершения рендеринга.

Если у Вас основная громкость в системе выставлена в значении 50%, а в скрипте Вы укажете 0.5, то проигрываться мелодия будет с силой 25% вашей основной громкости.

Вот таким простым способом можно заставить Blender проигрывать определенный трек по завершению рендеринга.


Выключение компьютера по завершению рендеринга

Бывают ситуации (например при создании анимации), когда рендеринг длится очень долго, и компьютер необходимо оставить включенным на всю ночь. Но если рендеринг закончится в 04:00, то до тех пор, пока Вы проснетесь, компьютер будет просто бездействовать. Или если необходимо запустить просчет анимации и уйти из дома, то было бы замечательно, если бы компьютер по завершению задания сам выключился.

Вариант для Windows

Как Вы уже, наверное, догадались и этой функции в Blender пока не существует, но немного переделав наш скрипт мы можем запросто это исправить:

1
2
3
4
5
6
7
import bpy
import subprocess
 
def shutdown(scene):
	subprocess.call('Shutdown.exe -s -t 05')
 
bpy.app.handlers.render_complete.append(shutdown)

Во второй строчке мы прописываем модуль subprocess для обращения к операционной системе. В 5-й строке, с помощью метода call, мы вызываем, известную многим, команду завершения работы Windows. Значение 05 означает, что наш компьютер завершит свою работу через 5 секунд после завершения рендеринга. Вы же можете установить то время, которое Вам нужно.

Вариант для Linux
1
2
3
4
5
6
7
8
import bpy
import os
 
def shutdown(scene):
        os.system('sudo chmod u+s /sbin/shutdown')
	os.system('shutdown -P 01')
 
bpy.app.handlers.render_complete.append(shutdown)

Данный код завершит работу компьютера через одну минуту после завершения рендеринга. Команда в 5-й строке нужна для того, чтобы можно было выполнить команду shutdown без ввода пароля суперпользователя.

Вот с помощью таких простых скриптов можно немного автоматизировать работу в Blender и упростить себе жизнь. Пользуйтесь на здоровье!

Если кто-то подскажет в комментариях, как завершить работу на ОС Mac, буду очень признателен и добавлю в статью.
.
comments powered by HyperComments

О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.