Making Of "Цеппелины её Величества"

Всем привет! Меня зовут Глеб Александров или Spelle, мне 25 лет. Фанатею от компьютерной графики и разработки компьютерных игр. Воздушный флот её Величества стал первым конкурсом на Render.ru, в котором я дерзнул поучаствовать, а также первым проектом, для которого использовал Блендер — быстро развивающийся бесплатный софт. Конкурс послужил реальным стимулом для освоения тонкостей этой программы. Теперь, когда конкурсный кранч преодолел свой пик, мне хочется рассказать о процессе создания «Цеппелинов её Величества».

Идея

В 1880-м году молодой Никола Тесла совершил эпохальное открытие, доказав существование эфира и возможности с минимальными затратами электроэнергии использовать вращающееся магнитное поле для создания подъёмной силы, направленной обратно относительно вектора гравитации.

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

Практически неуязвимые для зенитного огня, несущие мощный броневой пояс, отлично вооружённые и маневренные, воздушные корабли Флота её Величества одним своим видом внушали ужас противникам Империи.

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

Наброски и референсы

Отправной точкой для скетча послужил собор св.Вита в Праге.

На быструю руку оформив тональное решение, приступил к моделингу.



Рабочий процесс

Вкратце расскажу об организации рабочего процесса. Проекты стараюсь структурировать, чтобы не потерять контроль над происходящим, когда проект разрастётся. Для себя выработал такую схему именования папок:

Download — практически всё, что качается из интернета и может понадобится для работы, попадает в эту папку. В ней располагаются подпапки — steampunk, trains, zeppelins и т.д.
Export — обмен моделями между программами
Feedback — черновые рендеры для отслеживания прогресса и, в данном случае, для выкладывания на форуме
Output — сюда попадают слои, пассы для композа
Ref – референсы
Saves (blender) — исходники сцен в формате .blend
Saves (ps) – аналогично для фотошопа. Обычно, исходные псд-шки, из которых экспортируется текстура
Test — эксперименты, альтернативные версии сцен, полигон для тестирования вещей, которые могут сломать сцену или блендер, или вообще систему
Textures — текстуры в таком виде, как они используются в сцене

Файлы стараюсь именовать описательно: scene_zeppelins__01, tex_metal_rusty_02, ps_compose_final и т.д. Быстрые идеи реализую в отдельном файле в папке test, потом сливаю с основной сценой.
Последовательно двигаться от скетча к моделингу, от моделинга к текстурированию получается не всегда. Если сцена насыщена объектами, в ней наступает момент, когда разделение на стадии теряет смысл. Становится проще мыслить группами объектов, или слоями, чем разделять процесс на моделинг-материалы-рендеринг.
Отчасти это связано с тем, что все составляющие сцены взаимодействуют друг с другом: передвинул свет — изменился блик на материале, добавил модель — появилось большое и тяжёлое пятно тени, твикнул цвет текстуры на колоннах — перекрасился корабль за счёт вторичных отскоков освещения. В свою очередь, всё вышеперечисленное влияет на то, как надо настраивать рендер.
Часто возвращаюсь к стадии скетчевания, чтобы толкнуть забуксовавшую сцену, по-быстрому посмотреть, что можно улучшить и поменять.

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



Блендер — полезные дополнения и настройки

В качестве основного инструмента использовал Blender, рендерил с помощью Cycles. Несколько дополнений, которые позволяют улучшить взаимодействие с Блендером и ускорить его вьюпорт:

Quick tools - в отдельную менюшку, всплывающую при нажатии Q, вынесены функции для работы с симметрией, модификаторами, шейдингом, что позволяет экономить клики. Вместе с Add Mirror удобно сразу же применять Add Target – по координатам 3d курсора создаётся Empty, который автоматически становится Mirror Object для модификатора Mirror.
http://cgcookie.com/blender/2013/05/14/using-the-quick-tools-add-on/

Material Utils – позволяет массово назначать материалы.

Display Tools – набор утилит для настройки вьюпорта. Перечислю самые, на мой взгляд, полезные функции. Fast Navigate — во время навигации вьюпорт уходит в bounding box режим, похожая функция есть в Максе.

Wire On – аналог клавиши F4 в Максе, отображает сетку поверх модели на выделенных объектах.

Double Sided off – массово отключает отображение бэк-фэйсов для выделенных объектов. Данная настройка радикально ускоряет вьюпорт. Без неё на миллионе полигонов уже вполне ощущается торможение. С включённой опцией такая же производительность на моей видеокарте наблюдается на 5-7 миллионах.

Ключевые настройки для ускорения вьюпорта - включённый VBO (Vertex Buffer Objects), а также пустой модификатор (к примеру, Simple Deform с нулевым влиянием) после Subsurf модификатора. По неизвестной причине, Subsurf наверху стэка игнорирует VBO.

Хоткеи. Поставил переключение вьюпорта в rendered режим на клавишу ctrl-shift-alt-z. По умолчанию, горячей клавиши на эту функцию нет, пришлось покопаться в настройках ввода.

Окружение

