Чего ждать от Blender 2.7x—3.x?

blender future

В блоге разработчиков Blender опубликованы предварительные планы на дальнейшую разработку этого популярного пакета 3D-моделирования и анимации.

Blender 2.6x

Итак, цикл версий 2.6x подходит к своему логическому завершению:

  • Ожидается ещё две версии: 2.68 и 2.69. В обеих основное внимание будет уделено стабилизации Blender.
  • Все потенциально нестабильные новшества будут перенесены в 2.7х. То же касается новшеств, приводящих к поломке обратной совместимости.
  • При необходимости будут выпускаться обновления версии 2.69 с буквенными постфиксами (2.69a, 2.69b и т.д.).

Blender 2.7x

В следующей серии релизов ожидается несущественная поломка обратной совместимости, обновление интерфейса, названий параметров, клавиатурных комбинаций. Уже страшно? :)

Среди проектов, которые вписываются в этот цикл разработки:

  • OpenGL 2.1 как минимальное системное требование. Это позволит реализовать, к примеру, фоновые вычисления отрисовки.
  • Рефакторинг графа зависимостей. Эти планы были опубликованы ещё около года назад и подразумевают учёт всех типов данных, повышенную гранулярность зависимостей, способность воспроизводить более сложную анимацию в реальном времени, использование Alembic и многое другое.
  • Управление используемыми в проекте ресурсами, улучшенное управление линковкой внешних файлов.
  • Переписывание секвенсера (проект GSoC этого года).
  • Редизайн вьюпорта.

Новый цикл разработки — ещё и отличный повод перейти на Git для хранения исходного кода проекта.

Blender 2.8x

Тон предлагает не затягивать с началом этого цикла разработки так, как вышло с 2.6x и 2.7x. Он даже допускает возможность параллельной разработки 2.7x и 2.8x.

Затея, прямо скажем, спорная. Поддержка нескольких веток одновременно приводит к существенному увеличению временных затрат на поддержку. Ближайший пример здесь — Scribus, где ветка 1.5.0 уже примерно четыре года без релиза.

В этом цикле разработки допустимы более серьёзные изменения:

  • Новые системы физики, более обширное применение возможностей Bullet.
  • Долгожданная система частиц на нодах, которой Лукас Тённе занимается последние несколько лет.
  • Переписывание на нодах других частей Blender (модификаторы, ограничители).
  • Массовые изменения в игровом движке (см. ниже).
  • Возможно, переход на OpenGL 3.0.

Blender 3.x

Предполагается, что в этой ветке произойдут существенные архитектурные изменения. Blender 2.x опирается на концепции, выработанные в середине девяностых. Ядро на C, формат файлов, DNA, методы — вопреки ожиданиям, всё это продержалось без концептуальных изменений целых 20 лет. Внимание, вопрос: так ли надо ломать то, что уже работает?

Несколько месяцев назад мы (LGW, digilinux) разговаривали с Эстебаном Товальяри о движке рендеринга Appleseed, которым он на тот момент активно занимался. В ходе беседы Эстебан несколько резко высказался в адрес архитектуры Blender, и его мнение наглядно демонстрирует, почему серьёзные изменения назрели:

Расширять Blender очень и очень непросто. Если вы что-то к нему дописываете, на определённом этапе нужно добиться включения вашего кода в основной репозиторий. В противном случае вам нужно вручную патчить каждый релиз, чтобы поддерживать свои изменения в актуальном состоянии. Это довольно болезненная процедура.

С модификаторами всё ещё хуже. Внутри Blender они, что называется, прибиты гвоздями. Больше того, они пишутся на Python 3, которым в VFX пока никто не пользуется.

В общем и целом, архитектура Blender в сравнении с Maya или Houdini попросту устарела и не учитывает общую для индустрии тенденцию к переходу на процедурные пайплайны. Сейчас Blender на 100% непроцедурный. Для моделирования и лепки это не так чтобы страшно, но как только дело доходит до анимации и спецэффектов… Вот это уже проблема.

В ближайшие пару лет команда Blender планирует собирать идеи по изменению архитектуры приложения. Эти идеи затем будут проанализированы и переработаны в конкретные планы, реализации которых и стоит ждать в ветке 3.x.

А что с игровым движком?

