Уроки: Blender

"Big Buck Bunny" изнутри. Свет.

 

Часть 6. Свет

 

До сих пор мы бродили в потёмках, но теперь пришло время включить свет и выйти на путь истинный. Это очень радостное, конечно, событие, но, как и всё в нашей жизни, оно требует того, чтобы обязательно быть чем-нибудь омрачённым. Дабы мы не забывали, в каком мире живём. 

Так вот, омрачением для нас будет то, что рендерить изображения станет ещё тяжелее. Если раньше мы рендерили только отдельных персонажей и кое-что из материалов, то теперь всё будет смешано, перекручено, размножено, усложнено и доведено до такого состояния, что при нажатии кнопки Render мы сперва будем долго смотреть на призадумавшийся Blender, а потом неожиданно окажемся на рабочем столе Windows, так и не увидев финальной картинки. Однако, как и прежде, я пожалею ваши ультрареактивные нетбуки и буду рендерить сцены с примерами вместо вас. :) 

Стоит сразу отметить две особенности или, точнее, два подвоха, которые ожидают нас на этом тернистом пути. 

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

Вторая — тоже касается композера. После одного только рендеринга цвет изображения ещё не будет финальным, потому что он доводится до кондиции в Node Editor. В итоге чаще всего нам придётся созерцать на темноватые, недосвеченные, мутные и блеклые рендеры, с раздражением думая, что только дилетанты могут так настраивать свет, и мы сами сделали бы в десять раз лучше. 

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

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

Захаживая иногда на форум сайта http://blender3d.org.ua, я обратил внимание на то, что подавляющее большинство пользователей Blender используют его либо для создания стилов (то есть статических рендеров), либо для производства игр. И лишь иногда пробегают два-три человека, которые ваяют в нём анимацию или даже мультфильмы. Игроделов мы оставим в стороне, потому что там своя специфика создания сцен и освещения, а вот о любителям помучить стилы мне есть что сказать. Поскольку их подавляющее большинство, то в связи с этим почти все туториалы учат расставлять свет под статический однокадровый рендеринг, а также дотошно рассказывают, какой внешний рендерер создаст более фотореалистичную картинку. Результат всего этого — все стремятся к фотореализму и рендерят свои стилы во внешних рендерерах по нескольку часов, потому что они требуют для расчётов немало вычислительных ресурсов. 

Так вот, 3D-мультфильмы такой подход не могут использовать в принципе, потому что, во-первых, они не столько фотореалистичны, сколько художественны; а во-вторых, они очень требовательны к времени рендеринга, потому что просчитать нужно не один кадр, а тысячи. Иногда даже десятки или сотни тысяч. В связи с этим все старания и уловки аниматоров нацелены на то, чтобы снизить время рендеринга одного кадра до минимума. При отсутствии большого бюджета и рендер-фермы предел может достигать вообще нескольких минут или даже секунд. И одним из главных способов снизить время расчёта одного кадра является отключение очень ресурсоёмкого рейтрейса. То есть никаких отражений, преломлений и трассируемых теней в мультфильме быть уже не может. А если они всё-таки очень нужны, то вместо них используются какие-нибудь фейки, вроде карт окружения. 

Далее, поскольку ни рейтрейс, ни тем более GI (глобальное освещение) в производстве мультфильмов не используются, то возникает проблема переноса световой энергии и цвета между объектами, когда яркость одного объекта не освещает собой соседние, которые, например, находятся в тени. Поэтому, чтобы не возникало ощущения разнородности в освещении, а также благодаря тому, что 3D-мультфильмы — это во многом художественные произведения, то в них используется порой довольно-таки немало источников света разного цвета и мощности, расставленные по всей сцене. Однако это тоже приводит к увеличению времени рендеринга сцены и особенно к трудностям в настройке всех этих фонарей. 

Короче говоря, главная проблема при создании освещения в 3D-мультфильмах — это найти компромисс между художественностью картинки и временем её рендеринга. И вот за этим компромиссом мы и будем наблюдать всю оставшуюся часть данной главы. :) 

Наверное, вы уже устали так долго всё это читать, не увидя при этом ни одной картинки, поэтому отныне будем придерживаться священного правила: больше картинок — меньше текста! И в подтверждение этих слов откроем файл \scenes\01_intro\01.blend от самого первого шота мультфильма. 

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

Итак, в этой сцене, как и практически во всех остальных, содержится довольно-таки немало источников света. Но поскольку они влияют на сцену не все сразу, а послойно, то мы и будем рендерить слой за слоем, пока не выясним, какой фонарь для чего предназначен. 