Аркаду моделил, используя group instance. Другими словами, изменения, которые я вносил в исходную группу, передавались всем инстансам. Арка представляет собой кривую с профилем bevel object. По ходу действия добавлял к исходной арке механизмы, детали и прочие украшательства — эти изменения также передавались инстансам. Вся аркада впоследствии отзеркалена, чтобы образовать купол.

Изначально камера витала на приличной высоте — за счёт этого съедался масштаб. Чтобы храм смотрелся фундаментально, камера была перемещена на высоту человеческого роста.

Для определения масштаба — как напоминалка о том, что мы делаем нечто огромное — по платформе были раскиданы человечки.

Механизмы делал, отталкиваясь от паровых двигателей, локомотивов, часовых механизмов, кранов.

Копипастил детали время от времени, располагая в разных местах и поворачивая под разными углами. К примеру, локомотив впаян в самый ближний из домов, а также расположен на колонне.

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

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

Детали

Когда костяк сцены был готов, приступил к деталированию. Разрушил колонну, чтобы добавить разнообразия в аркаду. Затем начал прорабатывать детали городского быта — фонари, прожектора, лампы. Лифты для подъёма на «верфи».

Ограду, леса, трубы, часы, провода, дамбу, набережную.

Затем просимулировал флаги, переделал материал свода, чтобы усилить ощущение масштаба за счёт тайлинга кирпичей, а также чтобы убрать сходство со штукатуркой.

Цеппелины — поиск концепта

Концепт кораблей пересматривался несколько раз. Однако, все три версии по форме напоминают цеппелин — мысль упорно не хотела отходить от стимпанковского мотива.

Первая версия кораблей — забавные рыбы с гарпуном и матерчатым пузом.


Потом пришла идея сделать что-то наподобие воздушного локомотива, собранного из частей «земных» поездов. Но эта задумка не работала.
Третья версия оказалась финальной,- эдакий led zeppelin с крутящимся магнитным полем (также можно пофантазировать о хроно-двигателях и о том, как они искажают время и гравитацию).

Плавники на передней части корабля были добавлены, чтобы разбить фаллическую форму и сделать силуэт интереснее. Позже они пригодились, когда искал место для маркировки. Ещё было прикольно представлять цеппелины рыбами или подводными лодками — получался сюрреалистический воздушно-водный мир.
В процессе добавлял деталей, чтобы определить функцию корабля и его принадлежность к флоту Её Величества. Флагману достались бомболюки, пушки, цельная броня (шестерни защищает магнитное поле), дополнительные антиграв-двигатели для маневрирования, прожектора. Тактический номер — HMA – расшифровывается как Her Majesty's Air Fleet. Такая маркировка существовала в действительности. Также использовался крылатый значок Royal Flying Corp.

Моделировались цеппелины из простых фигур — сферы, цилиндра, с последующим экструдом граней. В окно фронтальной проекции вставлялся скетч — при моделинге я ориентировался на его изгибы.
Текстура флагманского цеппелина рисовалась по uv-развёртке.

Остальные цеппелины были текстурированы, преимущественно, через smart uv project, box mapping и project from view. Uv-островки, полученные в ходе анврапа этими методами, располагались на текстуре флагмана.


Освещение

Освещение выставил в самом начале работы, и с тех пор не менял основу. Из источников света - солнце и hdr-ка. Когда обрабатывал hdr-ку, старался сделать так, чтобы с одной стороны «сферы» находились холодные оттенки, а с противоположной к ней стороны — тёплые.
Свод подсвечен отдельно, чтобы свет ритмически чередовался с тенью. Постоянно добавлял омники для подсветки и для цветового акцента. Все дополнительные источники света сгрузил на отдельный слой, чтобы не мешали во вьюпорте и при черновых рендерах. В целом, стоило бы рациональнее расставить свет. Но, поскольку такая схема работала, решил не трогать.

Слои для рендера

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

1. храм — аркада, передний план с обрывом
2. флаги, фонари
3. дома (ближние)
4. дома (фоновые), леса
5. цеппелин — флагман
6. цеппелин — погрузчик-транспортёр
7. цеппелины — рабочие порта
8. краны, люди, ограда
9. дополнительные источники света
12. провода, дальняя набережная, декоративные элементы аркады
13. дальние дамбы, сплайновая основа для«магнитного поля» кораблей


Пассы

К слоям, то есть, к группам объектов, рендерил и пассы. Чаще всего ambient occlusion, z-depth (или блендеровский mist), diffuse direct.

Для автоматического экспорта всего этого добра использовал аддон Save Layers and Passes. Очень удобная штука, не пришлось вручную в композере расставлять ноды, указывать имена и папки.

Настройки рендера

Рендерил на процессоре, видеокарта отказывалась обрабатывать 10 млн. треугольников. В среднем, уровень шума в картинке становился удовлетворительным после 500-1000 сэмплов. Слой с аркадой потребовал 4000 сэмплов.

Cимуляция дыма

Для композа просимулировал дым в Блендере. На эмиттере плотность дыма (density) анимирована с нуля до единицы — (0-80 кадр), чтобы не создавался дымовой выхлоп. Дым сдувался ветром в сторону.

