Sculpted Prims Part IV

Печать PDF

Аннотация: Данный учебный курс дает представление об инструментах текстурирования Блендера. Покажет, секреты Ambient occlusion, как запечь блики (to bake highlights), как настроить системы освещения Блендера, как использовать Редактор узлов (node editor) и, как создавать и применять карты рельефности (bump maps). Этот учебный курс охватывает все последние версии Blender до рекомендуемых в настоящее время версий 2.49b и Jass2.

Ambient occlusion (AO)модель затенения, используемая в трёхмерной графике, позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности. В отличие от локальных методов, как например затенение по Фонгу, ambient occlusion является глобальным методом, то есть, значение яркости каждой точки объекта зависит от других объектов сцены. В принципе, это достаточно отдалённо напоминает глобальное освещение. – примечание Xilion Northman.

Статья написана на базе видео-фильма:

http://streaming.the-machinimatrix.com/pub/tutorials/sculpted_prims_4/video.mp4

Оригинал статьи на английском:

http://blog.machinimatrix.org/2010/07/07/sculpted-prims-part-iv/

Транскрипция

Привет и добро пожаловать

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

В частности:

-          мы добавим ambient occlusion к объекту.

-          Мы бегло осмотрим систему освещения Блендера,

-          в итоге, мы добавим светозависимые тени и цветные световые эффекты.

-          Мы увидим, как можно добавить эффект глянца в текстуры.

-          Наконец мы увидим, как можно улучшить вид и ощущение еще больше, создавая и добавляя карты рельефности (bump-maps) нашим текстурам.

Часть I: Ambient Occlusion

Ambient occlusion отображает освещение вашей сцены только с рассеянным светом. Так как рассеянный свет независим от угла падения, АО-вычисление независимо от положения камеры и Ваших световых установок. Изменения освещения объекта производятся влиянием (occlusion) соседних объектов или самим объектом (self-occlusion) как продемонстрировано здесь.

При уменьшении угла раскрытия (aperture-angle) ребро между двумя поверхностями получает всё меньше и меньше окружающего света, поэтому визуализируется темнее и темнее. Хотя, ambient occlusion основан на искусственных расчетах, это помогает нам сделать объект выглядящим более реалистично. Так как это не зависит от положения камеры, это можно безопасно запечь (baked) в текстуру.

Теперь давайте посмотрим, как мы можем использовать ambient occlusion на нашей шляпе. К сожалению, шляпа полностью черная в данный момент, и таким образом полный эффект ambient occlusion будет по большей части невидим. Теперь позвольте нам изменить цвет шляпы на белый, и переключиться назад к черному позднее.

- Выделите тело шляпы (hat body) и перейдите в режим редактирования (edit mode).

- Удостоверьтесь, что вы находитесь в зоне кнопок редактирования (edit button section).

- Выберите черный материал, используя «material index selector».

- Кликните по области черного цвета и измените цвет на белый. Шляпа станет серой.

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


- Так что давайте вернемся в объектный режим (object mode) и выделим шляпу.

- Затем, нажав shift, выделим ленту и бант.

- Теперь копируйте выбранное, нажав: shift D,

- и немедленно кликните левой кнопкой мыши.

Сейчас мы имеем 2 отдельных объекта, точно пересекающихся друг с другом. Мы переместим один из объектов в другой слой и оставим эту копию как эталонную модель.

- Нажмите клавишу М, откроется маленькое окошко выбора слоя.

- Выберите слой 6.

Теперь Вы имеете одну копию Вашего объекта на слое 6 и другую копию на слое один. Перейдите к слою один и выделите там объект.

- Убедитесь, что Вы также выбрали UV-Tex map, которая была ведена на прошлом уроке. Мы будем использовать эту карту для продолжения работы.

- Перейдите в режим редактирования (edit mode) и выделите все вершины шляпы.

- В UV image editor создайте новое изображение.

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

- Переименуйте Ваше изображение в “AO-map”.

Переключитесь на вкладку Shading («shading tab» - F5), и там выберите кнопку «world buttons». (на видео: 4 минуты 31 секунда)

- Найдите кнопку Ambient Occlusion и активируйте её

- Сохраняйте настройки по умолчанию и только запеките (bake) карту ambient occlusion (the ambient occlusion map), перейдите к: render, bake render meshes, ambient occlusion. Генерация карты может занять несколько секунд.

Посмотрим внимательно на карту. Если Вы видите черные треугольники, это, скорее всего, потому, что мы имеем полюс в верхней части шляпы. Мы сейчас это исправим. Если присмотреться к карте, Вы увидите, что соседние объекты влияют на степень затемнения. Это так, потому что окружающий свет (ambient light) подвержен влиянию близлежащих объектов (gets occluded by near-by objects). Здесь, в частности, бант и лента. Вы также можете ясно видеть границу края. Но всё изображение выглядит немного зернистым. Для хорошей карты ambient occlusion (ambient occlusion map) мы это тоже захотим исправить.