Всего слоёв с осветителями в сцене три: 1 — передний план (трава с несколькими булыжниками и цветами), 2 — задний план (поле с отдельно стоящими деревьями) и 4 — так называемый боковой план (это то, где справа сгруппировались деревья). Но сперва посмотрим, как этот вид из камеры выглядел в мультфильме. 

Из всего того, что мы здесь видим, есть ещё один план, который не учтён в перечисленном выше списке, — это облака и полоса леса в голубой дымке у горизонта. Они рендерятся отдельно в сцене под названием matte, на которую можно переключиться в верхней части окна Blender. 

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

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

Дело в том, что в Blender той версии, в которой делался «Big Buck Bunny», невозможно создать объёмные лучи собственными источниками света, например, прожектором Spot, поэтому Энди Горальчик, арт-директор в проекте Peach Project, придумал способ, как этот эффект сымитировать подручными средствами. Вообще говоря, он придумал его ещё при производстве мультфильма «Elephants Dream», в котором тоже был арт-директором, а в этот раз всего лишь с успехом этот фокус повторил. 

Система для фейка объёмных лучей находится в сцене Volume и выглядит так: 

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

Последний слот занят процедурной текстурой Clouds c координатами наложения, привязанными ко объекту pos. Этот объект — пустышка, у которой анимировано перемещение, что позволяет текстуре плавать через мешевые трубочки. По сути это придаёт эффект движущегося тумана в лучах света. Однако пока что на туман это слабо похоже. 

Включаем среднюю текстуру и смотрим, что она из себя представляет. Это маска из радиального градиента, у которой все ориентировочные оси направлены в сторону Z. По сути, такая ориентация позволяет добиться того, что ближе к своим торцам трубочки становятся прозрачными. То есть как бы растворяются в пространстве. 

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

И хотя сейчас они выглядят желтоватыми и плотными, но при композитинге в Node Editor они размоются, отцветокорректируются и будут сложены с остальным изображеним нодой Screen с коэффициентом 0,65. В итоге же получится так, что на экране этих лучей мы вообще не увидим. Во всяком случае, конкретно в данном шоте они видны очень слабо, поэтому лично я считаю использование объёмного света для этой сцены не слишком удачным. Но в мультфильме есть и такие сцены, где есть на что полюбоваться. Например, вот эта, где лучи хорошо заметны за спиной сконфуженного кролика. 

Ну, и, как всегда, я предлагаю вам самим сравнить рендеры данного эксперимента из файла volume.zip

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

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

Рендеринг слоя 2 даст такую картинку. 

Вроде всё нормально, и зелёное поле кажется хорошо освещённым... Но! Мы ведь не находим ни одного фонаря, который охватывал бы его целиком. Вместо этого мы видим лишь три прожектора Spot, расставленные над деревьями, и ещё один прожектор на краю поля. Что же тогда освещает всё это пространство? Я думаю, многие уже догадались, а если нет, то перейдём в раздел материалов и просветимся, что вообще из себя представляет материал этой большой лужайки? 

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

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

Пришло всё-таки время проявить внимательность и заметить, что на меш поля dist_field назначен не один материал, а два. Первый назывался так же, как и меш, то есть dist_field, а второй — это ground, и у него Shadeless уже включён, а растровых текстур в нём целых две! 

И последний манёвр — выясним, какая часть поля за каким материалом закреплена. Для этого нам придётся переключиться в панель Link and Materials, перевести меш в режим редактирования и для обоих материалов выбрать назначенные им вершины. Например, для ground это будет выглядеть так: 

А для материала dist_field, соответственно, наоборот. Это значит, что осветители не будут действовать лишь на одну половину поля, а вот на другую, более близкую к камере — ещё как будут! Поэтому там и нужны те два фонаря. Действуют они при этом так, чтобы создать как бы неравномерность в яркости освещения, словно на лужайку местами падают тени от облаков. И поскольку облаков в небе предостаточно, то вот и логическое объяснение тому, откуда было взяться этим пятнам тени. 

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

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

Поле равномерно окрасилось в монотонный жёлтый цвет. 

