Перевод пособия по рендеру Freestyle.

От меня:
Ссылка для скачивания билда Blender с FreeStyle поправлена. В данном билде Freestyle отсутствует в списке рендер-движков, включить его можно на панели Output, кнопка FreeStyle, тогда появляется и панель рендера. Работа с этой версией может отличаться от описанного, так как на момент написания пособия автором была более ранняя версия билда.

Пособие по NPR рендерингу с помощью нового Blender рендера Freestyle.
Автор: T.K.
Редакция от: ноябрь 11, 2008

Вступление

Это пособие описывает как я создал экспериментальный видеоролик (рис. 1) с помощью Blender и его нового рендера Freestyle. Blender — мощный программный пакет для создания компьютерной 3D графики и видеоигр. Freestyle это нефотореалистичный (NPR) рендер, разработанный независимой от Blender академической исследовательской группой, но теперь находится в процессе полной интеграции в Blender, за что огромное спасибо проекту Maxime Curioni - Google
Summer of Code 2008. Я был одним из многих пользователей с нетерпением ожидавших интеграцию Freestyle, поэтому сентябрьские новости, в которых говорилось о создании рабочей версии Blender с рендером Freestyle очень меня обрадовали. Результаты моих первых проб с новым рендером были просто потрясающими. Экспериментальный ролик был создан как экзамен для нового рендера. Ролик можно посмотреть на http://vimeo.com/1978456

Рис 1. Кадр из ролика.

Цель этой статьи — представить основные идеи, используемые для создания конечного результата — видеоролика. Для достижения желаемого внешнего вида я использовал редактор нодов и редактор видео-последовательности в Blender, а также редактор действия и нелинейной анимации при создании простой 3D CG анимации. Пошаговое описание того, как я использовал эти возможности будут слишком длинные, чтобы привести из здесь, так что я предоставлю краткие описания по мере необходимости. Читатели, не знакомые с этими функциями, могут ознакомиться с ними на сайте Blender в разделе документации http://wiki.blender.org.

В процессе написания этой статьи, интеграция Freestyle в Blender находилась на ранней стадии, которая конечно имела свои ошибки и «поломанные» функции, вам нужно будет избегать пользоваться ими. Важные утерянные возможности в текущем состоянии интеграции в Blender это поддержка слоев рендера (render layers) которая позволяет вам делать компоузинг нескольких изображений (или последовательности изображений) созданных отдельно с помощью Freestyle и/или внутреннего рендера Blender. Для компенсирования этой утерянной функциональности я использовал редактор видео-последовательности, о чем напишу позже.
Версия программы, которую я использовал была Revision 16866 из Freestyle ветви. Я сам собрал билд под Win32, который можно скачать с graphicall.org по следующей ссылке:
http://www.graphicall.org/builds/builds/showbuild.php?action=show&id=876

Видео-ролик (финальная серия кадров)


Контурные изображения

Цветовые изображения

Рис 2: Композиция ролика


Композиция ролика показана на рисунке 2. Ролик состоит из серии кадров, каждый из которых это композиция изображений, созданная из двух статических изображений. Вот так, две последовательности кадров были отдельно отрендерены одна за другой и собраны в финальную серию кадров для создания ролика. Одна последовательность изображений (Рисунки) показывает черно-белые контуры кисти, а другая (раскрас) придает цветовой тон ролику.

Вкратце, подготовка финальной серии кадров занимает 4 шага:
1. Подготовка 3D сцены.
2. Рендеринг части Рисунки.
3. Рендеринг части Раскрас.
4. Добавление эффекта размытости обоим частям.
5. Совмещение двух частей вместе.

Давайте рассмотрим на каждый шаг — один за другим.

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

Рисунок 3: Узлы для определения движения страниц.
Все страницы совершают одинаковые движения, но с различными стартовыми кадрами, указывающими начало анимации движения. Это сделано следующим образом. Я сначала создал движение первой страницы с помощью редактора IPO и создал действие с названием AC:TurnOver в Action editor (рис 4). Затем, с помощью нелинейного редактора NLA я ассоциировал действие с каждой из оставшихся 9 страницами, но с различными стартовыми кадрами (Рис 5)

Рисунок 4: Снимок редактора действия Action Editor. B1-B5 — это имена пяти узлов, из которых состоит объект арматуры, управляющий движением страницы.

Рисунок 5: Снимок редактора NLA: Объекты арматуры с именами от PageBone.000 до PageBone.009. Движение каждой арматуры определяется полоской действия с именем TutnOver, которая является действием, определенным в Action Editor - AC:TurnOver.