Давайте сначала позаботимся о треугольниках.

- перейдите в режим редактирования (edit mode)

- переключитесь на группу редактирующих кнопок (edit button section – Editing F9)

- Найдите местонахождение полюса и выделите его вершины.

Вы можете посмотреть в верхнюю строку меню, чтобы видеть, сколько вершин (vertices), ребер (edges) и граней (faces) Вы выделили в данный момент. Сейчас там должно быть выбрано восемь вершин.

- Затем переключитесь к кнопкам редактирования (edit buttons – F9), и нажмите кнопку Smooth.

- Вы имеете входное отверстие на верху шляпы. Но не беспокойтесь об этом. Мы закроем его позже снова.

- Сейчас вернемся снова к разделу Shading (F5) и в World-buttons (кнопка, которую надо активировать) найдите снова вкладку Ambient Occlusion.

- Измените значение Samples на 20. Это число определит степень сглаженности Вашей карты. Но это также сделает процесс расчета карты более длительным. Не бойтесь, Вам надо сделать это только один раз, по крайней мере, до той поры, пока вы не измените модель еще раз.

- Теперь запеките (bake) ambient occlusion снова. Сходите за чашкой кофе между делом. - (на видео: 6 мин 44 сек)

Позже Вы можете решить сделать карту еще больше или использовать большее значение Samples. А пока наша карта ambient occlusion (occlusion map) достаточно хороша. Хорошая идея сохранить Ваше изображение на диск сейчас. Иначе, Вам придется заново создавать эту карту позже и Вы, вероятно, не хотите это делать часто, потому, что это трудоемкая задача.

Хорошо, теперь мы имеем ambient occlusion запеченную (baked) в АО-карту (AO-map). Мы можем уменьшить эту карту до разумного размера, скажем 512 на 512, и использовать этот результат как текстуру для нашей шляпы в second life. Затем мы можем использовать цветоподборщик (color picker) в Second Life для подкрашивания шляпы и мы закончили. Но что, если мы хотим вернуть назад красную ленту? Она не включена в АО карту (AO map)?

Давайте посмотрим, как можно запечь текстуры и АО карту (AO map) всё вместе.

- идем в режим редактирования (edit mode)

- и выберите все вершины (vertices).

- теперь измените текстуру Вашей шляпы.

- Вы, возможно, хотите теперь создать новое изображение с разумными размерами. 512х512 пикселей должно быть достаточно.

- И, наконец, только запеките (Bake) текстуру. (на видео: 8 мин 03 сек)

Ок, мы ждем, как же это произойдет. При активации Textured в закладке Draw Type мы получим полностью белую шляпу с красной лентой. Смотрим, как эти разные модели выглядят сейчас. Почти вся трехмерная информация исчезла. Переключайте вперед и назад между АО картой (the AO-map) и текстурой. Смотрите, как хорошо подчеркиваются особенности этой трехмерной модели с ambient occlusion картой (ambient occlusion map)? Теперь было бы неплохо иметь и то и другое? В текстуре? Цвет и ambient occlusion? Здесь есть приём:

- Убедитесь что вы в режиме редактирования (edit mode), и все вершины выделены.

-также убедитесь, что вы выбрали текстуру основной части шляпы (hat-body texture) в редакторе изображения.

- Затем идите в раздел «Shading» - F5.

- Выберите «material buttons». (на видео: 9мин 02 сек)

- Теперь найдите стек texture (texture stack), и добавьте новую текстуру в неё.

- Назовите это «AO-texture».

- Перейдем к Texture buttons - F6 и выберем Image в Texture Type.

- В появившемся окне выбора выберите AO-map.

К настоящему времени мы добавили АО-карту (AO-map) в стек texture и это снова время выбрать: render » bake render meshes » texture only (Texture onlyздесь не происходит повторной отрисовки меша, только повторное чтение текстур, т. е. перерисовываются только текстуры покрывающие меш – примечание Wib Daxter)

Таким образом, это не то, что мы ожидали. Чего здесь не хватает? Ambient occlusion был сгенерирован с использованием скульптурной UV-карты (sculpties UV-map). Это было выполнено молча и автоматически, когда мы запекали (baked) AO-карту (AO-map). И это было хорошим решением, потому что ВЫ могли использовать на Вашем скульпте только АО-карту без модификаций. Но сейчас мы применим эту текстуру как изображение. Итак, Блендеру надо знать, как этим обернуть вашу модель вокруг. И это делается следующим образом:

