Pull to refresh

Euphoria Module: короткометражная 3D-анимация, созданная с помощью открытого ПО

Reading time3 min
Views28K


Euphoria Module — короткометражный анимационный фильм, сделанный с помощью Open Source-инструментов (за исключением некоторых сторонних ресурсов: музыка, несколько звуков, несколько текстур).
  • Blender: моделирование, анимация, рендеринг, композитинг, монтаж видео и звука;
  • MakeHuman: генерирование модели девушки, которая была позже «доведена» в Блендере;
  • Audacity: создание и обработка нескольких звуковых эффектов;
  • GIMP: всё, что связано с 2D (довольно мало в моём случае).



Всё отрендерено с помощью движка Cycles, интегрированного в Блендер. Большая часть кадров была посчитана на единственном компьютере. Изначально у меня была одна видеокарта на базе GeForce GTX 770, а позже я купил подержанную GTX 670 в дополнение. Разница в производительности между ними — всего 10-12%. Для рендеринга можно комбинировать разные видеокарты, это очень удобно и экономично (не без нюансов, конечно).



Помимо видеокарт я старался задействовать любые процессоры, которыми мог воспользоваться, но они очень сильно проигрывали по производительности. Например, даже весьма неплохой i5-4670 (Haswell, 4 ядра, 3.6 ГГц в турбо-режиме под максимальной нагрузкой) проигрывает одной GTX 770 в 4-5 раз. Цифры приблизительные, всё зависит от характера сцены.

Когда видеокарты заняты вычислениями, интерфейс всей системы начинает сильно тормозить. В этом случае полезен встроенный в процессор видеоадаптер, в i5-4670 это HD 4600. Он справлялся с задачами на вполне терпимом уровне.



Блендер хорош. Второстепенные функции (композитинг, редактирование видео) могли бы быть лучше, но даже в текущем виде они обеспечивают приемлемые базовые возможности. Симуляция физических эффектов также нуждается в улучшении. А вот моделирование, анимирование и создание материалов для Cycles были большим удовольствием. Стоит отметить, что я оцениваю всё с точки зрения создателя низкобюджетной короткометражки, для других задач всё может отличаться.



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



По моим подсчётам, суммарное время рендера составило примерно 1 год для GTX770 плюс 6 месяцев для GTX 670. Для сцены с облаками пришлось арендовать дополнительные ресурсы, что сэкономило пару месяцев.

Важный момент: рендерилось всё в разрешении 1920x1080. 4K-версия, закачанная на YouTube — это апскейл, видео с искусственно увеличенным разрешением. Ютюб сжимает всё настолько беспощадно, что даже в 1080p пропадают мелкие детали. Разрешение 4K там примерно схоже по качеству с хорошо закодированным 1080p.



Скоро выйдет небольшое видео с разбором картинки на части.

Добавлено 6 мая 2015
А вот и разбор картинки:


Дополнение: ответы на вопросы

Хотел бы попросить у автора описать возникшие сложности, пути их решения.
Технических сложностей было не так много:
  • Трудно было добиться приемлемой симуляции жидкости. Решилось многократным подкручиванием всевозможных параметров. После каждого изменения приходилось подолгу ждать «запекания» симуляции. Универсального решения нет, всё зависит от конкретной сцены. С нетерпением жду улучшений в этой области.
  • Не получилось корректно сделать полноценную анимацию травы без глюков. Возможно, сыграла роль какая-то комбинация факторов, так как по идее трава из Grass Essentials должна нормально анимироваться. Пока не выяснил точную причину. Решилось едва заметной анимацией.

— Расскажите что бы вы, уже имея опыт, сделали бы в проекте иначе.
Имея опыт, я хорошо бы подумал, стоит ли использовать Cycles образца 2013 года (а начал я тогда) для замкнутых пространств с маленькими источниками света. Для метода path tracing это проблемная область. Постепенно ситуация улучшается.

Возможно, я всё равно остановился бы на Cycles, но тогда бы начинал подбор параметров рендеринга с того, что выкручивал все bounces в 0, а потом постепенно увеличивал бы, оценивая картинку. Моя проблема была в том, что я исследовал влияние количества отражений на время рендера с помощью примитивных сцен, из-за этого я спокойно выставлял 4-5 bounces всех типов на сложных сценах. Это убило немало времени.

Дополнение насчёт сюжета

Некоторые зрители негодуют по поводу отсутствия сюжета и жалуются на внешний вид некоторых иллюзий. Сюжет: кто-то очень любит богатые ощущения, но однажды что-то пошло не по плану.
Tags:
Hubs:
+51
Comments52

Articles