Ищем теперь фонари помельче. И нам не нужно выискивать их через увеличительное стекло, потому что их видно издалека. Это два прожектора Spot с именами Lamp.005 и Lamp.016, расположенные выше всех других. Они интересны тем, что на самом деле это один и тот же прожектор, но продублированный ссылкой, то есть у этих объектов имеется общий на двоих датаблок с настройками. Кроме того, в этих настройках нажата кнопка Negative, что заставляет фонарь не добавлять свет к сцене, а наоборот вычитать его. А в сочетании с оранжевым цветом фонаря получится, что освещаемая поверхность приобретёт зеленоватые тона. Почему? Потому что негативом оранжевого является синий, а синий плюс жёлтый, как мы знаем, даёт зелёный. 

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

Сделаем простую сценку из плоскости, с материалом серого цвета по умолчанию и осветим его жёлтым фонарём типа Hemi. Получится что-то вроде этого: 

Теперь добавим в сцену прожектор Spot, чуть изменим цвет в сторону оранжевого и нажмём кнопку Negative. Рендер даст такую картину. 

Комментарии, как говорится, излишни. 

Вернувшись теперь к нашей с цене с широким русским, но пока ещё жёлтым полем, отрендерим её с двумя включёнными прожекторами негативного света. 

Мы можем заметить, что эти прожекторы немного убавили яркости ближе к задней части освещаемой поверхности. Однако чуть ниже их есть ещё два похожих прожектора: Lamp.008 и Lamp.007, которые тоже имеют один датаблок на двоих и светят оранжевым светом, но в этот раз не вычитают его, а добавляют. Нас, естественно, съедает любопытство, что из этого выйдет, и мы рендерим кадр сразу же после их включения. 

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

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

Да, булыжники с цветами, а также и кромкой поля, стали ещё более жёлтыми. И это вызывает удивление. Но не забываем, что в сцене есть ещё один прожектор, тоже с тенями, только, наконец, уже противоположного, синего цвета. 

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

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

Выберем сперва, как обычно, такой осветитель, который имеет подозрение на самого главного, то есть ключевого. Мне сдаётся, что это прожектор Lamp.012, расположенный выше всех других. И, надо же, какое совпадение, он снова жёлтого цвета! Выключаем все фонари, кроме него, и рендерим сцену. 

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

Находим следующий по значимости фонарь и включаем его. Таковым я нашёл осветитель Lamp.018 типа Hemi синего цвета. Вот, что он нам дал. 

Что бы это значило? У меня есть предположение, что таким образом снова создаётся как бы имитация действия рассеянного голубого света неба. Но кажется очень странным то, что солнце ведь светит с правого верхнего угла, как было понятно по изучению переднего плана, а здесь выходит, что всё совсем наоборот, то есть синева от неба тоже действует с правой стороны. Нонсенс? 

Однако не будем торопиться с выводами. Во-первых, нужно довключать все остальные источники света. Во-вторых, эта синева, возможно, подразумевалась авторами мультфильма в качестве рассеянного света, исходящего из самого леса. А в-третьих, не забывайте, что в 3D-мультфильмах не столько внимания уделяется фотореализму, сколько художественности. Поэтому те или иные моменты, неточные с точки зрения физики, но выглядящие красиво, вполне допустимы, если не противоречат здравому смыслу. И, как вы убедитесь ещё не раз, картинка «Big Buck Bunny» вообще имеет мало общего с фотореализмом. 

Следующее, что мне захотелось включить, — это прожектор Lamp.004 оранжевого цвета, светящий с противоположной от синего Hemi стороны и стоящий особняком от других фонарей благодаря тому, что в нём включена кнопка Halo. Причём, энергия в нём очень большая, аж в 6 с лишним единиц. Посмотрим, что это даст. 

Понятно. Это немного осветило верхушки деревьев. Кстати, действия Halo я здесь как-то особо и не заметил. 

Теперь я включу сразу два фонаря, потому что они опять сдвоенные, то есть с общим датаблоком. Они синего цвета, светят с той же стороны, что и Hemi, но только один более выше, а другой более ниже, и при этом они ещё раздвинуты в стороны. Их названия Lamp.009 и Lamp.003. 

Мы видим, что мутная синева постепенно рассеивается, а на её место приходит более чёткая (благодря включёным в прожекторах теням) и более всеохватывающая голубизна. Должно быть, это значит, что только те части леса, которые попадают непосредственно под солнечный свет, становятся правильного желтоватого оттенка, а всё остальное уходит в голубизну. В общем, я не возражаю, ведь небо — оно повсюду и действует со всех сторон. 

И это ещё не всё, потому что в сцене имеется ещё один прожектор синего цвета — Lamp.015 с включёнными тенями. Вот он-то как раз светит уже с правильного направления, противоположного солнцу. Однако действие его ограничено всего лишь парой-тройкой самых крайних деревьев. Впрочем, смотрите сами. 