- Перейдите к material buttons,

- Выберите AO texture (если это еще не выбрано).

- переключитесь на закладку Map Input,

Активируйте кнопку UV и определите, какая UV-карта (UV-map) будет использована для запекания (baking). Конечно, это та же самая карты, которую мы использовали перед запеканием (baked) АО-карты (AO-map), то есть “UV-Tex”.

-Теперь снова запеките только текстуру (bake texture only). (на видео: 10 мин 43 сек)

В итоге, Ваш основной материал текстуры (base material texture) + АО-карта (ambient occlusion map), беспрепятственно объединены. Но подождите, мы еще не закончили! Красная лента всё еще не отображает ambient occlusion. Почему так? Пока Вы применили АО-карту только к Вашему черному материалу. И материал шляпной ленты пока еще не видит её. Так давайте исправим это сейчас. (на видео: 11 мин 12 сек)

- Перейдем в раздел Editing (F9)

- Теперь выберите материал шляпной ленты, используя material index selector.

- Перейдем к Material buttons.

- В коробке выбора Texture (texture-selection box) выберите уже существующую АО-текстуру. Созданная ранее АО-текстура повторно использована для шляпной ленты. Но нам надо еще переключиться на закладку map input (map input tab), и…

- активируйте кнопку UV (UV-button), и прикажите Блендеру снова использовать UV-Tex карту (UV-Tex map).

- и в итоге делаем еще раз: render » bake render meshes » texture only. (на видео: 11 мин 53 сек)

И большое разочарование, шляпная лента снова исчезла. Почему это? Мы попали в ловушку. Кое-что ускользнуло от нашего внимания. Давайте вернемся к кнопкам Shading (F5) и проверим также закладку Map To секции material (section of the material). Мы видим в наборе тип смешивания (blend type) выбран Mix (речь о выпадающей менюшке texture blending mode – прим. переводчика). Так что здесь смешивается? Всё что в этом стеке выше текущей текстуры будет с ней смешано. Но так как нет ничего выше текущей текстуры в стеке, взамен берутся основные настройки Material. Результат смешивания определяется значением цветовой переменной (color variable) – (речь о Sets the amount the texture affects color values (Col 1.000) – прим. переводчика). Текущее значение установлено на 1 и таким образом текущая текстура в стеке полностью замещает то, что там было раньше.

Так что ни шляпная лента, ни белая основная часть шляпы не рассчитываются (rendered). И лишь АО-карта видна сейчас. У нас есть несколько вариантов дальнейших действий. Простое решение - изменить значение Mix до 0.5 сделает то, что подразумевает название. Это смешает основной материал (base material) и АО-карту в соотношении 50% на 50%. Но этот выбор создаст размытую текстуру. (на видео 13 мин 17 сек)

Для улучшения шляпной ленты можно использовать способ смешивания “Overlay”. И установить цветовую переменную на 1. Это приведет к гораздо более четкому определению цвета, и к тому же будет содержать ambient occlusion.

Другим и, вероятно, лучшим выбором было бы использование АО-карты как коэффициента (multiplier) на шляпной ленте. Так она влияет только на яркость текстуры. Вам придется поиграть с цветовой переменной до получения подходящего результата. Наконец, сделаем снова материал черным:

- идем в Editing (F9)

- переключаемся на материал шляпной основы (hat-base material)

- и делаем шляпу (hat-base) черной.

- В настройках «Map to» корпуса шляпы установить значение цвета (color) 0.5.

Результатом будет темно серая шляпа с видимой ambient occlusion.

До сих пор мы создавали текстуры, которые содержали наши основные настройки материалов, а, именно, black hat-body и hat-band. Мы добавили ambient occlusion, используя только AO-карту как текстуру в текстурном стеке. И сейчас мы хотим добавить некоторые дополнительные эффекты освещения. И запечь (bake) их в текстуру.

Настройка света (Light setup). (на видео: 14 мин 43 сек)

Давайте сначала посмотрим, что мы видим сейчас в настройках света Блендера по умолчанию. Сделаем это кликая: Render, bake render meshes, full render.

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

Мы будем использовать всего 4 источника света. В процессе производства мы хотим получить приблизительное представление о том, как освещение будет влиять на нашу текстуру. Мы можем использовать в выпадающем меню «Draw type» кнопку «Shaded». Этот режим симулирует световые эффекты в реальном времени. Но будьте здесь осторожны. Если Ваш компьютер не быстр или, если модель содержит много поверхностей, или Вы добавили много источников света в вашей сцене, режим «Shaded» может начать потреблять слишком много ресурсов компьютера. Так что, если Блендер тормозит, вы должны уменьшить любой из ранее упомянутых параметров настройки.

