Adobe Premiere ▼
Maxon Cinema 4D ▼
DAZ Studio ▼
Поиск

Первые опыты по простейшему текстурированию ландшафта

Урок добавлен 23.04.2023

К этому уроку прилагается 3D-сцена

В предыдущем уроке мы с вами чисто теоретически рассмотрели большинство основных каналов, из которых состоят простейшие текстуры в Maxon Cinema 4D. В данном же уроке мы с вами попробуем применить полученные знания на практике.

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

В первую очередь создаём островок. Лезем в верхнюю панель инструментов Cinema 4D, нажимаем кнопку создания геометрических примитивов и в выпадающем меню выбираем примитив типа «Landscape» («Ландшафт»)...

Создаём геометрический примитив типа «Ландшафт»

...после чего в рабочем окне Cinema 4D появляется трёхмерный макет местности.

Ландшафт создан

В правой части интерфейса появляется окно свойств созданного нами объекта. Можно оставить всё как есть, но лучше, конечно, хотя бы слегка подработать макет будущего ландшафта на свой вкус. Увеличиваем детальность объекта (параметры «Width Segments» и «Depth Segments»), повышаем уровень океана (параметр «Sea Level»), и наконец, меняем сам рисунок местности (параметр «Seed»).

Настраиваем параметры ландшафта

Получается что-то вроде местности, изображённой ниже.

Финальный объект

Далее изготавливаем будущую поверхность океана. Чтобы не усложнять лишне данный урок, будем исходить из предположения, что в нашей трёхмерной сцене царит полный штиль, и изобразим поверхность океана гладкой, как зеркало (ну, почти гладкой, но об этом позже). Для этого лучше всего подходит объект «Floor» («Пол»), расположенный в подменю создания объектов источников света — данный объект в рабочем окне представлен как прямоугольник фиксированного размера, но при рендере просчитывается как поверхность, бесконечно протяжённая по двум горизонтальным осям.

Создание поверхности океана

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

Скрываем края ландшафта под поверхностью океана

Что ещё мы с вами забыли? Ах да — небо, конечно. Снова лезем в верхнюю панель инструментов, снова нажимаем кнопку меню создания источников света, но на сей раз выбираем в выпавшем из этой кнопки подменю объект «Sky» — в Cinema 4D это такая бесконечно удалённая от трёхмерной сцены сфера, окружающая эту сцену со всех сторон.

Создаём небо

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

Создаём три текстурных заготовки для ландшафта, воды и неба

Начнём с самой простой текстуры — с текстуры неба. Этой текстуре достаточно всего одного-единственного активированного канала — «Luminance» («Свечение») с более-менее сочным синим цветом в этом канале. Все остальные каналы, вроде блеска, отражения или преломления, как вы понимаете, применять к небесному своду было бы попросту нелепо.

Самая простая текстура — у небесного свода

Отредактированную текстуру цепляем курсором мыши и перетаскиваем на наименование объекта «Sky» в менеджере объектов, что расположен справа от рабочего окна.

Следующая текстура у нас будет немного посложнее — это текстура ландшафта. Для начала выберем базовый цвет поверхности ландшафта. Лично я выбрал светло-коричневый кофейный оттенок.

Выбираем цвет поверхности ландшафта

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

Переходим к делу. Ищем в канале «Color» текстуры ландшафта параметр «Texture» (в данном контектсе это переводится как «цветовой рисунок») — и видим напротив него три клавиши: одну маленькую со стрелкой, далее — длинную, похожую на компьютерную клавишу «Пробел», и наконец, совсем справ клавишу поменьше с тремя точками. Длинная клавиша предназначена для загрузки в качестве цветового рисунка растрового изображения, она нам сейчас не понадобится. Клавиша с тремя точками предназначена для загрузки в качестве цветового рисунка нового растрового изображения в случае, если ранее было загружено другое — эта клавиша нам пока тоже не нужна. Нам нужнп самая маленькая из этих трёх клавиш — клавиша со стрелочкой, её нажатие приводит к появлению довольно обширного подменю.

Выбираем цветовой рисунок для канала цвета текстуры ландшафта

