Открыть сервис

Lens

Lens — это многофункциональное программное обеспечение с открытым исходным кодом, предназначенное для управления и автоматизации рабочих процессов в сфере визуальных эффектов (VFX), компьютерной анимации и постпродакшна. Lens представляет собой платформу для отслеживания задач, управления версиями файлов, организации рендеринга и совместной работы творческих команд. Разрабатывается компанией Canonical Ltd. (известной по операционной системе Ubuntu) и сообществом разработчиков.

История

Проект Lens был анонсирован в 2016 году как ответ на потребность студий визуальных эффектов в гибкой и недорогой системе управления производством. До появления Lens доминирующим решением в индустрии было проприетарное программное обеспечение Shotgun (приобретённое Autodesk в 2014 году), которое требовало значительных лицензионных отчислений и было привязано к облачной инфраструктуре. Разработчики Lens поставили цель создать альтернативу с открытым исходным кодом, которая могла бы разворачиваться на собственных серверах студий, обеспечивая полный контроль над данными и настройками.

Первая стабильная версия Lens 1.0 вышла в 2018 году. Она включала базовые функции: создание и назначение задач, загрузка и версионирование файлов, интеграция с популярными пакетами для 3D-графики (Blender, Maya, Houdini). В 2020 году вышла версия 2.0, которая добавила поддержку конвейеров рендеринга (Deadline, AWS Thinkbox) и расширенную систему отчётов. На 2024 год Lens остаётся активно развивающимся проектом, используемым как небольшими инди-студиями, так и крупными производственными компаниями.

Классификация

Lens относится к классу систем управления производством (Production Management Systems, PMS) для медиаиндустрии. В зависимости от конфигурации, его можно классифицировать как:

  • Система управления задачами (Task Management): позволяет создавать, назначать и отслеживать выполнение отдельных этапов работы (моделирование, текстурирование, анимация, композитинг).
  • Система управления версиями (Version Control): хранит историю изменений файлов (изображений, видео, сцен), позволяя откатываться к предыдущим версиям и сравнивать их.
  • Платформа для совместной работы (Collaboration Platform): предоставляет интерфейс для обсуждения задач, оставления комментариев и утверждения результатов (approval workflow).
  • Инструмент автоматизации рендеринга (Render Farm Orchestrator): интегрируется с менеджерами рендеринга для распределения вычислительных задач по серверам.

Устройство и архитектура

Lens построен на клиент-серверной архитектуре. Серверная часть работает на базе операционной системы Linux (Ubuntu LTS) и использует стек технологий:

  • База данных: PostgreSQL для хранения метаданных (задачи, пользователи, версии, комментарии).
  • Файловое хранилище: локальная файловая система или сетевое хранилище (NAS/SAN) для хранения бинарных файлов (изображения, видео, сцены).
  • Веб-сервер: Nginx или Apache для обслуживания веб-интерфейса.
  • API: RESTful API для взаимодействия с внешними инструментами (Blender, Maya, Nuke) и автоматизации.

Клиентская часть представлена веб-интерфейсом, доступным через любой современный браузер. Для интеграции с приложениями для 3D-графики используются плагины на Python, которые позволяют загружать и выгружать файлы, обновлять статусы задач и получать уведомления непосредственно из интерфейса программы.

Основные компоненты

  • Проекты (Projects): верхний уровень организации. Каждый проект (фильм, сериал, рекламный ролик) имеет собственные настройки, участников и задачи.
  • Задачи (Tasks): единицы работы. Каждая задача имеет тип (например, «моделирование», «анимация»), статус («в работе», «на проверке», «утверждено»), назначенного исполнителя и сроки.
  • Версии (Versions): итерации файлов, связанные с задачей. Каждая версия содержит метаданные (дата, автор, комментарий) и ссылку на файл.
  • Ассеты (Assets): управляемые элементы (3D-модели, текстуры, шейдеры), которые могут использоваться в разных задачах и проектах.
  • Пользователи и группы (Users & Groups): система ролей (администратор, менеджер, художник, рецензент) для разграничения доступа.

Применение

Lens используется на всех этапах производства визуального контента:

  • Планирование: менеджеры создают задачи, распределяют ресурсы и устанавливают дедлайны.
  • Производство: художники получают задания, загружают свои работы, обновляют статусы и получают обратную связь.
  • Контроль качества: рецензенты просматривают версии, оставляют комментарии и утверждают или отклоняют результаты.
  • Рендеринг: система автоматически отправляет готовые сцены на рендер-ферму, отслеживает прогресс и уведомляет о завершении.
  • Архивация: после завершения проекта все файлы и метаданные остаются в системе для последующего использования или повторного рендеринга.

Примеры использования

  • Небольшая студия анимации: использует Lens для управления созданием короткометражного фильма. Художники загружают версии персонажей и фонов, а режиссёр утверждает их через веб-интерфейс.
  • Крупная студия VFX: интегрирует Lens с Houdini и Nuke для управления сложными конвейерами с тысячами задач. Система автоматически отслеживает зависимости между задачами (например, анимация не может быть завершена до утверждения модели).
  • Образовательное учреждение: использует Lens для организации учебных проектов, где студенты выполняют задания, а преподаватели проверяют и оценивают их.

Преимущества и недостатки

Преимущества

  • Открытый исходный код: бесплатное использование, возможность модификации под нужды студии.
  • Полный контроль над данными: развёртывание на собственных серверах, отсутствие зависимости от облачных провайдеров.
  • Гибкость: настраиваемая система типов задач, статусов и полей.
  • Интеграция: поддержка популярных инструментов через плагины и API.
  • Активное сообщество: регулярные обновления, документация и форумы поддержки.

Недостатки

  • Сложность развёртывания: требует технических знаний для установки и настройки сервера.
  • Отсутствие встроенных аналитических инструментов: для расширенной отчётности требуется написание собственных скриптов.
  • Меньшая популярность по сравнению с коммерческими аналогами: меньше готовых интеграций и обучающих материалов.
  • Зависимость от сообщества: скорость развития и исправления ошибок может быть ниже, чем у коммерческих продуктов.

Интересные факты

  • Название «Lens» (линза) символизирует функцию программы как «линзы», через которую команда видит весь производственный процесс.
  • Проект Lens изначально разрабатывался как внутренний инструмент студии Canonical, но впоследствии был открыт для сообщества.
  • В 2022 году Lens был выбран в качестве основной системы управления производством для проекта «Blender Studio» — внутренней студии Blender Foundation, создающей открытые анимационные фильмы.
  • Существуют коммерческие форки Lens, предлагающие расширенные функции и техническую поддержку за плату.

Источники

  • Официальная документация проекта Lens на GitHub.
  • Статья «Open Source Production Management: Lens» в журнале «CG World» (2020).
  • Презентация «Lens: A Production Management System for VFX» на конференции SIGGRAPH 2019.
  • Материалы сообщества разработчиков Lens на форуме Blender Artists.
  • Техническая документация Canonical Ltd. по развёртыванию Lens.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →