рис. 1-1
рис. 1-2
Итак, вы уже создали объект для облаков. Вполне возможно, что генератор случайных чисел уже назначил (сделал случайную выборку из хранящихся в библиотеке текстур) какой-то материал объекту, но не факт, что объемный. Если назначен поверхностный материал, то преобразуйте его в объёмный.
Опять сделаю отступление для будущих исследований читателям моего урока. Вы можете сразу назначить какой-нибудь объемный материал облаков из библиотеки и, изменив его, получить бесконечную последовательность для Slab.
Но мы пойдем другим путём. Сразу с нуля начнём создавать облака. Заходим в Materials Lab и настраиваем параметры Value и Volume как на рисунке. Параметры Color пока оставляем по умолчанию. Режим отображения в окне предпросмотра можно выбрать Actual Selection, чтобы сразу иметь хотя бы приблизительное представление о том, что получается. Выбираем режим затенения Basic Shading и режимы теней как на рисунке.
рис. 1-4
Параметр Base Dencity - главный в производстве объемного материала. Именно в него загружается процедурная текстура, образующая в данном случае облака. Он также отвечает за плотность облачного покрытия. Если вдруг вы обнаружили в окне предпросмотра или при визуализации участка сцены, что получилась каша, сплошной облачный покров, то начинайте уменьшать этот параметр до получения результата.
Параметр Edge Softness смягчает края облаков.
Параметр Fuzzy Factor влияет на плотность объемного материала. При его увеличении облака выглядят легкими, бестелесными, почти прозрачными.
И, наконец, Quality/Speed (качество/скорость) влияет на качество прорисовки облаков. Чем выше качество, тем больше время просчета сцены при рендере и наоборот. Мы пока начнём со значения 0. Я обычно останавливаюсь на значении 10-20. Чем больше размер картинки при рендере, тем виднее всякие огрехи текстуры. Для более мощных машин можно увеличить этот параметр.
Итак, отметим каналы Diffuse, Ambient (в обоих каналах можно и образцом цвета окрашивать облака). А также, собственно, главный канал, в котором и творится эта кухня погоды - объёмные облака. И заходим в великий, ужасный, могучий и неведомый редактор насыщенных текстур (Deep Texture Editor) или DTE. Для удобства работы я размещаю объекты DTE как на рисунке, перетащив их мышью, взявшись за свободные поля.
рис. 1-5
Текстуры в DTE складываются из трёх компонентов. Результат показывается в четвертом окне. Нам пока нужен только первый компонент. Для этого в левом верхнем углу выберите 1-й, а 2-й и 3-й отключите.
Генератор шумов. Сразу отмечу, что тип шума и режим модуляции можно выбирать любой. В результате можно получить как реальные облака, так и экзотические объекты. Не мудрствуя лукаво, мы выбираем самый обычный режим (Standard) и непрерывный случайный шум (RND Continuous), которые весьма подходят для нашей цели. Для этого просто щелкните на надписях и выберите нужный из выпадающих списков. Вращение в плоскостях XY и YZ в данном случае 90, но вы можете потом выбрать любые и посмотреть, как меняется рисунок облаков. Частоту по осям выбираем как на рисунке, но это тоже не принципиально в данном случае. Приемлемые результаты я получал при частоте от десятков до сотен. Качественный результат зависит от многих других факторов. Число октав выбираем 6. Это тоже не принципиально. В других случаях, при других типах шума я начинал с 3-х и проверял результат. Число октав - это число гармоник как в музыке или математике. Добавление высших гармоник привносит в звук дополнительный красивый тембр, окраску звука при основной ведущей ноте. В редакторе шума в данном случае при увеличении числа октав смягчается и размывается трехмерная объемная текстура. Наконец, ставим переключатель числа измерений на трехмерную текстуру 3D.
Отмечу, что понятие фаза не входит в тему данного урока, поэтому её мы трогать не будем. Чтобы урок был повторяем, просто установите её значение на 0.
Переходим к фильтру. Его тип также выбирается из выпадающего списка. Выбираем Clip aX+b, наиболее часто применяемый и вполне подходящий для нашей задачи. Сразу же отмечу, что тип фильтра и значения его параметров существенно и решающим образом влияют на результат. Установим приблизительно a=-1, b=1, потянув мышью за числовые значения. Точные значения таким образом установить затруднительно, ввода с клавиатуры не предусмотрено, да это и не нужно. Различие в 3-м и дальше знаке после запятой практически незаметно на результате. Значение параметра "c" в данном случае не играет роли.
Не забывайте следить за положением переключателя на палитре шума и фильтре. В нашем случае он установлен в положение для редактирования первого компонента текстуры.
Переходим к режиму наложения цвета.
рис 1-6
Для этого сначала настроим результирующее 4-е окно текстуры. Щелкнув по треугольнику, выберем из списка None. Это означает, что цвет здесь не назначается. Для первого компонента выбираем режим Linear Interpol3. При данном режиме все три компонента цвета участвуют в окраске текстуры. Справа в окне компонента три кнопки C (цвет), A (альфаканал) и B (bump). Последний сразу же отключаем, для производства облаков он не нужен. Канал A для нас самый главный. Именно значение альфаканала (среднего окошка в Materials Lab) и формирует наш объемный материал облаков в канале Base Density. Цвет текстуры формируется в нашем случае тремя составляющими окон выбора цвета в левой части компонента.
Здесь сделаю еще одно отступление. Когда вы будете работать в генераторе шума, менять его частоту и прочие параметры, а также менять параметры фильтра, то в интерактивном режиме будет изменяться вид текстуры в текущем и результирующем компонентах. Для того, чтобы наблюдать истинный вид текстуры и иметь представление о происходящем процессе, кнопку C (цвет) необходимо временно отключить! Оставьте только A.
Вернёмся к назначению цвета. Не все помнят о том, что цвет можно назначить, щёлкнув кнопкой мыши в окне выбора цвета и не отпуская её перетащить курсор в любое место экрана и там отпустить. Цвет пиксела, над которым вы отпустили кнопку мыши назначится данному компоненту цвета. Таким способом мы назначим черный цвет двум нижним окнам выбора цвета в 4-м компоненте текстуры. Эту необязательную операцию я проделываю для того, чтобы эти цвета не вводили в заблуждение. Они всё равно не участвуют в процессе, поскольку мы назначили режим None. Но верхний, у меня на рисунке жёлтый, очень даже участвует! Когда цвет отключён во всех трёх компонентах текстуры (кнопки C отжаты), то при включённых в Materials Lab каналах Diffuse, Ambient и/или других каналах Color именно этот цвет (в нашем случае жёлтый) будет влиять на окраску объекта. Если же каналы Color в Materials Lab отключены, то на окраску объекта будут влиять образцы цвета, установленные в этих каналах.
Назначим всем трем образцам цвета первого компонента текстуры свои значения. Я рекомендую использовать палитру HLS (цвет, интенсивность, насыщенность). Для этого поочерёдно щёлкнем на каждом образце цвета сверху вниз с нажатой клавишей Alt, выберем палитру HLS и введём числовые значения как на рисунке. Преимущество палитры HLS в том, что сразу можно выбрать нужный цвет из спектра, а затем уже подобрать его яркость и насыщенность.
рис 1-7
Как каждый образец цвета влияет на окраску объекта в режиме Linear Interpol3, я не буду описывать, а отсылаю читателя к книге С. Китченс и В. Гавенда "Bryce для дизайнера". Ну, или сами можете попробовать разные варианты.
Включите кнопку C, подтвердите все изменения, вернитесть в Materials Lab и установите масштаб (частоту повторения) текстуры в Edit Texture по всем осям 45%. По окончании урока можете изменить это значение и посмотреть, что из этого выйдет.
Собственно, урок закончен. Подтвердите все изменения в Materials Lab и визуализируйте сцену. Если вы всё сделали правильно, то у вас должно получиться примерно следующее.
рис. 1-8
Снова зайдите в лабораторию материалов и сохраните этот материал облаков в свою пользовательскую папку. Также зайдите в DTE и аналогично сохраните полученную текстуру в нужную папку. Не рекомендую пользоваться папками User. При переустановке программы содержимое этих папок стирается. Нужно создать папки в пресетах под другим названием.
В заключение несколько советов.
Попробуйте подвигать и повращать из вида сверху Slab и посмотреть , как при этом меняется характер тени на местности.
Попробуйте увеличить параметр Quality/Speed до 10-20, если позволяет мощность вашего компьютера, и посмотреть на результат. Время визуализации при этом увеличится. Увеличение параметра также следует делать при рендере больших форматов, т. к. низкое качество особенно заметно.
Поиграйте также с остальными параметрами Volume и посмотрите на результат.
Задайте в образце цвета канала Volume какой-нибудь, отличный от белого, цвет и посмотрите, как окрасились облака. Этот канал отвечает за окраску внутренней части всего объёма объекта.
Цвет канала Transparent не влияет на окраску объекта, но влияет на цвет тени, отбрасываемой прозрачным объектом.
Попробуйте поиграть параметрами Diffusion и Ambience. При уменьшении первого и увеличении второго контраст облаков сглаживается, что соответвтвует яркому дневному освещению. Впрочем, на всё это влияет ещё состояние атмосферы, цвет света солнца и другие факторы. Но это не входит в тему данного урока.
Для оценки общего вида облаков визуализируйте 360° панораму в соотношении примерно 2:1. Можно также в процессе работы переключаться в режиссерский вид для пробной визуализации. Для этого поднимите камеру режиссерского вида очень высоко и посмотрите на облака сверху. Чтобы было лучше видно, отключите дымку и туман. Процедурные облака тоже можно отключить.
рис 1-9
В следующем уроке предполагается рассмотреть двухкомпонентную процедурную текстуру для создания объемных облаков.
С уважением, Slepalex.