Рендеринг контурной части — Рисунок.
Теперь давайте поиграем с рендером Freestyle. Он доступен в движках рендеринга в меню Rendering
Engine на закладке render в панели сцены. (Рис 6). При выборе Freestyle в меню появится закладка Freestyle (Рис 7), в которой вы можете указать модули стиля, которые описывают стили по правилам скриптового языка Python. Предопределенные модули стилей доступны в директории .blender/scripts/freestyle/style_modules (точное меторасположение директории blender зависит от платформы. У меня она расположена в той же директории что и blender.exe)

Рисунок 6: Меню движков рендеринга на панели сцены.

Я попытался использовать предопределенный модуль стиля japanese_bigbrush.py. Вы можите включить его, нажав на иконку с изображением папки (Рисунок 7) и выбрав файл модуля стиля в директории style_modules.

Рисунок 7: Закладка Freestyle в панели.

Давайте вернемся к закладке Render и нажмем кнопку RENDER. Рисунок 8 показывает результат работы рендера Freestyle. Построенное изображение выглядет достаточно интересно.

Рисунок 8: Результат работы рендера Freestyle с предопределенным модулем стиля japanese_bigbrush.py (без модификаций).

Здесь я сделал незначительные изменения в модуле стиля для улучшения результата. Одно изменение это цвет контура. На рисунке 8 цвет контура темно-серый, и я ожидал, что этот цвет приобретет прозрачный вид в финальном ролике. Поэтому я изменил цвет контура на черный. Другое изменение - это толщина контуров. Мне контур показался слишком толстым, поэтому я решил сделать его ширину немного потоньше.
Изменения в были внесены такие. Цвет, указанный в строке 53, переменная ConstantColorShader. Четыре действительных числа указывают цвет контура в формате RGBA, я изменил их на эти значения:

Было: ConstantColorShader(0.2, 0.2, 0.2, 1.0),
Стало: ConstantColorShader(0.0, 0.0, 0.0, 1.0),

Ширина контура указывается в строке 51 в pyNonLinearVaryingThicknessShader. Толщина это переменная величина и указывается в виде диапазона, первые два числа указывают минимум и максимум толщины контура, которые он может принимать. Вот как я изменил их:


Было: pyNonLinearVaryingThicknessShader(4, 25, 0.6),
Стало: pyNonLinearVaryingThicknessShader(2, 12, 0.6),

Результат улучшений показан на рисунке 9. Мне он кажется неплохим, поэтому я решил отрендерить первую последовательность кадров (контурная часть — рисунок), указав директорию куда сохранять результаты рендеринга, выбрал формат изображений PNG, и нажав кнопку ANIM на панели.

Рисунок 9. Результат работы модифицированного модуля japanese_bigbrush.py

Есть две ловушки, в которые могут попасть новички, пытающиеся использовать Render, описанные ниже. Я думаю это проблеммы реализации, которые будут устранены в будущих версиях ветки Freestyle.

1. Вы должны выбрать опцию Render Window в меню Render Display на закладке Output. Когда я тестировал, другие опции (Full Screen и Image Editor) не работали с рендером Freestyle.

2. Также следует осторожно устанавливать SizeX и SizeY на закладке Fornat. Ширина и высота изображения, которое нужно построить должна быть меньше чем размер экрана. Также, X должно быть больше, чем Y, иначе 3D сцена будет построена маленькой.

Рендеринг второй части — цветовой (раскрас)
Следующий шаг — подготовка цветовой части. Я также сделал несколько попыток и совершил ошибки, при получении нужного цвета. Рисунок 10 показывает результат внутреннего рендера Blender. Построенное изображение для меня выглядит неплохо, так что я сделал сборку из двух изображений с рисунка 9 и 10, чтобы посмотреть на результат, близкий к финальному. Рисунок 11 показывает совмещенное изображение, которое также выглядело очень многообещающим. Я отрендерил вторую последовательность изображений (цветовую), результат выводился в отличную от контурного рендера директорию.


Рисунок 10. Результат работы внутреннего рендера Blender.

Рисунок 11. Совмещенное из двух (рис 9 и 10) изображение.

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

Добавление эффекта размытости было сделано с помощью редактора нодов, как показано на рисунке 12. Там 3 нода в редакторе, Image, Blur и Composite слева направно. Image нод передает последовательность изображений в качестве входных данных для нод Blur, который добавляет эффект размытости каждому изображению. Параметры X и Y нода Blur были определены экспериментальным путем за несколько попыток, так чтобы это решило проблему мерцания. Я провел эту процедур над обеими последовательностями изображений.


Рисунок 12: Добавление эффекта размытости с помощью нодов.

На рисунке 14 показано добавление эффекта размытости обеим частям ролика с помощью нодов.


Рисунок 13: Контурная и цветовая части с примененным эффектом размытия.


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

