Уроки: Blender

"Big Buck Bunny" изнутри. Материалы.

 

Часть 5. Материалы

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

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

В целом же можно сказать, что отныне заниматься исследованиями файлов «Big Buck Bunny» будет легче, потому что не придётся больше прыгать из одного файла в другой, выискивая глубоко запрятанные ссылки с моделями. Однако у нас будет трудность другого характера: чтобы видеть, как те или иные настройки Blender-а влияют на финальную картинку, нам придётся много раз заниматься тестовым рендерингом, а ребята из Peach Project постарались так, что рендеринг будет очень ресурсоёмким, не предназначенным для наших домашних компьютеров. Поэтому я постараюсь почаще снабжать вас скриншотами собственных тестовых рендеров, чтобы вы могли оценить результаты работы Blender-а, не покидая страниц этой статьи. :) 

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

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

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

 

Здесь Большой Зай, в выходной день провалявшись в своей норе почти до полудня, решил вылезти на свежий воздух и опрометчиво подставил свою грудь по прицел какого-нибудь шального снайпера. Файл, в котором находится отображаемая на скриншоте трава, называется \sets\rabbithole.blend. Откроем его и из всех слоёв включённым оставим только второй, после чего выберем во вьюпорте объект ground. 

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

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

Перейдём в панель Particle System, и поскольку на меше ground насажено несколько видов травы, то будем переключать указатель на систему частиц до тех пор, пока он не установится на 5 part 1, то есть в первый из пяти. Называться эта система частиц должна field grass. 

Здесь мы видим настройки распределения плотности и формы травинок. В них нет ничего секретного или чего-то такого, что выше нашего понимания, поэтому мы не будем детально их все рассматривать. Единственное, что может привлечь наше внимание, — это самая нижняя настройка под заголовком Vertex Group, у которой выставлено значение Density, указывающее на вертекс группу под названием length. Полюбопытствуем, как она выглядит на меше. 

Переключимся в панель Links and Materials, выберем там из списка вертекс группу length, переведём меш ground в режим редактирования и нажмём кнопку Select, чтобы во вьюпорте выделились те вершины меша, которые входят в данную группу. 

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

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

На той же панели Particle System в разделе Visualization (см. позапрошлый скриншот) выставлен материал под номером 3. Его-то мы и будем искать на панели материалов. После нескольких переключений мы находим третий номер материала, и изображение тёмно-зелёного куста в окошке Preview даёт нам понять, что мы попали куда нужно. А если вы всё-таки сомневаетесь в этом, то взгляните на название материала, не звучит ли оно, как ground grass? :) 

Как обычно, мы не станем пристально рассматривать каждую настройку этого материала. Для этих целей предназначены многочисленные туториалы и документация к Blender. И я вам открою маленькую тайну: весь этот цирк, который мы затеяли с изучением файлов «Big Buck Bunny», предназначен не для изучения основ работы в Blender, а больше для того, чтобы вытащить из этих файлов что-то такое, чего никогда в жизни не встретишь в туториалах, но которое научит нас делать наши работы более оригинальными и профессиональными. Как ни печально это звучит, но профессионалы почему-то практически никогда не пишут туториалов, и нам особо не у кого поучиться. Почему? Я не знаю. Спросите у них самих. :) 

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

Первая текстура в слоте материала ground grass называется Blend. Это стандартный трюк, и он описывается в большинстве туториалов, как обязательный к использованию. Текстура представляет из себя градиент цвета и прозрачности, который накладывается на травинки вдоль её роста от корня к кончику. Для этого используются координаты наложения Strand, а выходной канал — Color и Alpha. Обратите внимание на сам градиент: корень травинок будет окрашен в чёрный непрозрачный цвет, затем он перейдёт в зелёный и в кончиках будет уже желтоватый, пока не исчезнет в прозрачности. 

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

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

Заметим, что в данном случае используется только канал цвета, но вот режим смешивания с другими текстурами — не Mix, как обычно, а Add. Таким образом, зелёный шум от этой текстуры прибавится ко всему остальному цвету, и травинка от этого станет ярче. Рендер показывает, что так оно и есть. 

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

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