- С вашей настройкой Shaded в Draw type, перейдите в секцию Shading (F5).

- там переключитесь на Lamp buttons.

- перейдите к виду сверху (top view). Это поможет Вам найти хорошее место расположения. Наконец, добавьте новый полусвет кликая на Add, Lamp, Hemi.

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

- Теперь уменьшайте значение «Dist» до тех пор, пока розовая линия не станет равна расстоянию между лампой и моделью.

- идем в вид сверху и добавляем еще два полусвета под углом плюс 120 градусов и минус 120 градусов относительно первой лампы.

Вот быстрый способ сделать это: (17 мин 14 сек)

- поместите 3D курсор наверх шляпы (on top of the hat).

- В закладке “Pivot” выберите 3D-курсор.

- Выберите полусвет (Hemi-light) и сделайте копии нажимая: SHIFT-D,

- Немедленно вслед за левым кликом мышки нажмите клавишу R, и введите 120 с клавиатуры.

- Сделайте еще одну копию только что созданного света и поверните это снова на 120 градусов.

- Наконец, добавьте четвертый свет, который будет освещать шляпу сверху.

Сейчас установите “Texture” в закладке “Draw type”, чтобы увидеть, что Вы будете запекать (bake).

- Затем выберите шляпу и начните новое полное запекание (full bake), чтобы увидеть что изменилось.

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

Запекание Зеркальности (Baking Specularity) (18 мин 35 сек)

Вернемся к Solid в Draw type. Вы сейчас видите зеркальные отражения на шляпе. Эти отражения полностью зависят от точки взгляда с позиции камеры. С другой стороны мы можем только добавить статическую информацию к текстуре, которая независима от точки зрения с позиции камеры. Но мы можем тут прибегнуть к уловке. Мы можем создать узел основного материала? (node based material) и использовать информацию зеркальности (specularity information) для изменения текстуры. Но будьте осторожны, уловка не всегда дает ожидаемый результат. Вам надо будет провести некоторые эксперименты, чтобы выяснить, как надо установить свет, чтобы получить отражения там, где Вы желаете, чтобы они были? Если этой уловкой пользоваться аккуратно она может добавить интересные эффекты Вашему конечному результату. В конце концов, надо помнить, что это фальшивое отражение, которое может вызывать помехи, взаимодействуя c механизмом обработки изображения «Second Life» (Second Life rendering engine).

В любом случае давайте попробуем это прямо сейчас. Если у Вас не получиться с первого раза, то пробуйте снова и снова. Это намного проще, чем кажется.

Итак, здесь мы следуем:

-          Убедитесь, что Вы выбрали черный материал корпуса шляпы,

-          перейдите в раздел «Shading» (F5),

-          Найдите расположение вкладки «Links and Pipeline», и включите «Nodes» (узлы).

-          Теперь этот материал является основанным узлом (is node based) и Вы можете изменять его, используя редактор узлов (node editor). (оригинал: Now this material is node based and you can modify it by using the node editor.)

-          Так давайте разделим экран и откроем редактор узлов (node editor). (на видео: 20 мин 10 сек)

Вы видите две коробки. Левая коробка узел материала (material node). Другая коробка – монитор, отображающий получающийся материал.

Теперь мы заменим material node на extended material. Мы делаем это, потому что обычный материал не имеет канала зеркального блеска, в то время как у расширенного материала он есть.

- Так удалите material node сначала, выбрав его,

- и затем нажав клавиши «х» или «delete».

- И добавьте extended material (жмем на кнопки): Add, Input, Extended Material.

- Теперь добавим смеситель (mixer), нажимая пробел (space bar), затем Add, Color, Mix. Нам нужен миксер для того чтобы смешать информацию зеркального блеска с информацией цвета.

- Вы видите, что узел миксера (mixer node) уже был связан с узлом материала (material node). Мы немного изменим связь, переключив соединение от Defuse на Spec (Specularity – зеркальный блеск). Фактически мы просто кликаем на выход Specularity и перетаскиваем (drag) связь на Color2 - вход узла миксера (mixer node), после чего отпускаем кнопку мыши. Теперь связь изменена.

- Мы соединяем миксер (mixer) c выводящим узлом (out-node), кликая на выход Color миксера (mixer),

- затем перетаскиваем (drag) на вход Color узла Output,

- и, в конце концов, отпускаем кнопку мышки. (на видео: 21 мин 41 сек)

Сейчас были установлены узлы, но узел материала (material node) всё еще должен быть связан с существующим материалом (existing material). Идем в узел материала (material node) и там выбираем черный материал из коробки выбора (selection box). Теперь узел основного материала (node based material) готов к работе. И наконец, снова: render, bake render meshes, full bake и смотрим Ваши результаты. Убедитесь что в закладке Draw type выставлено Textured, чтобы увидеть результаты вашего запекания (bake). Теперь мы кое-что получили. Существует еще много возможностей для улучшения, но теперь шляпа выглядит намного интереснее. Так, с применением зеркального блеска шляпа приобретает гораздо более четкий контур. Давайте сделаем еще одно усовершенствование. Посмотрите на верхний край корпуса шляпы. Там Вы видите эффект зеркального блеска, но он не очень корректный. Причина в том, что модель использует низкополигональную сетку (mesh), но текстура должна быть создана с сеткой (mesh) более высокого разрешения и затем «запекаться к низкополигональной сетке (mesh)». (The reason is that the model is using a low poly mesh but the texture should be created with a much finer mesh and then “baked to the low poly mesh”.) Мы вернемся к этой технике позже. Пока мы можем только увеличить число уровней Subsurf на один или два, и затем снова выполнить полное запекание (full bake).

-          Идем в Editing (F9).

-          Находим стек модификаторов (Modifiers stack).

-          Повышаем значение Render Levels на 2 (в фильме значение 3 изменяется на 5).

-          И теперь запекаем (bake). Это даст Вам значительное улучшение. (на видео: 23 мин 11 сек)

После запекания (baking) все мелкие детали, таким образом, видны в текстуре и поэтому Вы можете получить мелкие детали, не увеличивая количество поверхностей меша только запекая их в текстуру и используя эту текстуру на Вашей низкополигональной модели (low poly model).

Теперь поиграем с освещением и посмотрим как эффект зеркального блеска меняется от параметров настроек света. Например, Вы могли бы получить немного неожиданности (Adventurous) и расцвечивания (Colorise) Вашим огням. (For example you could get a bit adventurous and colorise your lights). Убедитесь, что Вы находитесь в секции Shading (F5) и в Draw Type выбран «Shaded», чтобы контролировать изменения в режиме реального времени. Также позаботьтесь о том, чтобы в сумме все огни давали более или менее белый цвет. Например, используйте один свет красный, второй зеленый и третий синий. И фактическую «окраску» (effectively «paint») на Вашей шляпе с Вашими световыми источниками. (And effectively “paint” on your hat with your light sources.) Проверьте результат, пройдя к Textured в Draw Type и начав новое полное запекание (full bake). (на видео: 24 мин 19 сек)

И теперь пришло время проверить текстурный стек (texture stack) и добавить еще структур к Вашей поверхности (surface).

Реалистичный верх шляпы будет сделан из фетра или похожего материала. Давайте сейчас попробуем получить такую текстуру для нашей шляпы. Мы постараемся изложить здесь методологию получения текстуры: We will try a procedural texture here.

- Выберите черный материал (black material) в секции кнопок редактирования (edit button section),

- Затем идем в Shading (F5),

- и там переключаемся к текстурному стеку (texture stack), создаем новую текстуру, и называем её «фетр» («felt»).

- переключаемся к Texture buttons (F6) и выбираем тип текстур (Texture Type) «Voronoi».

Теперь выполните полное запекание, чтобы увидеть то, что получилось.

Ok, это еще один сюрприз. Почему шляпа стала тёмно-розовой с черными пятнами?

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

Сейчас идем:

-          Найдите регулятор размера фона (noise size setting) в секции настроек текстурных кнопок (texture button settings).

-          Измените значение на 0.02 или любое другое значении по своему вкусу.

-          Переключитесь к секции Material buttons.

-          В таблице Map To измените второй цвет с розового на белый.

-          Затем запекайте (bake) снова.(на видео: 26 мин 12 сек)

Размер пятен всё еще слишком велик. Так что давайте изменим его в секции map-input.

-          Измените настройки размеров от 1 до 40 по всем осям (x, y, z).

-          Затем снова запеките (bake).

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

- идем в секцию Map-To,

- там отключаем “Col” (Color) и включаем “Nor” Normal.

- Это значит, что текстура больше не изменяет цвет Вашей модели, но теперь оказывают влияние нормали (affects the normals).

- Величина эффекта может быть установлена значением “Nor”, которое мы установим приблизительно равным 1.5.

- Теперь запекаем (bake) снова и смотрим.

- Ok, попробуйте уменьшит значение эффекта зеркального блеска, фетр не блестит. (на видео: уменьшают значение Spec (Specularity) с 0.570 до 0.2)

- И запекайте (bake) снова.(на видео: 27 мин 37 сек)

Так используя noise-texture как карту нормалей (normal map) мы создали материал схожий с фетром. Мы еще можем найти улучшения, и это могут быть гораздо лучшие методы. Если вы знаете интересные методы отображения фетра, не стесняйтесь сообщить нам их.

Карты рельефности (Bump Maps).

Теперь вернемся к красной ленте. Она по-прежнему выглядит как нарисованная на шляпе. Мы постараемся сделать так, чтобы она выглядела как обернутая вокруг шляпы. Конечно, мы могли смоделировать эту деталь в самом меше (mesh).

Но я покажу вместо этого, как мы можем добавить детали более высокого разрешения к низкополигональному мешу (low poly mesh) используя карту рельефности (bump map). Но прежде чем перейти к практике я дам Вам краткое представление о том, что происходит за занавесом:

Пожалуйста, помните, что эта шляпа была создана с 8 поверхностями по оси X, и 8 поверхностями по оси Y. Поэтому в Блендере это сделано только из 64 поверхностей. Но в Second Life, мы считаем 32 раза по 32 поверхности, то есть мы там видим 1024 поверхности. Все эти дополнительные поверхности были рассчитаны с помощью Subsurf-модификатора (subsurf-modifier). Затем они были преобразованы в итоговую скульптурную карту (sculptie-map) в процессе запекания скульпта (sculptie-baking). В порядке осмотра того что получилось мы скажем блендеру показать нам сейчас эти дополнительные поверхности прямо на модели. Но вместо использования оригинальной модели мы взамен создадим еще одну копию и будем работать на копии.

- идем в объектный режим (object mode).

- Убедитесь что шляпа выделена.

- Также выберите источники света (lights). Через несколько секунд они нам понадобятся.

- затем жмите SHIFT-D, и сразу кликайте левой кнопкой мыши.

- Нажмите горячую клавишу М, и переместите копию в слой 5. (29 мин 40 сек)

Теперь мы скопировали нашу модель плюс световые настройки в слой 5. Переключитесь в слой 5 и выделите корпус шляпы (hat-body).

-          Идем в секцию кнопок редактирования (edit button section – Editing (F9)), и находим стек модификации (modifier stack).

-          Там Вы найдете Subsurf модификатор (Subsurf modifier). Убедитесь, что число уровней имеет значение 2 (речь о Number subdivisions to perform).

-          Затем нажмите кнопку «Применить модификатор» (modifier’s apply button).

-          И наконец, переключитесь в режим редактирования (edit mode). (на видео: 30 мин 12 сек)

То, что вы видите сейчас почти идентично тому, что будет позднее импортировано в Second Life. Теперь модель сделана из 32х32 поверхностей. Таким образом, есть немного больше пространства для более детализированного моделирования. Но давайте проведем эксперимент. Давайте добавим другой Subsurf модификатор (subsurf modifie) и увеличим значение Number subdivisions to perform до 3, и затем применим модификатор. Теперь у нас есть очень высокополигональная модель (high poly model), которая содержит гораздо более 64000 поверхностей. Более того я выбрал такие числа что мы можем использовать текстуру размером 256х256, то есть в итоге с ровно одним пикселем изображения на поверхность модели. Теперь давайте применим немного помех (noise) к высокополигональной модели (high poly model). Мы включаем инструмент пропорционального редактирования (proportional edit tool), и выбираем случайный спад (random fall-off). Затем мы выбираем только одну вершину, и повышаем или понижаем, одновременно всё более и более, увеличивая диапазон изменений (edit range). Как только шляпа похожа на ёжика, мы останавливаемся и выполняем полное запекание (full bake), того что мы сейчас имеем. Сейчас текстура содержит световые эффекты неровной поверхности (noisy surface). (на видео: 31 мин 40 сек)

Теперь переключитесь на слой один и посмотрите, как эта же текстура выглядит на низкополигональной шляпе (low poly hat). Так низкополигональная шляпа выглядит сходно с высокополигональной моделью, во всяком случае, до определенной степени. По крайней мере, Вы видите, что Вы можете, в принципе использовать текстуру для добавления некоторых мелких деталей к Вашему объекту без фактического добавления вершин и граней к Вашему мешу (mesh).

Но мы также можем повернуть весь процесс вверх тормашками. Вместо использования высокополигональных моделей в качестве источника и запекания результатов в текстуры мы также можем использовать специальные, обычно, черно-белые текстуры, где значение цвета каждого пикселя текстуры определяет точное смещение поверхности (surface) вдоль нормали грани (normal face) соответствующего расположения. (на видео: 32 минуты 29 сек)

Блендер поддерживает карты рельефности (bump-maps), карты нормалей (normal maps), карты смещения (displacement maps).