Если эффект заметен плохо, то у вас всегда есть возможность пробраться в файл intro.zip и пролистать там всё эти рендеры один за другим. 

Последние два фонаря, как обычно, сдвоенные и называются Lamp.001 и Lamp.002. Они светят со стороны поля и немного снизу, что даёт нам основание предположить, что эффект от них должен соответствовать фоновому освещению от земли, травы и всего, что в ней замешано. И всё бы ничего, но цвет этих прожекторов (страшно подумать) — сиреневый! Я не знаю, откуда он мог бы взяться в зелёном поле, но художникам всё-таки видней. И я не буду больше ничего говорить по этому поводу, лишь бы финальная картинка смотрелась красиво и непритязательно. А получается это так: 

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

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

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

Хотя те шоты, где он показан в лесу, выглядят более привлекательными. Но они будут слишком сложны для нашего первого знакомства с освещением персонажей. Поэтому я решил выбрать такой кадр, на котором присутствует не кролик, а грызуны. Думаю, что этот вполне подойдёт. 

Находится он в файле \03_apple\08.blend. Откроем его, не мешкая ни секунды. 

Здесь, конечно, имеется много всего: и поле, и лес на заднем плане, и целых три животных, но нас будет интересовать только одно из них. Я предпочёл выбрать летягу. Её родной слой — 2. 

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

В сцене есть осветители разных цветов, но только два их них — жёлтого. Разумно предположить, что поскольку на улице день, то жёлтый цвет должен быть у такого фонаря, который отвечает за солнце. Кроме того, он должен отбрасывать тени. В общем, к прожекторам 00-key и 00-key.001 это как раз подходит. Да и имена у них очень подозрительные, созвучные со словом «ключевой». Однако даже теперь трудно решить, какой из них является более «ключевым», потому что настройки у них почти идентичные. Выберем тогда тот, который находится более выше и светит летяге в лицо — это 00-key. 

Что ж, даже с одним фонарём летяга выглядит вполне неплохо, хотя и слегка темновато. Включаем для её освещения второй ключевой прожектор 00-key.001, который светит немного сзади и сбоку, и смотрим, что у нас получится. 

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

Осталось ещё два фонаря, и вот их предназначение уже более очевидно. Включим прожектор 00-rim, светящий слева и сзади летяги. Судя по названию rim, это контровый свет, предназначенный создавать кайму вокруг персонажа. Но ведь кайма у нас уже есть, да и голубой цвет этого прожектора больше говорит о том, что он создаёт отсвет от неба. Чтобы рассеять все сомнения, просто отрендерим летягу (было бы странно, если бы мы придумали для этого что-то более эффективное, верно?). 

На контровый всё-таки не потянет, я думаю, но за свет неба вполне сойдёт. 

Добавим к нему последний фонарь, 00-bounce, зелёного цвета, который освещает летягу точно спереди. Как название, так и цвет осветителя однозначно говорят о том, что это отсветы от травы. Нам остаётся только одно — увидеть их. 

Да, летяга стала спереди ещё более светлой. Ну, и зелени, конечно, ей немного добавили. 

И что же теперь дальше? Всё? Вроде бы фонарей больше не осталось. Вы наверное удивлены, почему я об этом спрашиваю. Так вот, на самом деле есть ещё один фонарь, который оказывает влияние на летягу. Он находится в первом слое и не имеет нажатой кнопки Layer, то есть он может действовать на все слои. И это ничего бы не значило, если бы на панели Render Layers не было указано, что летяга должна рендериться с двумя включёнными слоями — первым и вторым. 

Что же тогда находится на первом слое? Это фонарь 00-rodents_spec типа Lamp с нажатой кнопкой No Diffuse. Что характерно, он включён для рендеринга всем трёх персонажам. Поскольку Diffuse у него выключен, то света он не даёт, но зато даёт блеск слегка голубого цвета. Значит, летяга под действием этого фонаря начнёт сильнее блестеть. Рендерим и проверяем. 

Летяга стала ещё ярче, хотя никого света добавлено не было, а только блеск (спекуляр). Но мы помним, что в мехе у зверей были такие текстуры, которые занимались распределением блеска между волосинками. И поскольку этих волосинок много, и они очень маленькие, то их суммарный блеск слился и сделал мех более светлым. Это первое действие фонаря 00-rodents_spec. 