Это снова шум, который более фигуристый, однако назначается он уже не на цвет. Среди кнопок панели Map To нет вообще ни одной нажатой, и сперва может показаться, что текстура ни на что не влияет. Но мы-то люди грамотные и знаем, что есть одна секретная кнопка, внутри которой содержится ещё столько же спрятанных — это PAttr, которая при помощи текстур управляет параметрами формы частиц. Нажимаем эту кнопку, переключаясь таким образом на скрытую панель, и видим, что там имеется нажатая кнопка Rough, которая влияет на скрученность статических частиц, размноженных через опцию Children. 

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

 

На следующем слоте расположилась текстура color noise, которая несёт уже двойную функцию в изменении вида травы: во-первых, на канал цвет; а во-вторых, на тот же PAttr, где задействованы кнопки Size и Length. Сама же текстура имеет вид чёрно-белого точечного шума без альфы с координатами наложения, умноженными в 10 раз, что даёт ей возможность более плотно распределять своё влияние на поле. Кроме того, можно заметить, что режим смешивания у неё снова установлен в Add, что ещё больше прибавляет интенсивности к цвету. В итоге мы имеем характерные травинки почти белого цвета, отличающиеся также от всех других размером и длиной. Поэтому отрендеренное изображение в этот раз уже более чётко отличается от предыдущего. 

 

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

Первый grass randomise окрашен в тёмно-зелёный цвет и применён к каналам PAttr: Size, Length и Life. И вот тут я не уверен, что в данном случае делает Life, ведь время жизни имеет смысл только для динамических частиц, а не для статических, коим является мех. Поэтому либо эту кнопку нажали не подумавши, либо в этом имеется какой-то скрытый смысл. Тем не менее, всё остальное оказывает ощутимый эффект. Тёмно-зелёный цвет совместно с режимом наложения Add окрашивает поле в этакую спокойную волнистую зелень, а настройки PАttr выделяют её особенной длиной и размером. 

 Вторая текстура grass randomise добавляет таким же образом желтизны, но из-за инвертированного параметра PAttr: Length длина этих травинок изменяется в тех местах, где в предыдущей текстуре она не менялась, и наоборот. И поскольку этот рендер уже включает в себя все использовавшиеся там текстуры, то его можно считать финальным. 

 Вот так в «Big Buck Bunny» создавалась трава. Вы можете более подробнее рассмотреть все эти рендеры в файле grass.zip, где они представлены в оригинальном качестве, и вы можете пролистывать их в своём графическом просмотрщике один за другим, чтобы сравнение их было более наглядым. 

Надеюсь, что моральная подготовка к изучению меха зверей принесла свои плоды, и теперь мы приступим к тому, к чему мы, собственно, и готовились. А чтобы изучать мех было не слишком скучно, я выбрал такой из них, который выглядит более разнообразным и привлекательным. Поэтому откроем файл с косоглазой белкой \chars\squirrel.blend. 

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

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

Дабы полюбопытствовать, что представляют из себя системы частиц, выберем из них сперва fur, которая создаёт нательный мех. 

Судя по наличию кнопки Free Edit, наращивание меха здесь, как и во всех остальных случаях, производилось вручную в режиме вьюпорта Particle Mode, хотя мы и не можем отрицать того, что начальная настройка была выполнена всё-таки в панели Physics. Сейчас, однако, она уже заблокирована. Большинство представленных здесь параметров не преставляют из себя ничего сногсшибательного, и единственное, что нам может пригодиться, — это опять же номер материала (и это номер 3), а также название вертекс группы для режима Density. Её имя, как написано в самом низу панели, Hair. 

Мы узнали из настроек системы частиц всё, что было нужно, и переключаемся теперь в режим редактирования меша, чтобы взглянуть, как выглядит эта вертекс группа. 


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

Выделив полигоны, относящиеся к вертекс группе Hair, мы увидим, что они захватывают всё тело, кроме хвоста, зубов, полости рта, носа и глаз. Это те места, где шерсти быть не должно. Однако, вспоминая, что на теле белки находятся аж целых три системы частиц, нам становится интересно, а как же они делят между собой это тело? Так вот, точно таким же образом, через вертекс группы. У системы частиц tail в качесте вертекс группы для режима Density указано имя Hair_tail, в которую входят только полигоны хвоста. А у системы частиц whiskers (усы) ничего не указано, и поэтому усы растут вперемешку с основным мехом. 

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

Перейдём теперь, собственно, к самим материалам. 