Карты рельефности (Bump maps) могут использоваться для моделирования, что мы только что показали с нашей высокополигональной моделью. Блендер будет создавать виртуальную точку меша (virtual meshpoint) для каждого пикселя карты рельефности, и поднимать или опускать эту виртуальную точку меша вдоль нормали вершины (vertex normal) в зависимости от цвета пикселя. В результате карта рельефности имитирует поверхность с гораздо большей детализацией, чем на самом деле поддерживается мешем. Таким образом, карта рельефности может улучшить низкополигональные меши, дав им казаться гораздо более структурированными, чем они на самом деле есть.

Карты нормалей (Normal maps) очень похожи на карты рельефности (bump maps), но они вместо шкалы оттенков серого изображения используют RGB-изображение (цветное изображение) для размещения вершин. Поэтому карты нормалей могут быть использованы для перемещения виртуальных точек меша произвольным способом. Таким образом, мы можем сказать, что карты рельефности особый вариант карты нормалей, где изменение происходит только вдоль нормали вершин (along the vertex normals). (на видео: 33 мин 34 сек)

Карты смещения (Displacement maps) непосредственно изменяют меш во время запекания. В отличие от карт рельефности этого типа карты не могут добавлять мелкие детали в текстуру. Величина смещения снова напрямую зависит от значения серой шкалы соответствующих пикселей в карте. Черный будет перемещать вершину внутрь вдоль нормали вершины, в то время как белый будет смещать вершину наружу. Так эффект карт смещения (displacement-maps) может всегда быть достигнут также непосредственным моделированием самого меша. Карты смещения представляют меньший интерес, когда приходится иметь дело с запеканием текстур (dealing with texture baking). Но, тем не менее, я покажу Вам хороший пример, где мы можем использовать их для наших целей. Обратите внимание, что Ваша модель не изменена полностью. Только в ходе запекания этот процесс применит карты смещения, вычисляя текстурную карту (texture map) соответственно изменениям меша и либо вычислит результаты для визуализации в окне или (как в нашем случае) для запекания текстуры.

Кратко говоря: карты рельефности добавляют виртуальные выступы и складки к Вашему мешу с направлением выступов всегда вдоль нормалей вершин. Разрешение прямо пропорционально размеру текстуры карты рельефности. Карта нормалей как карта рельефности, но позволяет произвольное направление рельефа. Карты смещения непосредственно управляют точками вершин меша (mesh-vertex points) и таким образом не добавляют больше деталей. Мы уже использовали карты рельефности, когда создавали текстуру фетровой поверхности. Там мы настроили Блендер использовать текстуру помех (noise-texture) как карту нормалей с помощью этого мы симулировали высокополигональную поверхность (high poly surface). (на видео: 34 мин 33 сек)

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

- удаляем высокополигональную шляпу из слоя 5. Мы в ней больше не нуждаемся.

- выбераем шляпу в слое 1,

- делем копию корпуса шляпы и помещаем её в слой 5.

- Выделяем шляпу в слое 5 и переходим в режим редактирования (edit mode).

- переключаемся к красному материалу ленты (red hat-band material).

- Переключаемся к секции кнопок Shading (F5).

- создаем новый материал, называемый белая шляпная лента, и делаем его белым.

- отключаем кнопку Nodes и отключаем все текстуры на текстурном стеке (texture stack).

- в режиме редактирования (edit mode – Editing (F9)) проверяем, что вершины шляпной ленты теперь соединены с новым материалом.

- переключаемся к черному материалу. (на видео: 35 мин 58 сек)

- Снова идите в раздел Shading (F5), создайте новый материал, отключите кнопку Nodes и отключите все текстуры в текстурном стеке.

- Теперь выбираем все вершины, и в редакторе изображения (кнопка Image),

- создаем новое изображение размером 1024х1024. Назовем его band-bump-map.

- затем: render, bake render meshes, texture only. (на видео: 36 мин 34 сек)

Теперь мы построили карту рельефности. Нам надо применить карту к шляпе сейчас:

- переключаемся обратно в объектный режим (object mode), и затем выберите слой один.

- Выберите шляпу.

- затем выберем материал шляпной ленты

- и переключимся на секцию кнопок Shading (F5).

- Там, добавим новую текстуру и назовем её band-bump-map (карта рельефности ленты).

- идем в настройки текстуры.

- там, установим тип текстуры: Image.

- и загрузим band-bump-map.

- теперь переключимся на кнопки Shade (на видео идет переключение на Material buttons).

- на вкладке Map-input tab, включаем UV, и вписываем “UV-Tex”.

- в map-too-section, отключаем Color (цвет), и включаем Normals (нормали).

- используйте для нормалей значение около 20. (на видео: 37 мин 37 сек)