Тон считает, что команде не удалось сделать игровой движок, по качеству и портируемости сравнимый с Unreal, Crysis или даже Unity3D. Поэтому, с одной стороны, надо будет обеспечить поддержку внешних игровых движков — по аналогии с подключением внешних движков рендеринга.

С другой же стороны, функции нынешнего игрового движка стоит перенести в основную часть Blender, реализовав своего рода интерактивный режим. Например, концепцию логики (Logic) можно перенести прямо в систему анимации.

По мнению Тона, переключение внимания в разработке на интерактив в 3D позволит команде реализовать немало интересных и уникальных возможностей.

Подводя итоги

Как видите, озвученные планы обозначают скорее генеральную линию развития проекта, ожидаемые инфраструктурные и архитектурные изменения. В этих планах, если не считать редизайн VSE, не учтены ни проекты Google Summer of Code, ни дальнейшая эволюция Cycles — это попросту другой уровень детализации.

Предложенный сценарий развития не является окончательным, Тон Роозендаал предлагает обсуждать опубликованное в комментариях к постингу и в списке рассылки bf-committers@.

И буквально пара слов о ближайших планах. Согласно текущему расписанию, выпуск 2.68 запланирован на начало июля. Ветка «multiview» с улучшенной подготовкой стереоскопического рендеринга туда не попадёт, но переход на OpenEXR 2.0 всё же состоится.

Сегодня официально начинается активная фаза работы над проектами Google Summer of Code. Список веток в SVN приведён здесь.

7 Comments

  1. Все бы open source программы развивались такими темпами, как Blender. Предлагаю Тона клонировать и раздать всем другим проектам поровну :))

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

    • Привычка — страшное дело. Например, скрайбусовцы попробовали перейти на Git, но не осилили. Поэтому основная команда откатилась обратно на SVN, а, скажем так, второй круг разработчиков (кстати, делающих всё самое интересное) как раз пользуется Git.

  2. Эх, а я то ожидал серьёзной переработки моделирования, введения параметрических объектов, нормальной работы с NURBS, кривыми Безье… Ведь некоторые вещи в Блендере сделаны — откровенно, через задницу. Когда работаю с NURBS — невозможно сделать выравнивание контрольной точки (как вершины в меше) А как вообще увидеть «вес» контрольной точки NURBS? В результате, никто не пользуется таким мощным инструментом, всё из «сеток» лепят.
    А параметрические объекты? Я создаю куб, хочу позже изменить размер, приходится менять по X,Y,Z, а если я создал сферу и хочу поменять диаметр и число граней? Самое крутое было-бы с деревьями, сейчас плагином сгенерировал дерево и он создал меш ствола, веток, листьев. А если-бы можно было менять структуру дерева после? Эх, мечты, мечты… Ведь приходится создавать новое дерево и снова заниматься его раскраской и пр.
    И много-много другого не хватает Блендеру, а они как будто не замечают этого.

    • Предложенный сценарий развития не является окончательным, Тон Роозендаал предлагает обсуждать опубликованное в комментариях к постингу и в списке рассылки bf-committers@.

      Вот эта фраза в тексте была написана не просто так.

      • Ох… во времена новообразовывающейся ветки 2.4 писал, и не только я писал, во времена 2.5 и 2.6 поднимался вопрос, одно время, даже кто-то обещал взяться, но потом облом, пришёл Тон и сказал что это слишком муторно и неча воду мутить. Да по многим вопросам, у него странное отношение — не будет, говорит, этого, и всё тут. А с параметрическими объектами вообще всё плохо. Уж очень архитектура блендера (со слов самого Тона) несовместима с такими вещами, одна из причин, по которым никак не могут нормальных CAD-прибамбасов запилить.
        А я всё надеюсь и жду, а они всё никак не решатся. Извините, что здесь вылил свои «страдательные наклонения» :)

  3. Вы не один желаете этого. По-моему Тон правильно решил и решает концентрировать как можно больше усилий на улучшение сильных сторон бледнела. Если бы было на 10 раз больше усилий (т.е. людей), то можно было бы думать о подобных гвоздях.

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

4 Trackbacks / Pingbacks

  1. En Passant: как Крис Бёртон сделал 3D-мьюзикл с нулевым бюджетом
  2. Alembic стал компактнее и ускорился
  3. Blender Foundation нанял двух разработчиков для геймдева | Мультимедиа в Linux
  4. Blender 2.69: импорт FBX, новые инструменты моделирования и трекинга

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*