Как мы узнали из панели частиц, интересующий нас материал с мехом идёт под номером 3, в то время как на белке общее количество материалов составляет аж целых четырех штуки: для кожи (squirrel_skin), для зубов (squirrel_teeth), для меха (squirrel_fur_base — наш клиент!) и для усов (squirrel_whiskers). Большинство из них довольно просты и не представляют трудностей для изучения. А вот в меховом материале мы сейчас будем копаться долго и нудно. И раз так, тогда сразу же к этому и приступим, не откладывая дело в долгий ящик. 

Для начала я выключил все текстуры меха, чтобы отрендерить то, как будет выглядеть наша белка в нудистском одеянии. 

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

Первая текстура в слотах называется I.squirrel_fur_alpha. И вот она, та самая хитрость, которая удаляет мех с тех мест тела, где ему расти не должно! Распределяется она по UV-координатам, потому что представляет из себя растровый рисунок альфа-канала, выполненный по развертке меша белки. Прозрачные области указывают, что в этих местах тела шерсти не место, а непрозрачные — значит, что здесь её может быть сколько угодно. Удобство такого подхода к распределению шерсти от вертекс групп очевидно — отсутствует зависимость от полигонов и возможность задавать полутона, то есть области с частичным присутствуем меха и плавных переходов между ними. 

Рендерить эту текстуру смысла нет, потому что она используется, как Stencil — то есть маска для последующих текстур, поэтому до включения других слотов мы никаких изменений всё равно не увидим. Поэтому переходим сразу ко второму слоту и включаем текстуру strand — это, собственно, сам мех и есть. С привычным нам градиентом для задания прозрачности меха ближе к кончикам. Однако заметьте, что градиент управляет только прозрачностью. Канал Col в панели Map To у него выключен. 

И вот белка уже обрела мех. Который, правда, состарил её лет на шестьдесят и сделал из неё умудрённого жизненным опытом и измученного долгими годами стрессов и семейных неурядиц новогоднего Санту. У неё уже появился пышный хвост, большущие бакенбарды на щеках, но в то же время, как и задавалось маской I.squirrel_fur_alpha, почти отсутствует мех на руках, ногах и внутренних частях ушей. Цвета, как вы понимаете, ещё нет. Но он скоро появится. 

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

Лично я на таком раскрашивании белки мог бы и остановиться. Сказал бы, что она уже и так выглядит лучше, чем надо, поэтому концерт окончен — расходитесь по домам! Но наши неугомонные блендеристы из Peach Project — не такие простые ребята. Для них это была всего лишь треть работы. Поэтому проследим, что же они делали дальше. 

Следующий слот снова является маской. Он даже так и называется — tip mask. Однако маска эта в нём не простая, и есть на это две причины: во-первых, она градиентная; а во-вторых, накладывается по координатам strand. Что сие означает? Это указывает на то, что текстура из следующего слота должна отдавать свой цвет вдоль волосинок от корня к кончикам. Но поскольку градиент прозрачный в начале и непрозрачный в конце, значит, у корня волосинок нового цвета не будет видно вообще, а на кончиках он полностью заменит тот, что был там раньше. 

Смотрим, что находится на том слоте, который будет накладываться по этой маске (да и вообще все последующие текстуры тоже). Это текстура I.squirrel_fur_col, которая и задаёт основной цвет кончиков волосинок. Стало быть, у корней волосинки будут иметь такой же цвет, как и кожа, а на кончиках — уже совсем другой. Гениально! 

На этом основная часть раскрашивания белки закончена. Дальше идут уже украшательства, которые делают мех более реалистичным. Ещё раз хочу обратить ваше внимание на то, что всё последующее раскрашивание меха будет теперь производиться только по его кончикам, потому что на это указывает маска tip mask. Некоторые пессимистически настроенные читатели наверное уже подумали, что остальную часть текстур я отправлю вас изучать самостоятельно. Однако я ведь обещал, что буду рендерить белку вместо вас, поэтому и заканчивать её рассмотрение тоже придётся мне. :) 

Слот с текстурой spec делает именно то, о чём говорит его название — он добавляет отдельным волосинкам блеска. Для этого используется очень разрежённая процедурная текстура шума. Разрежённая для того, чтобы белка не лоснилась вся, как тюлень, только что вылезший из воды, но чтобы блестели только некоторые волосинки. На рендере этого практически не видно, однако в анимации, особенно на крупных планах, это придаёт белке неподражаемого шарма. 

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