Теперь Вы можете: render, bake render meshes, full render. Эффект не очень заметен, но это работает. Однако, мы можем получить немного преимуществ (advantereous?) и попробовать использовать эту карту как карту смещения. Помните что процесс запекания (baker) сначала применит стек модификатора (modiefer stack) перед запеканием (baking). Поэтому мы фактически имеем 32х32 поверхностей, доступных для смещения (displacement).

- Так уменьшите значение Nor (нормалей) ниже 2,

- И включите кнопки disp (disp button) в настройках Map To.

- Установите значение смещения примерно равным 0.15

- затем еще раз выполните полное запекание (full bake).

И наконец, шляпная лента выглядит подобно действительно слепленной в 3D. И это то, что мы хотели достичь. Давайте добавим некоторые горизонтальные линии к ленте. (на видео: 38 мин 40 сек)

- в секции Edit (edit-section F9), убедитесь, что Вы выбрали материал красной шляпной ленты (red hat-band-material).

- в секции Shading (F5) добавьте другую текстуру. Назовите её шелк (silk).

- идем в секцию Texture, устанавливаем Texture Type на: облака (Clouds).

- идем обратно в раздел Shading (F5), затем в закладке Map Input (Map Input tab), установите все значения на Y в координатной карте (coordinate map).

- Также включите UV и установите UV-Tex как карту.

- наконец, установите значение Y на 10. Эта настройка создаст горизонтальные полосы.

- В Map-To секции, выключите Цвет (Color) и включите нормали (Normals).

- используйте значение 5 для нормалей (Nor).

- Теперь render, bake render meshes, full bake. (на видео: 39 мин 40 сек)

К сожалению, мы заканчиваем. Последняя текстура этой обучающей программы готова к импорту в Second Life.

С этого момента Вам может потребоваться много времени для экспериментов и улучшений. Я не показал все доступные возможности текстурирования в Блендере. Я только коснулся поверхностно.

В частности:

- Мы создали карту ambient occlusion для объектов.

- Мы бегло взглянули на систему освещения Блендера (light system),

- и мы добавили светозависимые тени (light-dependent shadows)

- и цветные световые эффекты (colored light effects).

- Мы нашли способ запечь эффект зеркального отражения (specular-reflection effect).

- И наконец, мы улучшили вид и реалистичность еще больше, создав и добавив карту рельефности (bump-maps) к нашим текстурам.

В интернете Вы можете найти сотни хороших учебников по текстурированию. Освоив основы этой обучающей программы, Вы без проблем освоите другие учебники. (на видео: 40 мин 40 сек)

А теперь наслаждайтесь текстурированием и получайте удовольствие. Увидимся позже.

Дополнительные рекомендации (Extra hints).

Если вдруг запеченные текстуры (baked textures) больше не обнаруживаются в 3D вьювере, то Вы стали жертвой бага который иногда случается в Блендере.

Что здесь происходит: Иногда, когда Вы находитесь в режиме текстур (texture mode), Вы не видите результата на своей модели сразу после запекания Вашей текстуры. И здесь есть способ, как можно обойти эту проблему, если это случилось с Вами:

- идем в режим редактирования (edit mode)

- в UV image editor включите paint mode (режим рисования),

- и кликните по текстуре. Сейчас Вы добавили цветное пятно на текстуру и как побочный эффект вся текстура так же будет видна на модели.

- используйте control-z для того, чтобы убрать только что созданное пятно с изображение (в оригинале revert - вернуть в прежнее состояние). Это не удобно, но это помогает, по крайней мере, двигаться дальше. Даже лучшей альтернативой для решения этой проблемы является сохранение Вашей работы в .blend файл (File -> save) затем закрыть Блендер, перезапустить его, вновь открыть только что сохраненный .blend файл. Проблема также устранится.

Перевод этой статьи осуществлен Денисом Граденко (Denis Gradenko):
https://www.xstreetsl.com/modules.php?name=Marketplace&MerchantID=684471

Я не профессиональный переводчик, поэтому прошу не судить мой труд строго. Буду очень признателен всем, кто найдет возможные неточности в переводе и сообщит о них мне лично через IM Second Life для улучшения качества перевод данной статьи. Также я выражаю благодарность своим друзьям, оказавшим мне поддержку при переводе данной статьи: dimm Torok, Katrina Kristan. Natali Zeplin, Pride Novaland и Web Gearbox. Особую признательность я выражаю Xilion Northman, Wib Daxter, терпеливо разъяснившим несколько не понятных лично мне терминов. Друзья, мне приятно учиться вместе с Вами, переводя эти статьи, поэтому я надеюсь, что продолжение следует…

{jcomments on}