Второе — это яркая искорка в глазах. С точки зрения фотореализма это означало бы появление блеска от очень яркого источника света, то есть солнца, потому что других в сцене нет. Но не забываем, что 3D-мультфильмы, а «Big Buck Bunny» и подавно, не стремятся к фотореализму, поэтому не смотря на то, что солнце скрыто за облаками, и резких вокруг теней нет, яркий отсвет в глазах всё равно присутствует. Это сделано просто для красоты, не более того. Причём, такой приём очень часто используется не только в 3D-анимации, но и в кино, потому что выглядит эффектно и добавляет живости глазам. Зритель уже настолько привык к нему, что даже никогда не задаётся вопросом, а есть ли в сцене хоть один настолько мощный источник света, который мог быть создать такой блеск в глазах. И киношники совместно с 3D-аниматорами таким зрительским попустительством успешно пользуются. :) 

Примеры рендеров с летягой находятся в файле frank.zip. Так между собой прозвали летягу аниматоры этого мультфильма. 

Итак, мы на двух примерах рассмотрели основные способы освещения местности и персонажей в «Big Buck Bunny». Как следует из наших опытов, художники-осветители Peach Project, а это, скорее всего, был Энди Горальчик, применяют в этом деле обычный и проверенный подход: освещают объекты мощным ключевым источником света, добавляют по мере надобности контровый, затем отсвет от неба, окружающей местности и заканчивают всё это безобразие добавлением спекулярного блеска в глазах персонажей. Разница заключается только лишь в условиях освещения. То ли это обстановка с переменной облачностью, как во вступительной сцене мультфильма, то ли вся сцена находится под облаком, как на примере с летягой, то ли солнце освещает сцену прямо и жёстко. Последнего случая мы ещё не рассматривали, но сейчас, чтобы не остаться в накладе, найдём какой-нибудь шот посложнее с требуемыми условиями освещения и попытаемся его разобрать. Думаю, что этот кадр будет для этого в самый раз. 

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

Всё это добро находится в файле \scenes\09_tree_trunk\04.blend и нам, разумеется, не терпится его поскорее открыть. 

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

Frank – летяга; 

Rinky – косоглазая белка; 

Gamera – шиншилла; 

Environment — окружение; 

Mask_Rinky — z-маска для косоглазой белки; 

Lightbeam — объёмные солнечные лучи. 

Из этих слоёв Mask_Rinky мы касаться не будем, потому что он предназначен для для обработки в Node Editor и к освещению никакого отношения не имеет. Принцип работы z-масок мы рассмотрим в следующем разделе. 

Итак, рассмотрим, как здесь работает освещение. 

В слое 1 имеется несколько фонарей, являющихся общими для всех слоёв. Они воздействуют и на окружение, и на каждого из грызунов одновременно. Нужно это для того, чтобы обеспечить взаимодействие теней между окружением и персонажами, когда тень от одного и того же дерева падает, например, и на землю, и на персонажа. 

В слоях 2-4 находятся грызуны, которых одновременно освещают три фонаря (в дополнении к тем, что уже есть на слое 1). А точнее, летягу и шиншиллу освещают три, а косолазую белку — только два из них. Почему так? Пока не знаю. Может быть, по ходу дела мы это поймём. 

На слое 5 расположены меши для создания объёмных лучей. Никаких осветителей здесь, понятно, нет и быть не должно. 

И, наконец, на слое 6 мы видим саму местность, но тоже с некоторыми своими фонарями. В основном это прожектора зелёного цвета, которые светят из-под земли, действуя подобно отсветам от травы. Так же как и для грызунов, основной свет местность получает от фонарей со слоя 1. 

Вдумчивый читатель, наверное, уже подметил, что в финальном рендере присутствовали деревья на заднем плане, а здесь ничего вообще нет. Одна земля с несколькими булыжниками и скудной растительностью. Всё верно. Деревья — это статический фон, и он был вынесен в отдельную сцену, чтобы композиться потом со всем остальным через Node Editor. Переключимся в сцену bg и увидим то, чего нам так недоставало. 

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

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

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

Перемещаемся теперь в следующий слой — это сцена bg, которую я осмелюсь расшифровать, как backgro

9835 Автор:
Актуальность: 0
Качество: 0
Суммарный балл: 0
Голосов: 4 оценки

Отзывы посетителей:

аватар
 
nerd76 2 0
Огромное спасибо! Очень интересно, хотя это не самое великолепное творение ( которое сделано в блене ). Жаль что этот урок не на примере "слонових мечт"...:)
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 637 уникальных посетителей