Порядок выполнения событий рендера

Для того чтобы можно было выполнять определенные действия на разных этапах рендера, разработчики предусмотрели в Blender Python API набор хендлеров – специальных функций для обработки событий.

Все доступные хендлеры можно посмотреть, выполнив следующую команду:

Хендлеры, которые относятся непосредственно к процессу рендера, следующие:

Каждый из этих хендлеров вызывается в определенный момент, например, хендлер “on_render_init” – при старте рендера.

Для того чтобы во время вызова этого хендлера выполнялись нужные нам действия, определим функцию:

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

Привяжем нашу функцию к вызову хендлера:

Теперь каждый раз в начала рендера в консоль будет выводиться текст.

Определим аналогичные функции для каждого события рендера:

И свяжем их с соответствующими хендлерами:

Теперь при запуске рендера мы получим следующий вывод в системную консоль, для анимации из двух кадров:

Как мы видим, обработка событий рендера выполняется в следующем порядке:

  1. render_init – перед началом рендера
  2. render_pre – перед началом рендера каждого кадра
  3. render_post – после завершения рендера каждого кадра
  4. render_write – после сохранения каждого кадра
  5. render_complete – после завершения рендера всех кадров

Событие render_cancel выполняется в момент отмены рендера, например, если пользователь нажал кнопку ESC в процессе рендера.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии