Конвейер Blender Studio

Конвейерblenderstudio

Одной из технических целей проекта Sprite Fright является исследование, разработка и совместное использование конвейера производства компьютерной графики с полностью открытым исходным кодом. Это набор инструментов и процессов, построенных вокруг и внутри Blender для поддержки процесса создания фильмов.

На протяжении многих лет команды Open Movie разработали и делились бесчисленными инструментами для этой цели, и этот проект направлен на их лучшее документирование, организацию и расширение. Sprite Fright также ставит некоторые уникальные задачи:

  • Сложность короткометражного фильма выше, чем в предыдущих постановках (6 основных выступлений персонажи, массовые сцены с 21 + персонажи и существа, сложные наборы, различные эффекты и т. д.)
  • Большая часть производство происходит удаленно (это не входило в планирование, когда мы начинали работу над короткометражкой)
  • Производственная группа рассчитывает примерно 20 артисты, одна из самых больших групп, которые у нас были при создании короткометражки.

В предстоящей серии сообщений в блоге команда опишет проблемы и поделится решениями, разработанными для таких процессов, как управление задачами, анализ рендеринга, кеширование, построение кадров и т. Д.

Отслеживание производства

Я хотел бы начать серию, посвященную отслеживанию производства и управлению задачами. Вот небольшая предыстория. В 2014, во время проекта Tears of Steel , Я разработал Attract.

Attract был простым и доступным инструментом для художников и продюсеров, позволяющим управлять своими задачами, а также давал некоторое представление о состоянии производства (сколько секунд анимации осталось, сколько кадров было обработано окончательно и т. д.).

The first version of Attract, a simple PHP script.
Первая версия Attract, простого скрипта PHP.

Инструмент оказался полезным, и художникам понравилось используя его, как вы можете видеть из этого видео (перейдите к 55: 33).

После Tears of Steel я работал над новой итерацией of Attract, перейдя от простого PHP-скрипта к использованию фреймворка Code Igniter, и протестировал его, помогая в проекте Wires for Empathy. Это было отличным упражнением, чтобы лучше понять концептуальные модели производственного трекера (активы, задачи, обзоры, статусы и т. Д.).

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

В 2014, работая над Cosmos Laundromat, я разработал новую версию Attract, основанную на нереляционная база данных с целью сделать ее позже доступной как SaaS (программное обеспечение как услуга) в Blender Cloud. С помощью Сибрен Стювель и Инес Алмейда мы разработали первую интеграцию Blender-Attract, оставаясь близкими к концепции «единого источника истины».

Attract v3, software as a service on Blender Cloud.
Attract v3, программное обеспечение как услуга в Blender Cloud.

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

Blender Cloud add-on, featuring Attract integration
Надстройка Blender Cloud с Привлечь интеграцию

Интегрированный конвейер

Все проекты короткометражных фильмов Blender Studio, начиная с Cosmos Laundromat, создавались с использованием Attract, Flamenco и менеджер SVN. В 2020, Attract и Flamenco стал доступен как «Программное обеспечение как услуга» для подписчиков Blender Cloud для использования в своих собственных продуктах.

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

: интегрированный прототип конвейера

In 2020 вместе с Пабло Васкесом мы начали создание прототипа этой концепции с помощью программного обеспечения под названием Lineup, «производственного центра», предлагающего тесную интеграцию управления задачами, рендеринга и хранения.

Этот производственный центр также будет учитывать отзывы, предоставленные Энди в его посмертной презентации конвейера Spring, и станет стартовым ПО. int для портативного программного обеспечения.

Одним из вдохновителей для Lineup была бесшовная интеграция инструментов и рабочих процессов, предлагаемых платформами разработки программного обеспечения, такими как GitHub.

Прототип Attract 4.0, работающий в Lineup.

Первоначальная цель прототипа заключалась в -Представьте, как будет работать Attract, предоставляя интегрированный обзор, улучшая визуализацию состояния активов и задач и закладывая лучшие основы для интеграции с системами контроля версий, хранилищем объектов и распределенными вычислениями.

Новое начало: Kitsu

Из-за нашего плотного графика и приближающегося начала производства Sprite Fright мы смогли только посвятить несколько недель на проектирование и прототипирование Lineup, прежде чем я решил применить более практичный подход и просто заменить Attract на Kitsu.

На протяжении многих лет я общался с Фрэнком Руссо, автором Kitsu, бесплатное программное обеспечение для отслеживания производства с открытым исходным кодом . Фрэнк неустанно работал над этим проектом, и он способствовал развитию растущего сообщества TD и разработчиков вокруг него.

С прошлого года мы используем Kitsu в производстве, участвуя в дизайне и процесс разработки, а также помощь в финансировании развития проекта. Китсу помог команде Sprite Fright создать доступный и совместный контент.

Следующие шаги

Хотя Kitsu значительно улучшил отслеживание производства в Blender Studio, мы по-прежнему очень сосредоточены на работе над следующими темами:

  • Интеграция с другими частями конвейера, такими как управление рендерингом, хранение данных
  • Интерфейсы для передачи информации о завершении задач и рабочей нагрузке в команде
  • Инструменты для презентации, чтобы показать состояние производства подписчикам Blender Cloud
  • Более глубокая интеграция с Blender

Все эти темы соответствуют миссии Blender по предоставлению инструментов, дающих свободу творчества.

Я с нетерпением жду возможности поделиться следующими шагами в этом путешествии!