Продолжаем спускаться ниже. 

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

И вот наступил час отрендерить нашу белку с последним включённым слотом и увидеть финальный результат, который вошёл потом в мультфильм. Текстура на самом нижнем слоте называется rough, она воздейстует на атрибут PAttr: Rough, чтобы сделать мех более скомканным и закрученным, однако кроме этого она влияет ещё и на цвет меха. А режим наложения цвета Multiply говорит о том, что белка от него снова потемнеет. Тем более, что и текстура, представленная в виде мелкозернистого коричневого шума, сама по себе далеко не самая светлая. Впрочем, бегунок Col в панели Map To установлен в 0,2, и, значит, степень затемнения будет не столь страшной, всего в одну пятую часть. 

Что ж, вот и всё. Вы наблюдаете перед собой финальный вид теперь уже полностью одетой белки. Пролистать рендеры и сравнить их между собой вы можете из файла squirrel.zip, как уже было сказано выше, а мы перейдём к изучению птицы. Вот её невинный вид из мультфильма. 

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

Откроем файл \chars\bird.blend и попытаемся разобраться, как были созданы птичьи перья. Первое, что нам тут же бросается в глаза, — на меше тела присутствуют сразу две системы частиц. Одна создаёт волоски на голове, а вторая (что бы вы подумали?) — перья! 

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

Оттащим птичий меш Bird в сторону и увидим, что крылье-хвостовые перья остались в том же месте, где и арматура. Очевидно, между ними есть какая-то прямая связь. 

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

На скриншоте выше как раз выделен такой меш для хвоста: он называется bird_feathers_tail. А внизу, в начале координат, есть перо bird_feather_tail (название почти такое же, только в единственном числе). Это перо и служит основой для хвоста. В том же месте, сливаясь с ним, находятся ещё два пера — bird_feather_wing и bird_feather_wing_med, предназначенные для двухслойных крыльев. Итого, теперь мы знаем, что для изучения материала хвоста и крыльев достаточно всего лишь изучить материал трёх отдельных перьев. 

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

Состоит он из двух частей: основного материала bird_feathers_big и некоего MatNode, которые складываются нодой Add с очень небольшим коэффициентом 0,06. Для начала изучим первый. А чтобы второй не мешал нам в это время, я ноду Add отключил. И рендеринг нательных первьев тоже — из тех же соображений. До них очередь дойдёт позже. 

Первая текстура в слоте, I.bird_feather_large, представляет из себя картинку, положенную по UV-координатам пера и назначенную на каналы Col, Nor, Ref, Spec и Alpha. Собственно, такое обилие включённых каналов не должно нас пугать, потому что функции их чётко разделены, и ничего запутанного в этом нет. Поэтому рендер одной только этой текстуры получается вполне предсказуемым. Птица обрела перья фиолетовых оттенков, с рельефом, блеcком и цветом окружения, заданными каналами Nor, Spec и Ref. 

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

Предположим, у нас есть куб, который мы решили размножить по мешевой плоскости методом DupliFace. Затем нам показалось этого мало, и мы добавили к оригинальному кубу процедурную текстуру Magic. Отрендерив модель, мы увидим вот такое изображение. 

Текстура монотонно повторяется на всех продублированных кубах. Потом мы думаем: а что это за кнопочка такая интересная From Dupli? Которая находится в панели Map Input. Давай-ка мы её нажмём? Никаких возражений! Нажимаем, рендерим и видим следующую картину. 

Это уже красивее, но в то же время и непонятно. Чтобы прояснить дело, увеличиваем текстурные координаты в 5 раз. Снова рендерим.

И вот теперь становится видно, что рисунок текстуры распределился по всем кубам. Правда, дискретно, без плавных переходов, но эффект всё равно интересный. Тогда, прояснив смысл волшебной кнопки From Dupli, мы рендерим птицу с того места, где остановились в прошлый раз. 

Хоть и слабо, но заметно, что перья стали слегка отличаться по цвету. Они могли бы отличаться и сильно, как это было на примере с кубами, однако бегунок Col в панели Map To установлен в 0,1, и это добавляет всего одну десятую часть его цветового воздействия. Ну, а режим смешивания Overlay придаёт текстуре немного контраста. 

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