Рисунок 14 показывает настройки редактора видео-последовательности, в котором есть три полоски последовательностей, а именно две полоски последовательности изображений и полоска последовательности Mul снизу вверх. Полоски последовательностей Image ссылаются на две последовательности — контурную и цветовую части, а Mul последовательность используется для комбинирования их способом мультипликации (умножения). Я также добавил отступы(margin) из 25 кадров каждой последовательности, чтобы сделать паузу в 1 секунду вначале и в конце ролика (частота кадров ролика — 25 кадров в секунду).

Рисунок 14: Совмещение финальных серий кадров с помощью редактора видео-последовательностей.

Рисунок 15 показывает кадр из финальной серии кадров, использовавшихся для создания ролика. Теперь вид совмещенных изображений выглядит более удобоваримым, чем на рисунке 11. Исчезли мерцания как я и ожидал.

Рисунок 15: Итоговое совмещенное изображение сделанное в видео-редакторе.

Итоги
Создание ролика привело нас к следующим общим шагам:
Контурная часть: Последовательность статических изображений, построеных с помощью рендера Freestyle с измененной версией предопределенного модуля стиля japanese_bigbrush.py. Эффект размытости был добавлен позже к последовательности изображений с помощью редактора нодов для устранения мерцаний.
Цветовая часть: Другая последовательность статических изображений была получена с помощью внутреннего рендера Blender. Эффект размытости был добавлен с помощью редактора нодов.
Финальная серия кадров: Контурная и цветовая части были комбинированы с помощью видео-редактора последовательностей для создания итоговой серии кадров из которых и состоит ролик. Последовательность Mul была использована для совмещения двух последовательностей изображений способом умножения.

Я надеюсь это пособие поможет новым пользователям рендера Freestyle.
Перевод пособия по рендеру Freestyle. Автор: Maks Zinchenko дата: 12:22 Оценка: 5

10 комментариев:

  1. Большое спасибо за перевод, там в ссылке на Vimeo в конце адреса точка стоит, подправьте пожалуйста

    ОтветитьУдалить
  2. Этот комментарий был удален администратором блога.

    ОтветитьУдалить
  3. Скажу я вам уважаемый Аноним-2 вот что! Шли бы вы с вашими мыслями на Одноклассники.ru, и там бы им втирали!
    Человек, здесь, тратит своё время и знания англ. языка, чтобы дать многим, не владеющим оным, возможность читать материалы и новости по Blender 3D! За что ему спасибо! А вы, простите, что можете предложить, кроме того бреда, который здесь написали?!

    ОтветитьУдалить
  4. Первому Анониму большое спасибо за поправку, уже исправил!

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

    ОтветитьУдалить
  5. Доброго времени суток.
    Заинтересовал меня рендер Freestyle, благодаря этому уроку, сходил по ссылке, скачал. Но во первых версии, что по ссылке, там уже нет, есть более старшие. Во-вторых - не получается редерить, как в уроке. Нажимаю кнопку "Freestyle", но в списке рендеров не появляется это самый Freestyle, и бесполезно выбирать модули, и в Интернале, ни в Яфрее рендерится как обычно. Что я неправильно делаю? Скачал отдельно рендер Freestyle, он открывает 3ds-ки, но обводку делает не каждый раз. Пробовал в основном японскую кисть (как в уроке).

    ОтветитьУдалить
  6. Спасибище огромное, очень интерисует меня такая вещь как этот фристайл.

    ОтветитьУдалить
  7. Не за что, только учтите, что этот перевод немного устарел, думаю вы разберетесь в отличиях

    ОтветитьУдалить
  8. >не получается редерить, как в уроке. Нажимаю кнопку "Freestyle", но в списке рендеров не появляется это самый Freestyle, и бесполезно выбирать модули, и в Интернале, ни в Яфрее рендерится как обычно.

    ОтветитьУдалить
  9. Пробовали?
    "Ссылка для скачивания билда Blender с FreeStyle поправлена. В данном билде Freestyle отсутствует в списке рендер-движков, включить его можно на панели Output, кнопка FreeStyle, тогда появляется и панель рендера. Работа с этой версией может отличаться от описанного, так как на момент написания пособия автором была более ранняя версия билда."

    ОтветитьУдалить
  10. Научите пользоваться новой версией сборки с фристайлом. Жму на кнопку FreeStyle на панели Output. Пытаюсь рендерить стандартный кубик с разными предустановками FreeStyle но всё, как обычно. Что я делаю не так? Помогите, пожалуйста. А при включении в этой сборке рендера FavRay и вовсе выходит тёмный экран.
    Где я ошибся?

    ОтветитьУдалить

Все права защищены BlenderTech © 2008 - 2015
Поддержка BloggerSweetheme
Автор изображений для темы: friztin. Технологии Blogger.