Точкой отсчета для этого учебного пособия являются два кирпича из предыдущего моделировочного мастер-класса. Вы найдете исходный файл в пакете рабочих файлов к этому уроку. В моделировании кирпичей Lego практически нет недочетов, но игрушка выглядит намного реалистичнее, если на ней также видны следы использования, такие как мелкие царапины, потертые края и матовые участки.
Настройка обратного шейдинга AO
Как упоминалось вначале, Обратная окружающая окклюзия (IAO) предоставляет нам участки, наиболее подверженные следам использования. Чтобы мы могли правильно оценить работу шейдера, давайте сосредоточимся сначала только на IAO. Зеленый кирпич Lego, конечно, подходит на роль опытной работы, поэтому в соответствующем зеленом материале этого кирпича на странице Базового временно отключаем все активные материальные каналы и вместо них активируем канал Света.
В канале Света материала мы открываем через кнопку Текстура меню Шейдера и выбираем в подменю Эффекты шейдер Окклюзия окружающего освещения. Таким образом, обратная окружающая окклюзия представлена не как самостоятельный шейдер, а как маленькая, но утонченная настройка в обычном шейдере Окклюзия окружающего освещения.
После загрузки шейдера Окклюзия окружающего освещения мы немного увеличиваем масштаб в режиме Редактора, приближаясь к кирпичу Lego и запускаем первый тестовый рендеринг. Поскольку шейдер AO работает в нормальном режиме, мы естественно получаем тени на кирпиче Lego.
Для наглядного сравнения двух методов работы мы открываем шейдер Окклюзия окружающего освещения кликом по кнопке Шейдера или раскрыв меню Текстура и сначала активируем опцию Противоположное направление.
Запускаем еще один тестовый рендеринг в режиме Редактора и теперь видим окклюзию окружающего освещения, работающую в Противоположном направлении. Как показывает сравнение двух рендерингов, IAO не просто обратная AO, а совершенно новый метод работы. Однако найденная IAO пока что не совсем подходит для наших целей, поэтому пора заняться настройкой.
Поскольку следы использования наших кирпичей должны находиться в основном на углах и краях, ярко выраженные серые области на поверхностях мешают. Поэтому первым шагом мы уменьшаем Максимальную длину лучей до 30 см.
Для оценки эффекта этого изменения снова делаем тестовый рендеринг в режиме Редактора. Темные области теперь, как и планировалось, присутствуют в основном на углах и краях кирпича Lego, однако серые области могли бы быть еще темнее.
Это мы делаем с помощью ползунка цвета в шейдере Окклюзия окружающего освещения. Мы перемещаем черный регулятор градиента немного вправо, чтобы усилить темные области.
При этом мы также активируем опцию Только собственные тени. Поскольку синий кирпич лежит на зеленом, это нежелательно повлияет на расчет AO.
Как показывает последующий тестовый рендеринг, изменения действительно сработали и мы можем приступать к созданию следов использования с помощью готового Обратного AO-шейдера.
Расширение шейдера для следов использования
Мы остаемся пока что в канале Света, так как этот тип отображения уже доказал свою эффективность для оценки IAO-шейдера. Чтобы мы могли обрабатывать готовый IAO-шейдер другими шейдерами, вызываем через кнопку Текстура на шейдере Окклюзия окружающего освещения шейдер Плоскости.
После нажатия на кнопку Шейдера шейдера Плоскости мы переходим в режим управления плоскостью шейдера. Созданный нами IAO-шейдер уже лежит там как плоскость. Через кнопку Шейдер... создаем вторую плоскость со шейдером Шум.
С стандартным шумом мы, конечно, не будем рады своим следам износа. Нажав на маленький предпросмотр шейдера, мы попадаем в настройки шейдера Шум и выбираем там тип Нутус, который намного лучше подходит. Мы используем 80% в качестве глобального размера, оставляя остальные параметры по умолчанию.
Щелкая по стрелке, указывающей вверх, в верхнем правом углу, мы снова переходим к управлению слоями и видим там, что шейдер Шум полностью перекрывает шейдер Окружающая окклюзия из-за режима смешивания.
Однако нам действительно нужен шейдер Шум, чтобы целенаправленно модифицировать шейдер ИАО - эту задачу для нас выполняет режим смешивания Левр.
Как именно это отразится на шейдере инверсной окружающей окклюзии, мы узнаем в тестовом рендеринге. Поскольку шейдер Шум воздействует на шейдер ИАО на 100%, результат слишком контрастный, грубые средние тона не присутствуют.
Однако в диалоговом окне настроек шейдера Слой это легко исправить. Значение 40% для режима смешивания Левр оставляет достаточно средних оттенков.
Используя эту готовую комбинацию шейдеров, мы наконец применяем следы износа на наших 3D-конструкторах Lego.
Поскольку мы все еще находимся в канале Осветление, а хотим использовать наш шейдер следов износа в других материальных каналах, мы копируем его через меню Шейдер в кнопке Текстура с помощью команды Копировать шейдер/изображение.
Создание следов износа через альфа-канал
В Cinema 4D, как известно, есть много путей к цели. Мы могли бы использовать наш шейдер следов износа, например, в канале Цвет как Слой. В этом учебнике я выбрал альфа-канал, чтобы мы могли работать достаточно гибко, наложив различные материалы.
На странице Базовые зеленого материала Lego мы отключаем более ненужный канал Осветление и снова активируем каналы Цвет и Отражаемость. В обоих материалах Lego мы активируем альфа-канал для нашего шейдера следов износа.
Поскольку мы хотим использовать шейдер следов износа для обоих кирпичей Lego, мы выделяем оба материала Lego в Менеджере материала, чтобы иметь возможность редактировать их одновременно. В активированном альфа-канале мы вставляем наш шейдер следов износа через команду Вставить шейдер/изображение из меню Шейдер кнопки Текстура.
После вставки шейдера следов износа для обоих материалов нужно отключить параметр Альфа-изображение, чтобы шейдер, загруженный как текстура, был правильно интерпретирован.
Основные материалы для следов износа на наших кирпичах Lego готовы. Если мы запустим тестовый рендеринг, мы увидим, что на выделенных посредством ИАО областях наших Lego-кирпичей нет материала. Для достоверного нанесения грязи этого было бы вполне достаточно.
Материал для следов износа
Однако в этом учебнике должно идти речь о потертых местах и царапинах. В то время как первые два материала Lego покрывают неповрежденную поверхность, два других материала должны описывать следы износа. Для этого я уже подготовил в Менеджере материалов два немного светлых зеленого и синего материалов. Мы отказываемся от создания отражений, генерируемых каналом Отражаемости, на обоих материалах, чтобы подчеркнуть матовый, стертый вид.
Мы назначаем оба материала Lego путем перетаскивания из Менеджера материалов в Менеджер объектов соответствующим кирпичам Lego и следим за правильным порядком Тегов. Поскольку новый материал следов изнаса должен находиться как слой ниже неповрежденного материала Lego, его Текстурный тег находится слева в Менеджере объектов.
На следующем тестовом рендеринге отчетливо видно, что на всех выделенных участках есть наш чуть светлый материал Lego. Теперь наши Lego-кирпичи выглядят не грязными, а изношенными от игры.
Теперь мы позаботились о пластиковых стружках, вызванных игрой, однако может случиться, что игрушка подвергается более грубому обращению и при этом покрывается вмятинами и царапинами. Здесь нам помогает созданный нами шейдер следов использования. Для случая, если шейдер уже не находится в нашем буфере обмена, мы просто копируем его из альфа-канала материала Lego по команде Шейдер/Копирование изображения в меню Шейдер-кнопки Текстур-.
Затем мы выбираем два светлых материала из истощенной версии материала через Менеджер материалов и активируем на вкладке Основа окна настроек для обоих материалов канал Рельеф.
После этого мы вставляем скопированный шейдер в качестве текстуры в канал Рельеф обоих материалов через команду Шейдер/Вставить изображение в меню Шейдер-кнопки Текстур-.
На основе шейдера для следов износа мы легко можем создать вариант для вмятин и царапин, сгенерированных через канал Рельеф. Мы знаем, как работает режим наложения Смешивание, поэтому должны немного увеличить контраст, чтобы снизить полученный таким образом Bump-Map на царапины. Увеличиваем уровень Смешивания до 60%.
Чтобы еще больше разделить царапины, мы открываем настройки Шум-шейдера и устанавливаем там Отсечение снизу на 30%. Как показано в предварительном просмотре, светлые области будут целенаправленно обрезаны или снижены.
Таким образом, настройка шейдера для вмятин и царапин уже выполнена, поэтому нам остается только установить силу канала Рельеф - я оставил стандартное значение 20%. Новые функции Параллакс-высоты в версии 18 упоминаются только для полноты картины, для данного случая не видно никакого различия в качестве.
Я не хочу дальше пытать Lego-кирпичи в этом уроке. Как показано на макрофотографии, маленькие царапины и выколотости придают Lego-кирпичам желаемую заключительную «шлифовку», ...
... что значительно повышает правдоподобие нашего окончательного рендеринга.