В открывшемся подменю собраны так называемые процедурные текстуры Cinema 4D самых разнообразных видов. Нам с вами особенно интересны в контексте поставленной перед нами задачи процедурные шумы. Чем они так интересны? Дело в том, что, во-первых, при назначении трёхмерным объектам фото-текстур на поверхность этих объектов накладывается в виде мозаики одно и то же изображение, в результате чего нередко проявляется мозаичный эффект, при котором несложно заметить на поверхности объекта повторяющийся рисунок. А во-вторых, при переносе трёхмерных проектов с одного компьютера на другой внешние фото-текстуры необходимо также переносить вместе с проектом в виде отдельных файлов — при использовании процедурных текстур такая необходимость отсутствует, так как настройки процедурных шумов просто сохраняются в трёхмерном проекте.

Мозаичный эффект при назначении фото-текстуры

Процедурные шумы в Maxon Cinema 4D позволяют избежать этого эффекта — при использовании этого типа цветового рисунка Cinema 4D генерирует на поверхности бесшовный, а самое главное — не повторяющийся от фрагмента к фрагменту узор.

Отсутствие швов и мозаичного эффекта при использовании процедурных шумов

Для назначения каналу «Color» процедурного шума необходимо выбрать в выпадающем из кнопки со стрелочкой подменю пункт «Noise» («шум»), после чего в блоке параметра «Texture» появится окошко с изображением процедурного рисунка, на котором необходимо щёлкнуть для того, чтобы открыть окно настроек рисунка. Главная настройка в этом окне — параметр «Noise», здесь он обозначает тип рисунка. Вообще же у процедурных шумов имеется довольно внушительный список настроек, среди которых, как вы можете заметить, есть и анимационные. Особо обратите внимание на параметр «Global Scale»: масштаб процедурных текстур в Cinema 4D настраивается именно с его помощью, и если масштаб мозаики, образуемой на поверхности объекта фото-текстурой, можно настраивать в свойствах назначенной объекту текстуры в мендежере объектов, то с процедурными шумами этот номер не пройдёт!

Настройки процедурного шума в Cinema 4D

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

Как вы, наверное, помните, для пущей убедительности мы с вами собирались использовать одну и ту же текстуру сразу в двух каналах. Для канала «Color» мы с вами текстуру создали — это процедурный рисунок. Не стоит понапрасну тратить время на повторное создание точно такой же текстуры для другого канала — просто скопируем уже созданный нами в буфер памяти, нажав в коне свойств канала «Color» кнопку со стрелочкой напротив параметра «Texture» и в выпадающем меню выбрав пункт «Copy Channel».

Копируем процедурную текстуру в буфер памяти для применения в другом канале текстуры

Переходим к настройке следующего канала текстуры ландшафта — «Bump» (рельефное искажение). У нас уже имеется в буфере памяти скопированная процедурная карта, теперь активируем канал «Bump» и извлечём её из буфера в настройки канала, для чего выберем пункт «Paste Channel» в выпадающем из кнопки со стрелочкой напротив параметра «Texture» подменю.

Размещаем процедурную текстуру из буфера в настройках канала рельефного искажения

Мы с вами видим, что поверхность ландшафта стала рельефной, словно изъеденный временем базальт.

Рельеф на поверхности ландшафта

Переходим к последнему объекту — к поверхности океана. Поскольку основные принципы настройки каналов нам с вами уже известны, то ограничусь короткими рекомендациями: для текстуры воды необходимо настроить канал «Color» (цвет), «Reflection» (отражение) и «Bump» (рельефное искажение). В качестве чёрно-белой карты для канала рельефа советую выбрать какой-нибудь нейтральный тип шума с мягкими переходами, например, «Noise». Не забудьте также про канал «Specular» (блеск) — при наличии в трёхмерной сцене хотя бы одного источника света можно добиться вполне правдоподобного вида водной поверхности. Вы также можете на своё усмотрение активировать канал «Transparency» (прозрачность), но в этом случае не забудьте, что подводная часть острова у нас с вами имеет ограниченные размеры, вследствие чего сквозь водную гладь могут быть видны края ландашфта. Не стоит также забывать и о том, что наша водная поверхность — не монолитный массив, а всего-навсего плоскость.

Ну и в итоге получаем приблизительно следующее изображение.

Финальный рендер

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