Это были текстуры, а теперь займёмся материалами, которые мы до поры до времени оставили в покое. Их, как мы ещё смутно помним, было два. Основной материал bird_feathers_big и некий MatNode, которые в Node Editor складываются нодой Add с очень небольшим коэффициентом 0,06. 

Сам материал MatNode очень прост. Но есть в нём и особенности. Во-первых, полностью отключена диффузная составляющая, то есть сам материал цвета не имеет, он полностью чёрный. Во-вторых, он не принимает теней — кнопка Shadow у него отжата. В-третьих, у него настроен блеск синего цвета. В-четвёртых, он берёт нормали у материала bird_feathers_big. И в-пятых, у него рядом с бегунком Ref нажата кнопка Tangent V, что превращает материал в анизатропный. А так как отображаться будут только блеск и бамп, то они растянутся по всей поверхности материала в зависимости от положения камеры. 

Стало быть, итог такой. Цвет птичьих перьев, рельеф и отражения на них будут задаваться материалом bird_feathers_big, а вот анизатропный блеск, совмещённый с таким же анизатропным бампом будут с коэффициентом 0,06 добавляться материалом MatNode. Однако, если отрендерить птицу теперь, то эффект от действия матерала MatNode будет почти не заметен, поскольку для этого нужно поворачивать птицу под разными углами. И чтобы всё-таки приблизительно увидеть, что же там получается, я увеличил коффициент сложения материалов до 1. Рендер в этом случае получился вот таким. 

Через левое крыло птицы прошла голубоватая полоса. Такие же полоски, но поменьше, можно заметить в правом крыле и хвосте. Лучше всего они будут видны при поочередном сравнении двух скриншотов из файла bird.zip, который я специально для вас укомплектовал на сайт. 

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

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

В основном он распределяется на макушке головы, вокруг глаз и вокруг клюва. Сами настройки системы частиц не представляют из себя ничего сверхъестественного, но посмотрим также и на материал. Как показывают панель Visualization → Render, его номер — 5. Переходим в раздел материалов и переключаемся в пятый материал, называемый bird_furrystuff. 

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

Возвращаемся в панель Particle System, выключим рендеринг и отображение пуха во вьюпорте, чтобы он не сбивал нас с толку, и переключимся на систему частиц feathers body. После чего начинаем внимательно рассматривать настройки. 

Здесь мы видим такие особенности: частиц не так много, всего лишь 2004, и отображаются они в виде какого-то объекта bird_feather_body, ограниченные вертекс группой feather_body. Нас, конечно же, одолевает любопытство и хочется узнать, что входит в эту вертекс группу, поэтому переключаем меш в режим редактирования и смотрим. 

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

Теперь нас интересует, что это за секретный объект такой bird_feather_body, который стал основой для отображения частиц? Проще всего найти его в Outliner через функцию Find, после чего мы обнаружим его на слое 12 в виде огромной модели пера, в несколько раз превышающего по размерам саму птицу.

Почему птица такая маленькая, а перо такое большое, я не буду сейчас гадать. Вероятно, тут имеют место какие-то косяки риггеров с масштабированием арматуры или чего-то ещё. В любом случае, это не страшно. Главное, чтоб на модели перо сидело, как надо. И ведь оно сидит! 

Впрочем, некоторые придирчивые читатели могут заметить: как так получается, что в мультфильме птица была вся увешана перьями, а во вьюпорте мы имеем целые пустые пространства между ними? Это объясняется просто. Вернёмся в раздел частиц и на панели Children переключим параметр Amount из 0 в 30, как указано в поле Render Amount. Теперь на экране перьев будет столько же, сколько и при рендеринге. Но сам экран станет жутко тормозить. Так что лучше вернуть всё обратно. :) 

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

В том-то всё и дело, что это материал тела, а не перьев, а главное перо у нас отдельное, на слое 12. Снова найдём его там, выделим и увидим, что ему соответствует другой материал — bird_feathers_body. И он снова нодовый! Причём, дерево нодов имеет точно такой же в

11204 Автор:
Актуальность: 616
Качество: 616
Суммарный балл: 1232
Голосов: 8 оценки
Категории: Blender

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

аватар
 
супер!
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 404 уникальных посетителей