Также пробовал зарендерить тучу для фона, используя аддон cloud generator. Из тестов понял, что годится только на подмешивание при композе, в малых дозах. На будущее отметил, что в мультяшную стилистику такие тучки могут вписаться.

Композ и постобработка

К кораблям, зданиям, аркаде через multiply подмешивал пасс ambient occlusion. Через z-depth пасс увёл всё в воздушную перспективу.
Нарисовал/собрал из фотографий задник, по настроению хотелось сделать грозовую тучу и туманный Альбион. Город с непременным атрибутом английскости, Биг-Беном, должен был служить привязкой к Лондону.

Заменил людей, добавил фоновые корабли. Засветились мелкие фонарики, бортовые огни, маячки. Проявился объёмный свет.

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

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

Из того, что можно было бы сделать лучше: некоторые детали не подчиняются логике, к примеру, шестерни парят в воздухе безо всякого антиграва (Michael Black, спасибо за коммент). Людей и машинки можно допиливать, есть косячки. Возможно, переборщил с дымом (хотя мне нравится, как дым играет в стимпанк-сеттинге). В целом, я приятно удивлён и обрадован положительными отзывами, которые получила работа при обсуждении на Render.ru. Это действительно мотивирует.
Хочу выразить сердечную благодарность моей жене Лене, которая помогала мне дельным советом и вкусным кофе во время работы над цеппелинами. Без её художественного чутья картинка не состоялась бы — многие композиционные и стилевые решения были приняты с её подачи.
Благодарю за внимание. Всем удачи и творческих успехов!

831 0 850 44
23
2013-10-16
Шикарнейшая работа! Отдельный респект за Blender :) Успехов!
2013-10-16
ШИкарно, классная работа. Автор так держать!
2013-10-16
с паровозам в доме было круто:)) молодец)
2013-10-16
Отлично! 10\10 еще один способ детальнее рассмотреть работу! Паровоз ток ща заметил [smile=04]
2013-10-16
10 млн треугольников много для 1 картинки. очень много лишних полигонов к примеру шестерни сжирают половину, стока не нужно их не видно: они или мелкие или очень даалеко под потолком.
2013-10-16
Morven Arthas, ваша правда - можно продолжать оптимизировать сцену. И тогда появилась бы возможность запихнуть всё в лимит памяти gpu. Помимо этого преимущества, оптимизация в этой сценке - не на первом месте по приоритетности, т.к. вьюпорт крутится бодро.
2013-10-16
Отличная статья, и шикарная работа!) Поздравляю)
2013-10-16
После мейк офа работа стала выглядеть еще масштабней и круче, респект! Прям захотелось блендер освоить.
2013-10-16
спасибо за статью, полезно)
2013-10-16
Спасибо. Рад, если что-то пригодилось.
2013-10-16
Крутанская статья и крутанская работа! Автор - молоток и перешник! [smile=13] +
2013-10-16
[quote=Ostap_Blender] Прям захотелось блендер освоить. [/quote] И самое главное ничего не мешает, минута на скачивания с оф. сайта http://www.blender.org/download/get-blender/ пару минут на установку, десять секунд на запуск и вуаля - можно творить!
2013-10-16
Масштабно! красиво! Атмосфера приятная Ну а вообще - по ощущениям в работе чем Блендер удобнее? Что в нём лучше организовано? - из того что сразу бросилось в глаза
2013-10-16
Очень хотелось бы видеть Вашу работу на Splech Screen в blender 2.7 ! Уровень оппупенизма +100500!
2013-10-17
Уровень и доведённость этой работы имхо разительно отличались от остальных, но вот дизайн самого флота как-то не вдохновил. зы разве картинка в таком состоянии была на момент голосования? вроде как добита, и хорошо так добита)..или мне память изменяет..
2013-10-17
[quote=Skartemka] Очень хотелось бы видеть Вашу работу на Splech Screen в blender 2.7 ! Уровень оппупенизма +100500! [/quote] Хорошо подмечено. Соглашусь [smile=13]
2013-10-17
Работа - супер! Сохранил ссылочку для вдохновения и рефов) Вроде у вас сетки объектов во вьюпорте имеют разные цвета. Подскажите, как это сделать в бледере?
2013-10-17
Классная работа!!! Очень понравился Making of!!! Молоток. Опечален, что мою работу, не отметили. Буду признателен комментариям по моей работе [smile=12] . Спасибо!
2013-10-17
[quote=Николай Чуносов] [/quote] Николай, сам не знаю, как править цвет сетки :) он определяется свойствами объекта: группа - зелёным, активный объект - оранжевым и т.д. Если ничего не путаю, видел где-то скрипт или аддон для цветной сетки.
2013-10-18
Очень впечатлен! Великолепно! Все, занимаюсь Blender'ом.
2013-10-21
Великолепная работа!
2013-10-27
Спасибо!
2014-12-06
Спасибо за отличный мэйкинг! Прекрасная работа! 
RENDER.RU