Водная поверхность
Доброго времени всем, я, Шухрат Юлдашев, и в сегодняшнем уроке мне хотелось бы рассказать о процессе создания водной поверхности посредством 3ds max и дополнения Dreamscape. В конце данного урока мы получим два результа поверхности воды — в спокойную погоду и во время шторма.
Для начала несколько слов о дополнении для 3ds max — Dreamscape (от Sitni sati). Dramscape — плагин предназначенный для создания окружающей среды, (т.е. земля, вода, небо, солнце и облака) Плагин состоит из нескольких частей, а именно
Primitives:
DreamScape Terrain — генерирет ландшафты
DreamScape SeaSurface — генерирет водную поверхность
Lights:
DreamScape Sun — ист. солнечного света
Atmospherics:
DreamScape Sky — небо
DreamScape SubSurface — прозрачность воды
Materials & Maps:
SeaMaterial — материал водной поверхности
Noise Map — текстура шума
Sea Bump Map — текстура деталей (шероховатости) воды
Sea Foam Map — текстура пены воды
Terrain Map — текстура ландшафта
Daemons:
Simple Waves Daemon — позволяет создавать волны
Dynamics Daemon — позволяет стандартным объектам 3ds max взаимодействовать с водной поверхностью
Space Warps:
Engine Space Warp — используется для дополнительной симуляции водной поверхности. У каждого из вышеперечисленных свое предназначение, подробно рассказывать о них не буду .
ЧАСТЬ I
Для начала запустите приложение 3ds max. Плагин Dremscape мыслит немного своеобразно нежели сам 3ds max, поэтому для получения необходимого результата приходится играть по его правилам. Для того, чтобы наблюдать происходящее, необходимо создать камеру — эта одна из прихотей Dremscape, далее переключившись на вид с камеры (клавиша «С»).
В моем случае Camera pos [0,-90, 19], Camera Target pos [0, 4.5, 6]
Создадим небо (Dreamscape sky). Откройте панель Enviroment (клавиша 8) как показано на рис.1
После необходимо создать солнце (Dreamscape Sun) рис.2
Sun pos [130, 1000, 450], Sun target pos[80, 180, 4.5]
Смотрим результат (не забывайте просчитывать надо с вида камеры) жмем F9 или Shift + Q
Создайте sea surface в окне TOP со следующими параметрами 200×200 смотрите рис.4
Sea surface pos [0, -90, 0]
Задайте sea surface материал DreamScape SeaMaterial (Rendering => Material Editor => Standart => DreamScape SeaMaterial)
Смотрим результат (F9)
Прежде чем смотреть следующий результат, сделаем серию изменений параметров.
Для начала в меню Rendering (F10) поменяйте Output size на HDTV (video) и выберете разрешение 490X270 (Это мое предпочтение, вы можете сделать иначе)
Меняем параметры материала как показано на рис.5
Немного об измененных параметрах:
Glitter — позволяет регулировать резкость(sharp) и яркость(intensity) солнечных бликов на поверхности воды
Отражение (Reflect) — отражает объекты окружающей среды
Преломление (Refract) — прозрачность и приломление объектов
Цвет неба (Sky color) — по желанию можете выбрать цвет(User) или изменение цвета относительно цвета неба ( Use Ds sky)
Цвет дна (Underwater color) — выбрать цвет (User), прозрачность (SubSurface), Относительно цвета неба (Automatic)
Теперь изменим параметры водной поверхности (Sea Surface) как показано на рис.6
Благодоря параметру Adaptive Mesh можно использовать ресурсы компьютера экономно, а также задать более плотную сетку
Свиток Waves
Wind speed — определяет величину волны
Hight scale — определяет высоту волн
Choppy waves — определяет заострение волн
Directionality — направление волн
Smoothness — сглаживание волн
Свиток Motion
Wind from/deg — угол направления волн
Propogation factor — частота (скорость) волны
Loopable waves — повторяющиеся (цикличные) волны
Period/Frames — время цикла
Reflected waves — отражаемые волны (волны двигающиеся противоположно ветру)
Свиток Details
Grid detail — плотность сетки
Grid spacing — позволяет увеличить масштаб динамики водной поверхности
Random seed — случайный выбор положения волн
Измените цвет окружающей среды (Enviroment) (клавиша 8)
Изменение цвета окружающей среды позволяет смягчить общий вид сцены, изменяя цвета на любые другие цвета, вы сможете сами убедится в этом.
Далее меняем параметры DreamScape в свике Enviroment (клавиша 8) смотрите рис 8.
Для более полного понимания данных параметров, желательно просмотреть вспомогательный материал прилагающийся к дополнению DreamScape.
Все, смотрим результат.
ЧАСТЬ II
Теперь приступим к созданию воды во время бури. На данном этапе все объяснения сведенены к минимуму, т.к. процедура создания повторяется.
Создайте новую сцену => Небо (Dreamscape sky) =>
Солнце (Dreamscape sun) => Sun pos [0, 195, 289], Sun target pos [0, 6, 9]
Водную поверхность(SeaSurface) => Sea surface pos [-0.9, -72, 8]
Камеру Camera pos [-0.9, -72, 44], Camera target pos [1.5, -1.2, 33]
Изменяем параметры водной повехрности (SeaSurface) рис.1
Создайте симулятор волн (Simple waves) с параметрами и напрвлением указанные на рис.2
Данный симулятор волн позволит создать дополнительные волны, что сделает воду еще более неспокойной.
Теперь выберете нашу воду (Sea surface) => откройте последние два свитка Foam и Deamons, и измените параметры как показано на рис.3
В свитке Deamons выберете ранее созданный симулятор волн (Simple waves)
Пена(Foam) — создает пену на поверхности воды. В данном свитке (Foam) в части Export укажите число кадров которые вы хотите експортировать, а также место на диске куда данные файлы в последующем сохранятся.
Далее жмем на Start Export и ставим галочку на Use Exported Map. Это позволит с экономить время во время просчета.
Ну вот и все с динамикой закончили, осталось подправить немного тут, немного там. Измените параметры неба, как на рис. 4
Теперь материал воды, рис.5
И последний штрих в создании нашей воды.
Добавьте Enviroment(клавиша 8) => Add => DreamScrape:SubSurface с указанными ниже параметрами на рис. 6
Источник
Урок по созданию поверхности воды в 3ds Max
Не большой урок по 3ds max как можно быстро и без проблем создать водную поверхность 3d max. Для создания 3d воды я использовал 3Ds Max и немного свободного времени. И так приступим к созданию нашей 3d воды.
Откроем наш 3Ds Max и установим Mental Ray в качестве рендеринга. Нажмем на клавишу F10, чтобы открыть окно Render setup. Откроем в свитке закладку common и Assign Renderer и установим Mental Ray в качестве основного рендера.
Далее настроим систему координат.
Затем создадим плоскость с размерами 10м х 10м. Назовем плоскость “поверхность воды”, далее создадим источник света Target Direct light (в категории Standard) и поместим его на X = 2 м, Y = 4 м и Z = 6 м. Плоскость падения света поместим на X = -1.5 m, Y = 0 m и Z = 0.75 m, в закладке Shadows выберим Ray Traced Shadows, в закладке Directional Parameters поставим галочку возле Overshoot. Далее создадим Target Camera с координатами X = -7 m, Y = -9 m, Z = 6.25 m, и плоскость падения X = -0.175 m, Y = -1.125 m и Z =- 0.9 m.
Далее откроем редактор материалов (клавиша М). В Material/Map Browser выберем Arch & Design.
В Main material parameters вкладке Diffuse установим цвет с параметрами R = 0.439, G = 0.522 and B = 0.486 и Reflectivity to 0.7.
Далее откроем Special Purpose Maps, затем в параметрах Bump откроем Material/Map Browser и выберем Ocean (lume).
Установим параметры Ocean (lume):
Largest = 0.25m
Smallest = 0.005m
Quantity = 5
Steepness = 6.25
Plane Distance = 25 m
Directed = Yes
Direction angle =150
Wave Speed = 0
Flats = No
Затем откроем Environment и перетащим созданный градиент карты на Environment Map.
Далее откроем Gradient Parameters и установим следующие значения:
Colour#1: R = 242, G = 245 and B = 253
Colour#2: R = 107, G = 130 and B = 248
Colour#3: R = 194, G = 191 and B = 183
Colour 2 Position: 0.2
Далее выберем Environ и установим Spherical Environment.
Далее установим настройки как указанно на рисунке внизу
Источник
Моделирование водной поверхности
О моделировании водной поверхности в MAX’е написано достаточно много. Совсем простенькие примеры (вроде тех, что описаны в учебниках), если честно, производят впечатление скорее унылое. Качественная модель может потребовать значительных аппаратных ресурсов, создания специальных материалов, применения плагинов, не входящих в стандартный набор MAX и проч. Тем более обидно, если в итоге, после всех стараний и затрат, море получается. хм. мягко говоря. всё равно достаточно условным. Cтатичную картинку ещё можно «вытянуть» различными средствами компьютерной графики, но с анимацией в таком случае – просто беда. С другой стороны, анимация адекватной, но сложной модели морской поверхности может стать опять-таки проблемой, когда рендеринг одного кадра занимает хотя бы больше минуты процессорного времени.
Я попытался создать простую повторяемую анимируемую модель морской поверхности, используя стандартные материалы, стандартное освещение и стандартный рендеринг; я принял во внимание наиболее общие оптические свойства водной поверхности и постарался хотя бы имитировать эффекты, недостижимые без применения каустики (от которой я также отказываюсь ради сведения к минимуму времени визуализации); за пределами задачи остаётся и моделирование геометрии поверхности моря (а, следовательно, и крупных волн, «барашков» и проч).
Тем не менее получилась, на мой взгляд, довольно живая картинка.
Модель достаточно адекватно меняет картину водной поверхности при приближении, удалении и изменении угла наклона камеры.
В зависимости от параметров и выбора цветов источников света, фона и проч., прохладное северное море можно с лёгкостью превратить во что угодно. Оно может служить элементом какой-нибудь пейзажной композиции.
. море можно превратить в тропический океан.
. коли придет желание изобразить какую-нибудь эффектную марину:
Короче. понадобится морской клип — не обязательно отправляться на Карибы: если не всё, то многое можно нарисовать дома 😉 Тут я разместил для иллюстрации flv-ролик, но, видать, скрипт какой-то кривой — показывает через раз. Ну не Web я мастер. Впрочем, по этой ссылке ролик можно скачать и посмотреть любым flv-проектором — коли в браузере его не видно. Хм.
Особенностью этой модели является анимация специального источника света, имитирующего игру солнечных зайчиков на дне отмели. Видимо, именно эти блики (в сочетании с удачно подобранными оптическими характеристиками водной среды — отражением, преломлением и прозрачностью) и придают финальной сцене известную живость.
Поэтому при изложении приёмов построения модели я наиболее подробно остановлюсь, помимо характеристик материала воды, именно на освещении дна. В остальном же ограничусь достаточно беглым изложением этапов создания моря, благо в них нет ничего нового для освоивших азы обращения с приложением MAX. Ради воспроизводимости результата будут упомянуты (наряду с важными) в том числе и конкретные значения некоторых второстепенных параметров, мало влияющих на итог. Впрочем, какие именно параметры считать важными, а какие — второстепенными, заранее определить довольно сложно. Зыбкая это материя — морская поверхность.
Моделирование водной поверхности
Перед моделированием собственно водной глади создам виртуальный «мир» с небом и поверхностью будущего дна. Это необходимо, поскольку в будущем водоёме должно же отражаться небо; а вот там, где, по прихоти играющих волн, поверхность воды становится прозрачной, должно просвечивать дно.
Завожу геосферу радиусом 800 метров (этого, полагаю, хватит) с координатами (0,0,-105) (все линейные размеры даются в метрах).
Воздействую на неё модификатором EditPoly, выделяю все полигоны и обращаю нормали в свитке EditPoligons (это необязательно, но удобно – чтобы не беспокоиться впредь специально о том, чтобы источники освещения сцены не закрывались этой нашей «небесной твердью»). Далее применяю модификатор UVW Mapping, выбрав в его свитке Parameters опцию Spherical – чтобы иметь возможность управлять нанесением текстуры.
Текстуру для неба можно сочинить в Photoshop’е или в каком-либо другом графическом редакторе, чтобы получилось что-то в этом роде:
Надеюсь, что приёмы создания «бесшовных» картинок вами уже усвоены, если же нет – постарайтесь, чтобы камера не смотрела в неудачную часть «небес». Создаю первый материал модели – для небесной сферы. Это — стандартный материал, использующий растровую текстуру в карте Diffuse Color с весом 90, Self Illumination – 100 и значениями цветов Ambient и Diffuse 18 42 56 (голубой) и 120 190 230 (синий) соответственно. Распределение света по Blinn’у; значения для блика (Specular Level, Glossiness и Soften) — 0, 0, и 0,1 соответственно. Впрочем, поскольку в данном материале используется самосвечение на 100%, последние параметры не столь уж важны (вообще большинство параметров, равно как и выбор исходного материала для текстуры небес определяются задачей композиции и могут «плавать» в достаточно широких пределах). Присваиваю нашей геосфере этот материал (я так и назвал его «небо»). Ставлю точечный источник света. Тени отключены, интенсивность – 1, координаты – 0,0,0. Назову и его также — «небо». Единственное его предназначение – освещать купол небес
Помещаю направленную камеру с координатами x=150, y=141, z=17, объективом 46мм и «мишенью» в области x=144, y=-60, z=-15. Самое время посмотреть, что получилось в поле зрения камеры. Так, ничего особенного, всё ожидаемо… небо вроде бы готово.
Дном служит плоскость 2000м на 2000м с координатами x=162м y=10м z=-7м. Материал для дна – также стандартный. За основу я взял растр SPONGE.JPG из библиотеки 3DSMAX. но вообще-то можно использовать любое изображение каменистой или песчаной поверхности, сделав его бесшовным:
Значения Ambient и Diffuse 26 27 10 (тёмно-зелёный) и 182 219 119 (салатный) соответственно. Распределение света по Blinn’у; значения для блика (Specular Level, Glossiness и Soften) — 0, 10, и 0,1. Используются карты текстур Ambient Color (50), Diffuse Color (20) и Bump (140). В моём случае используется тайлинг 25 в свитке Coordinates и инвертирование в свитке Output каждой карты:
Но это всё, конечно, зависит от того, что именно вы возьмёте в качестве основы для текстуры дна. Присваиваю этот материал (назову его «дно») плоскости – дно готово.
Для имитации солнечных «зайчиков» на донной поверхности нам понадобится отдельный источник света с анимированной картой освещенности. Она является смесью типа Mix двух текстур типа Noice с анимированными фазами. Поскольку солнечные блики на дне – очень важная часть модели, расскажу об этом подробно (впрочем, тем, кто освоил приёмы составления и анимации сложных материалов, львиную долю моих дальнейших словопрений можно смело опустить, обратив внимание лишь на структуры карт и параметры текстур).
Итак, выделяю любую свободную ячейку в окне редактора. В моём случае это — неиспользуемый покуда материал Material #15 (вокруг ячейки появляется яркая белая рамка). Щелчком открываю свиток Maps. В раскрывшемся свитке выбираю любую карту – например, Diffuse Color:
Щелкаю по клавише None в поле карты Diffuse; в раскрывающемся окне материалов Material/Map Brouser выбираю вариант Noise и подтверждаю выбор кнопкой OK:
Установки карты типа Noise «по умолчанию», которые будут изменены, показаны обводкой. Устанавливаю новые значения: выбираю Blur – 2, Blur offset – 2, Noise Type – Turbulence, Levels – 6, Size – 800:
Для создания составного материала щелкаю по кнопке Noise, в раскрывающемся браузере материалов/карт выбираю вариант Mix, подтверждаю выбор кнопкой OK. В ответ на вопрос, что делать со старой картой и не сделать ли её компонентом новой (по умолчанию), щелкаю OK
Получаю сложный материал типа Mix, одним из компонентов которого является уже созданный мной Map #217 (Noise). В свитке Mix Parameters меняю установки как показано. Щелкаю по свитку Output и изменяю характер кривой приблизительно так, как показано на рисунке. Эта кривая определит в будущем нам вид и яркость границ сетки бликов на поверхности дна.
Возвращаюсь в свиток Mix Parameters, чтобы добавить второй компонент карты Mix, для чего щелкаю по кнопке None, в окне материалов Material/Map Brouser выбираю вариант Noise и подтверждаю выбор кнопкой OK; установки по умолчанию изменяю следующим образом:
Цвета Color#1 и Color#2 для шума устанавливаю на уровне 92 и 144 соответственно. Щелкаю по кнопке навигатора карт редактора материалов, получаю схему нашего будущего карта освещенности дна. Надеюсь, у вас получилось то же самое.
Стоит сразу же и анимировать этот материал. Проще всего это сделать так. Возвращаюсь в свиток Noise Parameters какой-нибудь из компонент нашего материала Mix (например, Color 1, в моём случае это материал Map #217 (Noise)) – щёлкаю по полю Phase и выбираю в раскрывающемся меню пункт Show in Track Vew
Раскроется редактор построения графика анимации. Каким-нибудь инструментом (например, карандашом) рисую кривую из двух точек. Затем, выделяя их, устанавливаю значения для первой, например, точки номер кадра – 0, величина фазы – (-9); для второй – 100 и 0 соответственно.
Пользуясь инструментами, которые я выделил на рисунке (не забудьте выбрать режим анимационной кривой таким, чтобы фаза менялась в области за опорными точками графика, иначе море будет «играть» только в кадрах с номерами от 0 до 100), получаю график анимации фазы для шума примерно в следующем виде:
Такой график изменения фазы шума при проекции со скоростью 15 – 30 кадров в секунду отвечает достаточно естественному изменению бликов и волн нашего будущего моря. Теперь анимационное окно Selected можно закрыть. Следует анимировать и вторую компоненту материала. В окне редактора материалов в свитке Noise Parameters только что анимированного компонента Color 1 (материал Map #219 (Noise)) окошко Phase теперь содержит красную окантовку – признак анимации фазы шума, лежащего в основе текстуры компонента. Щелкаю в поле Phase и выбираю из выпадающего меню строчку Copy Animation. Перехожу ко второму компоненту (в моём случае — это Color 2, материал Map #217 (Noise)), щелкаю правой кнопкой мышки в поле Phase и выбираю пункт Paste Animation – Instance.
Теперь у меня анимированы оба компонента сложного материала Mix. Если мне не понравится темп анимации, достаточно поправить её для одного компонента – и анимация второго претерпит аналогичные изменения (поскольку мы использовали вариант копирования Instance). Создаю новый стандартный точечный источник света, называю его «грунт». Координаты – 160, 56, 165, розоватый цвет (255, 227, 190), тени включены, тип теней – Adv. Ray. Traced, интенсивность – 0,2. Мне нужно, чтобы этот источник рисовал блики на дне – в соответствии с тем анимированным материалом, который я смастерил. В редакторе материалов я перехожу на уровень списка карт (свиток Maps), щелкаю правой кнопкой мыши по карте, где находится материал солнечных бликов (в моем случае Map 217 (Mix) в карте Diffuse Color ячейки текстур Material #15) и в выпадающем меню выбираю строчку Copy.
Теперь перехожу в свиток Advanced Effects источника света «грунт», щелкаю правой кнопкой мыши по кнопке None в области Projector Map и выбираю команду Paste (Instance) в выпадающем меню. Теперь наш источник содержит анимированную карту Map#217 (Mix), которую я создавал в редакторе материалов. Если картина бликов мне не понравится, я смогу отредактировать её в окне редактора материалов; при этом анимация источника освещения преобразуется автоматически.
Дно есть, блики есть, осталось позаботиться, чтобы источник освещения неба освещал только небо, а источник освещения дна – только дно. В свитке General Parameters источника света «грунт» в поле инструментов Shadows щелкаю по кнопке Exclude… и в раскрывающемся окне Exclude/Include выделяю объект «небеса»: мне вовсе ни к чему блики на сфере, имитирующей небо. Потом щелкаю по кнопке >> и по OK.
Окно свернётся. Далее ту же процедуру произвожу с источником света «небо», потому что мне вовсе ни к чему засвечивать дно лишним светом, предназначенном для неба. Проведу пробный рендеринг. У меня получилось вот что:
Варьируя параметры компонент материала Map#217 (Mix), я могу менять характерные размеры бликов, а трансформируя кривую распределения интенсивности компонента Color#1 (Map#217(Noise)) – толщину и яркость сетки. Вообще, есть смысл самостоятельно поменять некоторые параметры (включая коэффициент смешивания компонент) и выбрать то, что покажется наиболее подходящим.
Теперь нужно «накрыть» дно с анимированными бликами анимированной водной гладью. Создаю плоскость размерами 2000м на 2000м и координатами 0, 0, 0. Назову её «море». Исключаю этот объект из воздействия источников света «небо» и «грунт» так, как уже описывал ранее. Для создания материала водной поверхности выделяю свободную ячейку в редакторе материалов Material editor и так и называю этот материал – море. Присваиваю этот материал только что созданной плоскости. Изменяю установки по умолчанию в свитке Blinn Basic Parameters в поле инструментов Highlightes. Открываю свиток Maps и меняю «влияние» карты Bump с 30 на 20. Теперь займусь созданием материала, имитирующего волны и рябь на воде.
Щелкаю по кнопке None карты Bump вызываю броузер карт и материалов, выбираю вариант Mix.
Установки по умолчанию меняю следующим образом: клавишей Swap реверсирую цвета компонент и устанавливаю 50% смешивание будущих карт шумов, имитирующих волны и рябь морской поверхности. Щелкаю по кнопкам None компонент материала Color#1 и Color#2 выбираю в редакторе карт и материалов варианты Noise. Характеристики шумов для имитации волн и ряби указаны на рисунке: в данном случае выбран режим Fractal, цвета карты шумов Map#221 компоненты Color 2 устанавливаю на уровне 92 и 144. После этого остаётся анимировать материалы, составляющие карту Bump – чтобы поверхность моря ожила. Честно, мне лень подробно рассказывать, как это делается, тем более, что приёмы там те же, что и в анимации карты бликов на дне, а о ней я уже говорил. В этом примере я просто скопировал анимацию фазы одного из компонентов материала Map 217 (Mix) и перенёс её в компоненты материала Map 215 (Mix), формирующего текстуру Bump поверхности материала «море». Покончив с анимацией Bump’а, займусь оптикой — поглощением, отражением и преломлением.
Перехожу на 2 уровня выше, дважды щелкнув по соответствующему значку на линейке инструментов редактора материалов, и выбираю в свитке Maps следующую характеристику материала «море» — Opacity. Это очень важная характеристика материала: она обеспечивает изменение прозрачности поверхности воды. Чем меньше угол, под которым мы смотрим на водную гладь, тем менее она прозрачна, и наоборот. В свою очередь, чем дальше от камеры тот или иной участок морской поверхности, тем меньше и угол, под которым эта поверхность видна. Поэтому естественно использовать в этой карте материала текстуру типа Falloff.
В окне материала Falloff выбираю спад по Френелю и модифицирую кривую в свитке Mix Curve так, как показано на рисунке. Сбросив – чтобы волны и рябь не мешали обзору — флажок Bump в свитке Maps материала «море», стоит сделать пробный рендеринг и убедиться, что морская поверхность и впрямь становится все менее и менее прозрачной по мере удаления к горизонту. Если характер этого изменения покажется вам неестественным, можно скорректировать его, изменяя кривую карты Falloff, сдвигая границу видимости дна ближе или дальше от горизонта, регулируя степень размытости этой границы.
Вот что получилось у меня. Вроде бы сносно.
Моделируя отражение, я использую стандартный приём, когда карта Reflection составляется из материала типа Raytrace, который маскируется материалом типа Falloff, только здесь обратная ситуация: чем дальше к горизонту, тем лучше водная поверхность отражает окружающий мир (и в первую очередь небо). Составляю «каркас» материала. Для начала завожу в свитке Maps редактора материалов в строчке Reflection текстуру типа Mask. А потом то же самое делаю с компонентой материала: щелкаю по кнопке None компоненты Mask и в раскрывающемся списке карт и материалов выбираю вариант Falloff
В результате раскроется поле редакции материала Faloff. Параметры по умолчанию меняю примерно так же – но не тождественно – как я уже делал для карты прозрачности Opacity несколько раньше. Критерий подбора тот же самый: меняя характер кривой смешивания материала Falloff добиться естественного изменения отражательной способности «моря» по мере удаления поверхности воды к горизонту.
Поднявшись на уровень выше по иерархии вложенных материалов (использую значок перехода ), я вновь открываю в редакторе материалов текстуру типа Mask. Щелкаю по кнопке None компонента Map и выбираю вариант Raytraced. Работа с картой Reflection закончена: в нашем примере я не изменяю ни один параметр, установленный в этой текстуре по умолчанию.
Вот, что получилось, если в списке карт Maps материала «море» оставить активной только карту Reflection.
Материал для моря почти готов. Есть ещё одна характеристика, без которой анимация воды на ближнем плане будет неубедительна. Я имею в виду рефракцию. Эта карта, в сочетании с анимированным Bump’ом, обеспечит легкое ритмичное искажение дна, которое мы обычно наблюдаем, когда смотрим на дно сквозь спокойную, чуть колыхающуюся, прозрачную воду. Я выбрал вариант Thin Wall Refraction с параметрами Thickness 0 и Bump Map Effect 0,5. Сила воздействия этой карты — 25%. Таким образом, материал поверхности воды составлен из карт следующих текстур; их параметры я уже описал.
Пожалуй – пока не забыл – поменяю цвета материала «море»: ведь я моделирую не ласковое Терренское, не знойное Карибское, а прохладное, хоть и летнее, Балтийское море. Поэтому цвета материала я меняю с изумрудного на серый.
Чтобы в соответствующих ракурсах на волнах появились солнечные блики необходимо, натурально, светило. В качестве солнца использую стандартный точечный источник света, размещаю его приблизительно там же, где находится источник бликов на дне. Тени, интенсивность, цвет «солнца» оставляю – по умолчанию (только тени надо будет включить). Ну и исключаю из действия «солнца» всё, кроме «моря». Вот теперь настало время для визуализации. На всякий случай откройте закладку Renderer в окне Render Setup и убедитесь, что в установках визуализатора активен режим Auto-Reflect/Refract and Mirrors. А вот птичку в Antaliasing можно снять. Если понадобится увеличить качество картинки, используйте отключенные по умолчанию режимы Super Sampling: время визуализации возрастёт, зато качество результата вас наверняка приятно удивит.
Благословясь, учиняем рендеринг.
Вроде сносно получилось. Заняло всего семь секунд на компе с 2GHz процессором далеко не «навороченной» сборки минимум трехлетней давности. Обратите внимание на живописные сочетания «зеркальности» с придонными бликами в пограничных (на рубежах отражения и проницаемости) областях изломанной рябью морской поверхности. Игра света, теней и солнечных зайчиков вкупе с разбитым волнами отражением небес создаёт удивительное ощущение достоверности (не смотря на примитивные средства, использованные при моделировании).
Чтобы продемонстрировать адекватное действительности изменение свойств материала в зависимости от ракурса я поместил пару камней и анимировал положение камеры. Вот что вышло:
Модель можно использовать как своего рода исходную «болванку», варьируя характеристики освещения и теней, а равно и материалов, добавляя атмосферные эффекты и тп. В итоге можно получить, как я уже говорил, самые разнообразные результаты. Наконец, применяя известные приёмы преобразования анимируемой геометрии поверхности воды, можно дополнить её настоящими волнами и проч.
Но это уже за пределами темы… Впрочем, я, кажется, повторяюсь? Значит, самое время закругляться.
Источник